oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
71.85k stars 2.56k forks source link

package.json failed to parse due to error SyntaxError #11806

Open RWOverdijk opened 3 weeks ago

RWOverdijk commented 3 weeks ago

What version of Bun is running?

1.1.13+bd6a60512

What platform is your computer?

Darwin 23.2.0 arm64 arm

What steps can reproduce the bug?

Brand new nestjs app in a workspace project (path is apps/api), add fastify.

Package.json:

{
  "name": "api",
  "version": "0.0.1",
  "description": "",
  "author": "",
  "private": true,
  "license": "UNLICENSED",
  "scripts": {
    "build": "nest build",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json"
  },
  "dependencies": {
    "@nestjs/common": "^10.0.0",
    "@nestjs/core": "^10.0.0",
    "@nestjs/platform-express": "^10.0.0",
    "reflect-metadata": "^0.2.0",
    "rxjs": "^7.8.1"
  },
  "devDependencies": {
    "@nestjs/cli": "^10.0.0",
    "@nestjs/schematics": "^10.0.0",
    "@nestjs/testing": "^10.0.0",
    "@types/express": "^4.17.17",
    "@types/jest": "^29.5.2",
    "@types/node": "^20.3.1",
    "@types/supertest": "^6.0.0",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "eslint": "^8.42.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-prettier": "^5.0.0",
    "jest": "^29.5.0",
    "prettier": "^3.0.0",
    "source-map-support": "^0.5.21",
    "supertest": "^6.3.3",
    "ts-jest": "^29.1.0",
    "ts-loader": "^9.4.3",
    "ts-node": "^10.9.1",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.1.3"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": "src",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  }
}

Output:

$ bun add @nestjs/platform-fastify
bun add v1.1.13 (bd6a6051)

installed @nestjs/platform-fastify@10.3.9

[349.00ms] done
package.json failed to parse due to error SyntaxError

Note:

It works when I clear out the package.json and just leave {}. So something goofy is afoot with the json parser.

What is the expected behavior?

Dep installs

What do you see instead?

Error

Additional information

This is using workspaces. The most basic package as well:

{
  "name": "project",
  "private": true,
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "workspaces": [
    "packages/*",
    "apps/*"
  ],
  "keywords": [],
  "author": "",
  "license": "ISC"
}
RWOverdijk commented 3 weeks ago

The issue is with this bit:

    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },

Removing this makes it work. I can't, because I need it (so I'll use npm for a bit longer). This is my punishment for being curious 😄

alexbrayko commented 6 days ago

Here we are facing the same issue(v1.1.17). Definitely a bug, it might be about none standard properties like jest. In our case as workaround we remove jest, execute the install command then bring jest property back. @Jarred-Sumner can you please help us?

RWOverdijk commented 6 days ago

I solved it by going back to just using npm. Can I hand this issue over to someone who cares? Or should I just unsubscribe from the issue.