worried-planet-2191
06/14/2022, 5:58 AMfresh-football-47124
refined-city-47392
06/14/2022, 7:38 AM{
"name": "node-typescript-boilerplate",
"version": "0.0.0",
"description": "Minimalistic boilerplate to quick-start Node.js development in TypeScript.",
"type": "module",
"devDependencies": {
"@types/jest": "~27.5",
"@types/node": "~16",
"@typescript-eslint/eslint-plugin": "~5.26",
"@typescript-eslint/parser": "~5.26",
"eslint": "~8.16",
"eslint-config-prettier": "~8.5",
"eslint-plugin-jest": "~26.2",
"jest": "~28.1",
"prettier": "~2.6",
"rimraf": "~3.0",
"ts-jest": "~28.0",
"tsutils": "~3.21",
"typescript": "~4.7"
},
"scripts": {
"start": "node build/src/main.js",
"clean": "rimraf coverage build tmp",
"prebuild": "npm run lint",
"build": "tsc -p tsconfig.json",
"build:watch": "tsc -w -p tsconfig.json",
"build:release": "npm run clean && tsc -p tsconfig.release.json",
"lint": "eslint . --ext .ts --ext .mts",
"test": "jest --coverage",
"prettier": "prettier --config .prettierrc --write .",
"test:watch": "jest --watch"
},
"author": "Jakub Synowiec <jsynowiec@users.noreply.github.com>",
"license": "Apache-2.0",
"dependencies": {
"@growthbook/growthbook": "^0.18.0",
"@sentry/node": "^7.1.1",
"@sentry/tracing": "^7.1.1",
"@types/amqplib": "^0.8.2",
"@types/json-diff": "^0.7.0",
"@types/pg": "^8.6.5",
"amqplib": "^0.10.0",
"envalid": "^7.3.1",
"json-diff": "^0.9.0",
"pg": "^8.7.3",
"tslib": "~2.4",
"uuid": "^8.3.2"
},
"volta": {
"node": "18.3.0"
}
}fresh-football-47124
refined-city-47392
06/14/2022, 7:42 AMfresh-football-47124
refined-city-47392
06/14/2022, 7:48 AMfresh-football-47124
future-teacher-7046
@growthbook/growthbook/dist/esmrefined-city-47392
06/14/2022, 11:28 AMnode:internal/errors:466
ErrorCaptureStackTrace(err);
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist/esm' is not defined by "exports" in /Users/xxx/node_modules/@growthbook/growthbook/package.json imported from /Users/xxx/build/src/main.js
at new NodeError (node:internal/errors:377:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:440:9)
at packageExportsResolve (node:internal/modules/esm/resolve:719:3)
at packageResolve (node:internal/modules/esm/resolve:893:14)
at moduleResolve (node:internal/modules/esm/resolve:959:20)
at defaultResolve (node:internal/modules/esm/resolve:1174:11)
at ESMLoader.resolve (node:internal/modules/esm/loader:605:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:318:18)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:80:40)
at link (node:internal/modules/esm/module_job:78:36) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}future-teacher-7046
node_modules/@growthbook/growthbook/package.json and add "type": "module", that might work.
I know Typescript 4.7 changed a bunch of stuff when it comes to esm with node. I'll also check to see how @sentry/node is doing things since that seems to be working for you.future-teacher-7046
exports block in our package.json and sentry does not.refined-city-47392
06/14/2022, 11:50 AMnode:internal/errors:466
ErrorCaptureStackTrace(err);
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/xxx/node_modules/@growthbook/growthbook/dist/esm/GrowthBook' imported from /Users/xxx/node_modules/@growthbook/growthbook/dist/esm/index.js
However, when I started checking that code, I saw that .js was missing from the import path in the following places:
node_modules/@growthbook/growthbook/dist/esm/index.js -> missing in export { GrowthBook } from "./GrowthBook";
node_modules/@growthbook/growthbook/dist/esm/GrowthBook.js -> missing in util and mongrule import
By adding .js to those three places (combined with adding "type" : "module" to package.json) it started up just fine!future-teacher-7046
refined-city-47392
06/14/2022, 12:03 PMrefined-city-47392
06/17/2022, 11:17 AMfuture-teacher-7046
ambitious-crowd-69774
07/22/2022, 4:06 AMrefined-city-47392
07/22/2022, 2:40 PMambitious-crowd-69774
07/22/2022, 2:57 PMrefined-city-47392
07/22/2022, 3:24 PMdazzling-address-78247
10/19/2022, 2:15 PMfresh-football-47124
dazzling-address-78247
10/19/2022, 4:34 PM$ node -v
v16.14.0dazzling-address-78247
10/19/2022, 4:37 PMrefined-city-47392
10/19/2022, 4:47 PMdazzling-address-78247
10/19/2022, 5:05 PMadorable-minister-56906
02/15/2024, 9:27 AMimport { createRequire } from "module";
const require = createRequire(import.meta.url);
const { GrowthBook } = require("@growthbook/growthbook");