@jsenv/plugin-commonjs 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/plugin-commonjs",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,10 +13,10 @@
13
13
  "type": "module",
14
14
  "main": "./main.js",
15
15
  "dependencies": {
16
- "@jsenv/filesystem": "4.1.0",
16
+ "@jsenv/filesystem": "4.1.1",
17
17
  "@jsenv/log": "3.1.0",
18
18
  "@jsenv/url-meta": "7.0.0",
19
- "@jsenv/urls": "1.2.6",
19
+ "@jsenv/urls": "1.2.7",
20
20
  "@rollup/plugin-commonjs": "22.0.1",
21
21
  "@rollup/plugin-json": "4.1.0",
22
22
  "@rollup/plugin-node-resolve": "13.3.0",
@@ -24,9 +24,9 @@
24
24
  "cjs-module-lexer": "1.2.2",
25
25
  "is-valid-identifier": "2.0.2",
26
26
  "resolve": "1.22.1",
27
- "rollup": "2.75.7",
27
+ "rollup": "2.77.0",
28
28
  "rollup-plugin-node-globals": "1.4.0",
29
- "rollup-plugin-polyfill-node": "0.10.0",
29
+ "rollup-plugin-polyfill-node": "0.10.1",
30
30
  "vm2": "3.9.10"
31
31
  },
32
32
  "devDependencies": {
package/scripts/test.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import { executeTestPlan, nodeProcess } from "@jsenv/core"
1
+ import { executeTestPlan, nodeWorkerThread } from "@jsenv/core"
2
2
 
3
3
  await executeTestPlan({
4
4
  rootDirectoryUrl: new URL("../", import.meta.url),
5
5
  testPlan: {
6
6
  "tests/**/*.test.mjs": {
7
7
  node: {
8
- runtime: nodeProcess,
8
+ runtime: nodeWorkerThread,
9
9
  },
10
10
  },
11
11
  },
12
12
  failFast: process.argv.includes("--workspace"),
13
13
  completedExecutionLogMerging: process.argv.includes("--workspace"),
14
- coverage: process.argv.includes("--coverage"),
14
+ coverageEnabled: process.argv.includes("--coverage"),
15
15
  })
@@ -7,15 +7,16 @@ export const commonJsToJsModuleRaw = async ({
7
7
  logLevel,
8
8
  sourceFileUrl,
9
9
 
10
- replaceGlobalObject = true,
11
- replaceGlobalFilename = true,
12
- replaceGlobalDirname = true,
13
- replaceProcessEnvNodeEnv = true,
14
- replaceProcess = true,
15
- replaceBuffer = true,
10
+ browsers = true,
11
+ replaceGlobalObject = browsers,
12
+ replaceGlobalFilename = browsers,
13
+ replaceGlobalDirname = browsers,
14
+ replaceProcessEnvNodeEnv = browsers,
15
+ replaceProcess = browsers,
16
+ replaceBuffer = browsers,
16
17
  processEnvNodeEnv = process.env.NODE_ENV,
17
18
  replaceMap = {},
18
- convertBuiltinsToBrowser = true,
19
+ convertBuiltinsToBrowser = browsers,
19
20
  external = [],
20
21
  sourcemapExcludeSources,
21
22
  } = {}) => {
@@ -31,14 +32,16 @@ export const commonJsToJsModuleRaw = async ({
31
32
 
32
33
  const { nodeResolve } = await import("@rollup/plugin-node-resolve")
33
34
  const nodeResolveRollupPlugin = nodeResolve({
34
- mainFields: [
35
- "browser:module",
36
- "module",
37
- "browser",
38
- "main:esnext",
39
- "jsnext:main",
40
- "main",
41
- ],
35
+ mainFields: browsers
36
+ ? [
37
+ "browser:module",
38
+ "module",
39
+ "browser",
40
+ "main:esnext",
41
+ "jsnext:main",
42
+ "main",
43
+ ]
44
+ : ["module", "main:esnext", "jsxnext:main", "main"],
42
45
  extensions: [".mjs", ".cjs", ".js", ".json"],
43
46
  preferBuiltins: false,
44
47
  exportConditions: [],
@@ -82,13 +85,6 @@ export const commonJsToJsModuleRaw = async ({
82
85
  const { default: createNodeGlobalRollupPlugin } = await import(
83
86
  "rollup-plugin-node-globals"
84
87
  )
85
- const nodeGlobalRollupPlugin = createNodeGlobalRollupPlugin({
86
- global: false, // handled by replaceMap
87
- dirname: false, // handled by replaceMap
88
- filename: false, // handled by replaceMap
89
- process: replaceProcess,
90
- buffer: replaceBuffer,
91
- })
92
88
 
93
89
  const commonJsNamedExportsRollupPlugin = rollupPluginCommonJsNamedExports({
94
90
  logger,
@@ -109,7 +105,17 @@ export const commonJsToJsModuleRaw = async ({
109
105
  replaceRollupPlugin,
110
106
  commonJsRollupPlugin,
111
107
  commonJsNamedExportsRollupPlugin,
112
- nodeGlobalRollupPlugin,
108
+ ...(replaceProcess || replaceBuffer
109
+ ? [
110
+ createNodeGlobalRollupPlugin({
111
+ global: false, // handled by replaceMap
112
+ dirname: false, // handled by replaceMap
113
+ filename: false, // handled by replaceMap
114
+ process: replaceProcess,
115
+ buffer: replaceBuffer,
116
+ }),
117
+ ]
118
+ : []),
113
119
  ...(convertBuiltinsToBrowser
114
120
  ? [
115
121
  rollupPluginNodePolyfills({
@@ -119,6 +125,13 @@ export const commonJsToJsModuleRaw = async ({
119
125
  : []),
120
126
  ],
121
127
  onwarn: (warning) => {
128
+ if (
129
+ warning.code === "UNRESOLVED_IMPORT" &&
130
+ warning.importer.endsWith("?commonjs-external")
131
+ ) {
132
+ return
133
+ }
134
+
122
135
  const { loc, message } = warning
123
136
  const logMessage = loc
124
137
  ? `${loc.file}:${loc.line}:${loc.column} ${message}`
@@ -48,10 +48,14 @@ export const jsenvPluginCommonJs = ({
48
48
  if (!originalUrlInfo) {
49
49
  return null
50
50
  }
51
+ const nodeRuntimeEnabled = Object.keys(context.runtimeCompat).includes(
52
+ "node",
53
+ )
51
54
  const { content, sourcemap, isValid } = await commonJsToJsModule({
52
55
  logLevel,
53
56
  rootDirectoryUrl: context.rootDirectoryUrl,
54
57
  sourceFileUrl: originalUrlInfo.url,
58
+ browsers: !nodeRuntimeEnabled,
55
59
  processEnvNodeEnv:
56
60
  context.scenario === "dev" || context.scenario === "test"
57
61
  ? "development"