Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
121 views
in Technique[技术] by (71.8m points)

node.js - Parcel SemVer bug

So, I've used Parcel multiple times before and I've never had an issue with it. This time it throws some stupid errors about SemVer versioning and I'm literally loosing my mind trying to find a solution which would fix this problem.

I've started new project: installed npm w/ npm init (no additional options), then installed parcel npm install --save-dev parcel-bundler and then created my folder structure:

--node_modules
--index.html
--index.js

Here is my package.json:

{
  "name": "playground",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "parcel index.html"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "parcel-bundler": "^1.12.4"
  }
}

I've configured default npm script to run parcel: "dev": "parcel index.html" and run it. Everything works fine, however when I connect my index.js in index.html via <script src="/index.js"></script> it throws big fat error, saying:

D:workingSpaceplaygroundindex.js: Invalid Version: undefined
  at new SemVer (D:workingSpaceplayground
ode_modules@babelpreset-env
ode_modulessemversemver.js:314:11)
  at compare (D:workingSpaceplayground
ode_modules@babelpreset-env
ode_modulessemversemver.js:647:10)   
  at lt (D:workingSpaceplayground
ode_modules@babelpreset-env
ode_modulessemversemver.js:688:10)        
  at D:workingSpaceplayground
[email protected]:276:22
  at Object.default (D:workingSpaceplayground
[email protected]:22:12)     
  at getEnvPlugins (D:workingSpaceplayground
ode_modulesparcel-bundlersrcransformsabelenv.js:62:34)   
  at getEnvConfig (D:workingSpaceplayground
ode_modulesparcel-bundlersrcransformsabelenv.js:12:25)    
  at async getBabelConfig (D:workingSpaceplayground
ode_modulesparcel-bundlersrcransformsabelconfig.js:32:19)
  at async babelTransform (D:workingSpaceplayground
ode_modulesparcel-bundlersrcransformsabelransform.js:6:16)
  at async JSAsset.pretransform (D:workingSpaceplayground
ode_modulesparcel-bundlersrcassetsJSAsset.js:83:5)

Currently I'm using Node v14.6.0 and accordingly it's npm version - 6.14.11

I've never faced this bug before, please help T_T

question from:https://stackoverflow.com/questions/66459081/parcel-semver-bug

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

This is a known problem in the newest version of Parcel.

The solution of this problem was to revert back to version 1.12.3, or by updating to the version 2 of Parcel. You can do the first solution by:

npm uninstall parcel-bundler
npm i --save-dev [email protected]

The second solution could be done like this:

npm i --save-dev parcel@next

You might have to refactor your code a bit to prevent breaking changes if you decided to use the nightly version of Parcel. Check more about how to migrate to Parcel v2 / nightly here.

Catch up with that issue here.


Update #1: 28/05/2021

It seems that Parcel team has been working on a fix, as of the time of writing (28/05/2021). While I have not personally checked if the update has worked properly or not, this answer is still very much a viable and feasible solution.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...