Skip to content

Commit 08cf626

Browse files
committed
fix: fix package.json exports, keep JSDoc packages as CJS
- Update all package.json exports to use "default" condition - Remove "module" field from packages (ESM via "type": "module") - Fix "main" field for packages with changed entry points - Keep JSDoc packages (parse5-utils, config-loader, rollup-plugin-copy, rollup-plugin-import-meta-assets, storybook-utils) WITHOUT "type": "module" since their .js source uses require() -- converted to ESM in PR4 - Restore parse5-utils index.mjs ESM wrapper with createRequire - Apply CJS interop fixes (import.meta.resolve, createRequire) for source files that used require.resolve/__dirname Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1ea0ddc commit 08cf626

13 files changed

Lines changed: 135 additions & 25 deletions

File tree

packages/browser-logs/src/browserScript.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import path from 'path';
44
const REGEXP_SOURCE_MAP = /\/\/# sourceMappingURL=.*/;
55

66
const serializeScript = fs
7-
.readFileSync(path.resolve(__dirname, 'serialize.js'), 'utf-8')
7+
.readFileSync(path.resolve(import.meta.dirname, 'serialize.js'), 'utf-8')
88
.replace(REGEXP_SOURCE_MAP, '');
99
const logUncaughtErrorsScript = fs
10-
.readFileSync(path.resolve(__dirname, 'logUncaughtErrors.js'), 'utf-8')
10+
.readFileSync(path.resolve(import.meta.dirname, 'logUncaughtErrors.js'), 'utf-8')
1111
.replace(REGEXP_SOURCE_MAP, '');
1212

1313
/**

packages/config-loader/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
"author": "modern-web",
1515
"homepage": "https://github.com/modernweb-dev/web/tree/master/packages/config-loader",
1616
"main": "src/index.js",
17-
"type": "module",
1817
"engines": {
1918
"node": ">=24.0.0"
2019
},

packages/dev-server-core/package.json

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,19 @@
1717
"exports": {
1818
".": {
1919
"types": "./index.d.ts",
20-
"import": "./index.mjs",
21-
"require": "./dist/index.js"
20+
"default": "./dist/index.js"
2221
},
2322
"./dist/dom5": {
2423
"types": "./dist/dom5/index.d.ts",
25-
"require": "./dist/dom5/index.js"
24+
"default": "./dist/dom5/index.js"
2625
},
2726
"./test-helpers": {
2827
"types": "./test-helpers.d.ts",
29-
"import": "./test-helpers.mjs",
30-
"require": "./dist/test-helpers.js"
28+
"default": "./dist/test-helpers.js"
3129
}
3230
},
3331
"engines": {
34-
"node": ">=18.0.0"
32+
"node": ">=24.0.0"
3533
},
3634
"scripts": {
3735
"build": "tsc",
@@ -46,7 +44,6 @@
4644
".self-signed-dev-server-ssl.cert",
4745
".self-signed-dev-server-ssl.key",
4846
"*.d.ts",
49-
"*.mjs",
5047
"dist",
5148
"src"
5249
],
@@ -86,5 +83,6 @@
8683
"express": "^4.21.2",
8784
"nanoid": "^3.1.25",
8885
"portfinder": "^1.0.32"
89-
}
86+
},
87+
"type": "module"
9088
}

packages/dev-server-core/src/server/createServer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export function createServer(
6868

6969
let server: Server;
7070
if (cfg.http2) {
71-
const dir = path.join(__dirname, '..');
71+
const dir = path.join(import.meta.dirname, '..');
7272
const options = {
7373
key: fs.readFileSync(
7474
cfg.sslKey

packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { fileURLToPath } from 'node:url';
12
import mdx from '@mdx-js/mdx';
23
import { transformAsync } from '@babel/core';
34
// @ts-ignore
@@ -17,7 +18,7 @@ export async function transformMdxToCsf(body: string, filePath: string): Promise
1718
const babelResult = await transformAsync(jsx, {
1819
filename: filePath,
1920
sourceMaps: true,
20-
plugins: [require.resolve('@babel/plugin-transform-react-jsx')],
21+
plugins: [fileURLToPath(import.meta.resolve('@babel/plugin-transform-react-jsx'))],
2122
});
2223

2324
if (!babelResult?.code) {

packages/dev-server/src/plugins/esbuildPlugin.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
import { createRequire } from 'node:module';
2+
3+
const require = createRequire(import.meta.url);
4+
15
function requirePlugin() {
26
try {
3-
const path = require.resolve('@web/dev-server-esbuild', { paths: [__dirname, process.cwd()] });
7+
const path = require.resolve('@web/dev-server-esbuild');
48
return require(path);
59
} catch (error) {
610
if ((error as NodeJS.ErrnoException).code === 'MODULE_NOT_FOUND') {

packages/parse5-utils/index.mjs

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import { createRequire } from 'module';
2+
const require = createRequire(import.meta.url);
3+
const cjsEntrypoint = require('./src/index.js');
4+
5+
const {
6+
createDocument,
7+
createDocumentFragment,
8+
createElement,
9+
createScript,
10+
createCommentNode,
11+
appendChild,
12+
insertBefore,
13+
setTemplateContent,
14+
getTemplateContent,
15+
setDocumentType,
16+
setDocumentMode,
17+
getDocumentMode,
18+
detachNode,
19+
insertText,
20+
insertTextBefore,
21+
adoptAttributes,
22+
getFirstChild,
23+
getChildNodes,
24+
getParentNode,
25+
getAttrList,
26+
getTagName,
27+
getNamespaceURI,
28+
getTextNodeContent,
29+
getCommentNodeContent,
30+
getDocumentTypeNodeName,
31+
getDocumentTypeNodePublicId,
32+
getDocumentTypeNodeSystemId,
33+
isTextNode,
34+
isCommentNode,
35+
isDocumentTypeNode,
36+
isElementNode,
37+
setNodeSourceCodeLocation,
38+
getNodeSourceCodeLocation,
39+
updateNodeSourceCodeLocation,
40+
isHtmlFragment,
41+
hasAttribute,
42+
getAttribute,
43+
getAttributes,
44+
setAttribute,
45+
setAttributes,
46+
removeAttribute,
47+
setTextContent,
48+
getTextContent,
49+
remove,
50+
findNode,
51+
findNodes,
52+
findElement,
53+
findElements,
54+
prepend,
55+
prependToDocument,
56+
appendToDocument,
57+
} = cjsEntrypoint;
58+
59+
export {
60+
createDocument,
61+
createDocumentFragment,
62+
createElement,
63+
createScript,
64+
createCommentNode,
65+
appendChild,
66+
insertBefore,
67+
setTemplateContent,
68+
getTemplateContent,
69+
setDocumentType,
70+
setDocumentMode,
71+
getDocumentMode,
72+
detachNode,
73+
insertText,
74+
insertTextBefore,
75+
adoptAttributes,
76+
getFirstChild,
77+
getChildNodes,
78+
getParentNode,
79+
getAttrList,
80+
getTagName,
81+
getNamespaceURI,
82+
getTextNodeContent,
83+
getCommentNodeContent,
84+
getDocumentTypeNodeName,
85+
getDocumentTypeNodePublicId,
86+
getDocumentTypeNodeSystemId,
87+
isTextNode,
88+
isCommentNode,
89+
isDocumentTypeNode,
90+
isElementNode,
91+
setNodeSourceCodeLocation,
92+
getNodeSourceCodeLocation,
93+
updateNodeSourceCodeLocation,
94+
isHtmlFragment,
95+
hasAttribute,
96+
getAttribute,
97+
getAttributes,
98+
setAttribute,
99+
setAttributes,
100+
removeAttribute,
101+
setTextContent,
102+
getTextContent,
103+
remove,
104+
findNode,
105+
findNodes,
106+
findElement,
107+
findElements,
108+
prepend,
109+
prependToDocument,
110+
appendToDocument,
111+
};

packages/parse5-utils/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
"main": "src/index.js",
1717
"exports": {
1818
".": {
19-
"types": "./dist/index.d.ts",
20-
"default": "./dist/index.js"
19+
"types": "./index.d.ts",
20+
"import": "./index.mjs",
21+
"default": "./src/index.js"
2122
}
2223
},
2324
"engines": {
@@ -45,6 +46,5 @@
4546
},
4647
"devDependencies": {
4748
"@types/html-minifier-terser": "^7.0.0"
48-
},
49-
"type": "module"
49+
}
5050
}

packages/rollup-plugin-copy/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,5 @@
4848
"devDependencies": {
4949
"@types/glob": "^8.1.0"
5050
},
51-
"types": "dist/copy.d.ts",
52-
"type": "module"
51+
"types": "dist/copy.d.ts"
5352
}

packages/rollup-plugin-import-meta-assets/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,5 @@
4646
"globby": "^13.2.2",
4747
"magic-string": "^0.30.0"
4848
},
49-
"types": "dist/index",
50-
"type": "module"
49+
"types": "dist/index"
5150
}

0 commit comments

Comments
 (0)