New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parsing of import()
fails in 4.29.0 (Compilation issue, related to dynamic import)
#8656
Comments
same here, downgrading to 4.28 works
|
Same issue here. All calls to |
Same problem. Im using vue cli 3.3 (now updated) and get this problem.
|
Same here, works fine when I downgrade to
|
Worth mentioning this doesn't manifest when installing packages using |
Same on my side... |
Running these commands fixes the problem in your repro @Dbuggerx
It seem to be a npm problem. Here is an explanation:
Normally this works fine, but in your repo npm created a tree like this:
Note the deduped
I claim that npm should not hoist Running the commands above fixes the problem as it pushes all acorn dependency to the same version and allowing to hoist the acorn dependency in webpack too. It's more a workaround, but should work. It changes the tree to:
|
import()
fails in 4.29.0)
import()
fails in 4.29.0)import()
fails in 4.29.0 (Compilation issue, related to dynamic import)
Thanks for the explanation @sokra! I can't try the workaround right now (will do it as soon as I get home and will let you know). |
Workaround with npm didn't seem to work in a vue cli project Steps taken:
Output from npm ls acorn
can confirm downgrade to previous version issue does not persist |
Workaround with npm didn't with React using Suspense and lazy |
Workaround worked for me: |
Here is an alternative workaround: add @EvanBurbidge I would be interested if using |
Steps taken:
It worked for me !!! @sokra |
@sokra works with yarn. When installing acorn still no joy with npm. Getting the following warning.
Steps Taken:
|
downgrade to |
This comment has been minimized.
This comment has been minimized.
@WhatIsSpark Nice~~ |
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io>
* Remove incompatible npm package Attempts to upgrade Angular reported that the "ngrx-tslint-oftype" package was not compatible. But this package was only needed for preparing a particular ngrx transition between versions, so its work is done and it can be removed. Signed-off-by: michael sorens <msorens@chef.io> * `ng update` generated changes Signed-off-by: michael sorens <msorens@chef.io> * Reverted typescript from 3.5.3 to 3.4.5 The update of @angular/core failed because it found 3.5.3 -- that the upgrade had installed itself. I edited the package.json from ^3.4.5 to ~3.4.5 to keep it to 3.4.x, then npm install, and it updated this package-lock.json. Signed-off-by: michael sorens <msorens@chef.io> * @ViewChild fixes These are auto-generated from: ng update @angular/core --from 7 --to 8 --migrate-only Signed-off-by: michael sorens <msorens@chef.io> * @angular/material fixes These are auto-generated from: ng update @angular/material --from 7 --to 8 --migrate-only Signed-off-by: michael sorens <msorens@chef.io> * Try to fix npm issue webpack/webpack#8656 (comment) Add acorn to package.json. Signed-off-by: michael sorens <msorens@chef.io> * Import fresh wallaby.js Commit 060eccd8d6e72997b769e7ddb8570d50e310d43b from https://github.com/wallabyjs/ngCliWebpackSample/o dated 2019-07-09 Signed-off-by: michael sorens <msorens@chef.io> * Re-apply Chef customization from old wallaby.js Signed-off-by: michael sorens <msorens@chef.io> * Import fresh wallaby.js (again) After I submitted an issue, they updated the config file for Angular 8. wallabyjs/public#2141 Signed-off-by: michael sorens <msorens@chef.io> * Import fresh wallaby.js (one more time) Wallaby team adjusted the config file again; this time it worked. wallabyjs/public#2141 Signed-off-by: michael sorens <msorens@chef.io> * Update angular-devkit deps Signed-off-by: Scott Christopherson <scott@chef.io> * Update router-store initialization Signed-off-by: Scott Christopherson <scott@chef.io> * Re-sync after rebase * Minor fix Signed-off-by: michael sorens <msorens@chef.io> * Use the updated action types in routerReducer ngrx/platform@466e2cd#diff-c0c42c418c07609d7feedc294175d164 * Configure route serializer via StoreRouterConnectingModule Old way still works but the new way is how it's currently documented now and it requires less imports. * Lint cleanup Teardown the kludgy lint command needed to filter out the deprecated deprecation (really!) of `select`. Also suppress one essentially invalid lint complaint. Signed-off-by: michael sorens <msorens@chef.io> * Fix compile error in e2e (protractor) tests Was getting this error: e2e/compliance-reporting.e2e-spec.ts(2,10): error TS2305: Module '"...e2e/helpers/accessibility_helpers"' has no exported member 'expectUrlToBeAccessible'. Not clear what the problem was but this change fixed it Signed-off-by: michael sorens <msorens@chef.io> * Upgrade lots of npm packages Ran `npm update` and got package updates shown. Also includes just one code change needed to get a successful build. All unit tests pass. + @angular/cdk@8.2.0 + @angular/cli@8.3.5 + @angular-devkit/core@8.3.5 + @angular-devkit/schematics@8.3.5 + @angular/forms@8.2.7 + @angular/material@8.2.0 + @angular/animations@8.2.7 + @types/faker@4.1.5 + @angular/platform-browser-dynamic@8.2.7 + @angular/language-service@8.2.7 + @angular/platform-browser@8.2.7 + @angular/router@8.2.7 + @angular/core@8.2.7 + @angular/compiler@8.2.7 + @types/jasminewd2@2.0.6 + ajv@6.10.2 + @types/lodash@4.14.138 + codelyzer@5.1.1 + axe-webdriverjs@2.3.0 + d3@5.12.0 + install@0.12.2 + @types/node@10.14.18 + core-js@2.6.9 + karma-coverage-istanbul-reporter@2.1.0 + karma-firefox-launcher@1.2.0 + karma-jasmine-html-reporter@1.4.2 + lodash@4.17.15 + rxjs@6.5.3 + moment@2.24.0 + @angular/common@8.2.7 + ngx-cookie@4.1.2 + karma@3.1.4 + @types/jasmine@2.8.16 + tslib@1.10.0 + sass-lint@1.13.1 + tslint@5.20.0 + rxjs-tslint@0.1.7 + sniffr@1.2.0 + tslint-defocus@2.0.6 + wallaby-webpack@3.9.15 + diff2html@2.11.3 + @angular-devkit/build-angular@0.801.3 + typescript@3.6.3 + @angular/compiler-cli@8.2.7 added 397 packages from 78 contributors, removed 283 packages, updated 242 packages, moved 24 packages and audited 18418 packages in 134.542s Signed-off-by: michael sorens <msorens@chef.io> * More npm package updates Signed-off-by: michael sorens <msorens@chef.io> * and still more package updates Signed-off-by: michael sorens <msorens@chef.io> * Tighten version lock to patch only @types/jasmine - generated error from `make unit`: Per https://stackoverflow.com/a/57592510 need to wait for a patch jasmine-core - just too new; came out yesterday! let's wait a bit on this one tyepscript: generated error from `make server` that it needed angular < 3.6 so locking it at 3.5 until a later angular release Signed-off-by: michael sorens <msorens@chef.io> * Fix build warning Warning message for the two SCSS files: "start value has mixed support, consider using flex-start instead" Signed-off-by: michael sorens <msorens@chef.io> * Add reference comment Signed-off-by: michael sorens <msorens@chef.io> * Suppress ngrx runtime checks warnings ``` WARN: '@ngrx/store: runtime checks are currently opt-in but will be the default in the next major version with the possibility to opt-out, see https://ngrx.io/guide/migration/v8 for more information.' ``` Signed-off-by: Scott Christopherson <scott@chef.io> * Suppress momentjs parse warning ``` WARN: 'Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info. ``` The test is purposefully testing an invalid string passed to `moment`. The warning is expected. Signed-off-by: Scott Christopherson <scott@chef.io> * Suppress unhandled router promise warning ``` ERROR: 'Unhandled Promise rejection:', 'Cannot match any routes. URL Segment: 'projects/uuid-1'', '; Zone:', 'ProxyZone', '; Task:', 'Promise.then', '; Value:', Error: Cannot match any routes. URL Segment: 'projects/uuid-1' Error: Cannot match any routes. URL Segment: 'projects/uuid-1' ``` Signed-off-by: Scott Christopherson <scott@chef.io> * Ensure ui-lib is installed w/ other dependencies Unit tests fail to run if ui-lib assets are not installed. ``` ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--15-3!./src/styles.scss) Module build failed (from ./node_modules/postcss-loader/src/index.js): Error: Failed to find 'assets/chef-ui-library/chef/chef.css' in [ /go/src/github.com/chef/automate/components/automate-ui/src ] at resolveModule.catch.catch (/go/src/github.com/chef/automate/components/automate-ui/node_modules/postcss-import/lib/resolve-id.js:35:13) @ ./src/styles.scss 1:14-241 @ multi ./src/styles.scss ``` Signed-off-by: Scott Christopherson <scott@chef.io> * Reduce unit test noise WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?' This was being generated by the following components: - ClientRunsComponent - ServiceGroupsComponent - ReportingComponent - HttpClientAuthInterceptor The warning stems from this issue introduced by Angular 7: angular/angular#25837 The first two components are fixed by this commit, cutting the test "noise" in half. Unfortunately applying the same fix to ReportingComponent breaks several unit tests. And I have not yet found the place to hook into to fix HttpClientAuthInterceptor. Signed-off-by: michael sorens <msorens@chef.io> * One more pass of `npm update` Have to move fast to keep on top of these changes. This pass did these updates: $ npm update + @angular-devkit/core@8.3.6 + @angular/common@8.2.8 + @angular/cdk@8.2.1 + @angular/cli@8.3.6 + @angular-devkit/schematics@8.3.6 + @angular-devkit/build-angular@0.803.6 + @angular/compiler-cli@8.2.8 + @angular/language-service@8.2.8 + @angular/platform-browser@8.2.8 + @angular/core@8.2.8 + @angular/platform-server@8.2.8 + @angular/material@8.2.1 + jasmine-core@3.5.0 + @types/lodash@4.14.141 + @angular/forms@8.2.8 + @angular/platform-browser-dynamic@8.2.8 + @types/node@10.14.19 + @angular/router@8.2.8 + codelyzer@5.1.2 + @angular/compiler@8.2.8 + @angular/animations@8.2.8 Signed-off-by: michael sorens <msorens@chef.io> * Document package.json constraints Certain few packages are specifically not updated to their latest versions. As package.json cannot contain comments, I documented the reasons in the next best thing, the readme. Signed-off-by: michael sorens <msorens@chef.io> * Suppress ngZone warnings in reporting.component.spec ``` applyParamFilters()✔ parses multiple filters✔ parses single filters✔ parse interval INFO: 'getEndDate calling router.navigate' INFO: 'getEndDate calling router.navigate' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?'✔ parse bad end date INFO: 'getDateInterval calling router.navigate' INFO: 'getDateInterval calling router.navigate' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?'✔ parse invaild interval 2 INFO: 'getDateInterval calling router.navigate' INFO: 'getDateInterval calling router.navigate' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?'✔ parse invaild interval 1 INFO: 'getDateInterval calling router.navigate' INFO: 'getDateInterval calling router.navigate' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?' WARN: 'Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?'✔ parse bad interval ``` The `getEndDate` and `getDateInterval` methods call `router.navigate` which seems unexpected for methods that are named for getting and returning a value. * Suppress ngZone warnings in service-groups.component.spec Signed-off-by: Scott Christopherson <scott@chef.io> * Suppress ngZone warnings in client-runs.component.spec Signed-off-by: Scott Christopherson <scott@chef.io> * Remove unused routing-helper Ended up not needing it after refactoring specs to not rely on calling through `router.navigate`. Signed-off-by: Scott Christopherson <scott@chef.io>
…#11640) ## Description This addresses #11198. There's a regression bug webpack/webpack#8656 affecting 4.29.0 through at least 4.29.3 which causes errors like this during `gatsby build`. Error: ./.cache/async-requires.js 8:11 Module parse failed: Unexpected token (8:11) You may need an appropriate loader to handle this file type. | exports.components = { | "component---frontend-components-main-js": function componentFrontendCompo nentsMainJs() { > return import("/home/circleci/project/frontend/components/main.js" | /* webpackChunkName: "component---frontend-components-main-js" */ | ); @ ./.cache/production-app.js 18:0-45 21:23-36 26:23-36 <!-- Have any questions? Check out the contributing docs at https://gatsby.app/contribute, or ask in this Pull Request and a Gatsby maintainer will be happy to help :) --> ## Related Issues - Addresses #11198 - Related to webpack/webpack#8656
Just in case someone ends up here like I did, here's the state of affairs (as far as I can tell), to save some scrolling.
My team has had success by removing our package-lock.json and our node_modules folder and re-npm-install-ing, but it's not clear that that'll work for everyone (we probably just got lucky with how NPM decided to resolve peer dependencies for us). We'll probably end up migrating to Yarn, which doesn't seem to have this problem. |
Solved (for me)Hopefully this will work for others as well. My dev team mate and I was able to fix my issue based on the explanation from @sokra. In short: the order that the dependencies are installed, matter. Here is my acorn dependency tree:
The problem occurred when I had to start working from home and I pulled the repo onto my local machine. All of that was fine, but I figured out later that in this case, it was the order that the npm packages were installed made all the difference. At work, the But when I installed all the packages at home, The SolutionTo solve the problem, I did the following:
So the solution for me was to remove references for any packages that may be the cause of the conflict, install everything else first, then install those other needed packages. This way the order of the dependencies that all packages need are using the best possible versions of the package. Hopefully this will work for others. |
I am facing same issue, @salemhilal. Is there any update on this ? |
@dushyantec71 the backscroll is helpful here. This isn't a problem with Webpack, but with NPM. You can either try and shuffle around your |
I did |
We have been pinned to an older webpack for a while due to webpack/webpack#8656, which is really an NPM bug that gets tickled by the particular set of deps that come into play with webpack 4.29. But we can't stay pinned forever. The [npm bug](https://npm.community/t/packages-with-peerdependencies-are-incorrectly-hoisted/4794/13) is effectively wontfix because NPM gets peerDeps wrong at a really deep level. Hopefully enough other deps have shifted by now that the bug doesn't manifest often.
ghghghghghg |
hjjhjhjhjhjhjhjhjh |
Bug report
What is the current behavior?
I've updated to v4.29.0, and my code is no longer compiling.
Error:
If I revert to v4.28.2, it works again.
If the current behavior is a bug, please provide the steps to reproduce.
https://github.com/Dbuggerx/react-book-search-sample.git
npm i
and compile the code (npm run start-server
ornpm run start
) - it should workWhat is the expected behavior?
It should compile the code without errors, as it was doing on v4.28.2
Other relevant information:
webpack version: v4.29.0
Node.js version: v10.15.0
Operating System: Fedora linux 29
The text was updated successfully, but these errors were encountered: