tern icon indicating copy to clipboard operation
tern copied to clipboard

Using Tern with create-react-app apps / Tern webpack-resolver out-of-date?

Open ELLIOTTCABLE opened this issue 6 years ago • 1 comments
trafficstars

So, I'm not entirely sure, but it looks like perhaps create-react-app's react-scripts' Webpack config is doing something a little more complicated than Tern's Webpack plugin can understand?

Here's the .tern-project config I tried, basically from this reference:

{
  "libs": [
    "browser"
  ],
  "loadEagerly": [],
  "dontLoad": [],
  "plugins": {
    "modules": {},
    "webpack": {
      "configPath": "./node_modules/react-scripts/config/webpack.config.js"
    }
  }
}

I get this error-message:

$ NODE_ENV=development tern --verbose
test-proj/node_modules/react-dev-utils/ModuleScopePlugin.js:22
    resolver.hooks.file.tapAsync(
                   ^

TypeError: Cannot read property 'file' of undefined
    at ModuleScopePlugin.apply (node_modules/react-dev-utils/ModuleScopePlugin.js:22:20)
    at Resolver.apply (node_modules/tern/node_modules/tapable/lib/Tapable.js:375:16)
    at node_modules/tern/node_modules/enhanced-resolve/lib/ResolverFactory.js:248:12
    at Array.forEach (<anonymous>)
    at Object.exports.createResolver (node_modules/tern/node_modules/enhanced-resolve/lib/ResolverFactory.js:247:10)
    at getResolver (node_modules/tern/plugin/webpack.js:58:26)
    at Object.webpack (node_modules/tern/plugin/webpack.js:76:18)
    at exports.Server.loadPlugin (node_modules/tern/lib/tern.js:219:31)
    at new exports.Server (node_modules/tern/lib/tern.js:128:12)
    at startServer (node_modules/tern/bin/tern:168:16)
    at Object.<anonymous> (node_modules/tern/bin/tern:163:14)
    ...

Reproduction:

nodenv local 10.12.0
npm install --global yarn [email protected]

npx create-react-app test-proj && cd test-proj
jq -n -j '.["plugins"]["webpack"]["configPath"] = "./node_modules/react-scripts/config/webpack.config.js"' > .tern-project
NODE_ENV=development tern --verbose

Possibly-relevant version numbers:

Node: 10.12.0 (reproduces on v8.x.x, as well) Tern: 0.23.0 create-react-app: 2.1.2 react-scripts: 2.1.2 Webpack: 4.19.1

ELLIOTTCABLE avatar Jan 02 '19 14:01 ELLIOTTCABLE

How about webpackDevServer.config.js

./node_modules/react-scripts/config/webpackDevServer.config.js

othree avatar Jan 23 '19 10:01 othree