Skip to content

Commit 68e68ac

Browse files
packaging: Remove deprecated warning for browser.{esm,umd}.js
1 parent b37b90c commit 68e68ac

File tree

1 file changed

+35
-29
lines changed

1 file changed

+35
-29
lines changed

packages/npm-packages/ruby-wasm-wasi/tools/pack-compat-shim.mjs

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ const parseArgs = () => {
1414
};
1515

1616
const shimContent = (target, pkg) => {
17-
const suffix = target.split(".").slice(-2).join(".");
17+
const deprecated = target.deprecated ?? true;
18+
const file = target.file;
19+
const suffix = file.split(".").slice(-2).join(".");
1820
const deprecationMessage = (original, replacement) => {
1921
return (
20-
`DEPRECATED(${pkg}): "${target}" will be moved to "@ruby/wasm-wasi" in the next major release.\n` +
22+
`DEPRECATED(${pkg}): "${file}" will be moved to "@ruby/wasm-wasi" in the next major release.\n` +
2123
`Please replace your \\\`${original}\\\` with \\\`${replacement}\\\``
2224
);
2325
};
@@ -26,28 +28,28 @@ const shimContent = (target, pkg) => {
2628
let newImport = "";
2729
switch (suffix) {
2830
case "cjs.js":
29-
originalImport = `require('${pkg}/dist/${target}');`;
30-
newImport = `require('@ruby/wasm-wasi/dist/${target}');`;
31+
originalImport = `require('${pkg}/dist/${file}');`;
32+
newImport = `require('@ruby/wasm-wasi/dist/${file}');`;
3133
break;
3234
case "umd.js":
33-
originalImport = `require('${pkg}/dist/${target}');`;
34-
newImport = `require('@ruby/wasm-wasi/dist/${target}');`;
35+
originalImport = `require('${pkg}/dist/${file}');`;
36+
newImport = `require('@ruby/wasm-wasi/dist/${file}');`;
3537
break;
3638
case "d.ts":
3739
case "esm.js":
38-
originalImport = `import * from '${pkg}/dist/${target}';`;
39-
newImport = `import * from '@ruby/wasm-wasi/dist/${target}';`;
40+
originalImport = `import * from '${pkg}/dist/${file}';`;
41+
newImport = `import * from '@ruby/wasm-wasi/dist/${file}';`;
4042
break;
4143
default:
42-
throw new Error(`Unknown suffix: ${suffix} for target ${target}`);
44+
throw new Error(`Unknown suffix: ${suffix} for target ${file}`);
4345
}
4446

4547
const dirname = path.dirname(new URL(import.meta.url).pathname);
4648
const content = fs.readFileSync(
47-
path.join(dirname, "..", "dist", target),
49+
path.join(dirname, "..", "dist", file),
4850
"utf-8",
4951
);
50-
if (suffix === "d.ts") {
52+
if (suffix === "d.ts" || !deprecated) {
5153
return content;
5254
}
5355
const deprecation =
@@ -57,23 +59,27 @@ const shimContent = (target, pkg) => {
5759

5860
const main = () => {
5961
const targets = [
60-
"bindgen/rb-abi-guest.d.ts",
61-
"bindgen/rb-js-abi-host.d.ts",
62-
"browser.cjs.js",
63-
"browser.d.ts",
64-
"browser.esm.js",
65-
"browser.script.cjs.js",
66-
"browser.script.d.ts",
67-
"browser.script.esm.js",
68-
"browser.script.umd.js",
69-
"browser.umd.js",
70-
"index.cjs.js",
71-
"index.d.ts",
72-
"index.esm.js",
73-
"index.umd.js",
74-
"node.cjs.js",
75-
"node.d.ts",
76-
"node.esm.js",
62+
{ file: "bindgen/rb-abi-guest.d.ts" },
63+
{ file: "bindgen/rb-js-abi-host.d.ts" } ,
64+
{ file: "browser.cjs.js" },
65+
{ file: "browser.d.ts" },
66+
// They can be used by dynamic-import or <script> tag in browser
67+
// and there is no easy way to replace them with `@ruby/wasm-wasi`
68+
// so we don't deprecate them at this moment.
69+
{ file: "browser.esm.js", deprecated: false },
70+
{ file: "browser.umd.js", deprecated: false },
71+
72+
{ file: "browser.script.cjs.js" },
73+
{ file: "browser.script.d.ts" },
74+
{ file: "browser.script.esm.js" },
75+
{ file: "browser.script.umd.js" },
76+
{ file: "index.cjs.js"} ,
77+
{ file: "index.d.ts" } ,
78+
{ file: "index.esm.js" },
79+
{ file: "index.umd.js" },
80+
{ file: "node.cjs.js" },
81+
{ file: "node.d.ts" },
82+
{ file: "node.esm.js" }
7783
];
7884

7985
const options = parseArgs();
@@ -84,7 +90,7 @@ const main = () => {
8490

8591
for (const target of targets) {
8692
const shimmed = shimContent(target, pkg);
87-
const distPath = path.join(dist, target);
93+
const distPath = path.join(dist, target.file);
8894
fs.mkdirSync(path.dirname(distPath), { recursive: true });
8995
fs.writeFileSync(distPath, shimmed);
9096
}

0 commit comments

Comments
 (0)