@jsenv/core 27.0.0-alpha.70 → 27.0.0-alpha.71
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/dist/main.js +24 -22
- package/package.json +2 -2
- package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +1 -1
- package/src/plugins/transpilation/babel/helpers/babel_plugin_structure.js +2 -1
- package/src/plugins/transpilation/babel/require_babel_plugin.js +8 -0
- package/src/plugins/transpilation/jsenv_plugin_top_level_await.js +1 -2
package/dist/main.js
CHANGED
|
@@ -2724,30 +2724,12 @@ export default inlineContent.text`
|
|
|
2724
2724
|
return [asJsonModule, asCssModule, asTextModule];
|
|
2725
2725
|
};
|
|
2726
2726
|
|
|
2727
|
-
|
|
2728
|
-
// the list of possible helpers:
|
|
2729
|
-
// https://github.com/babel/babel/blob/99f4f6c3b03c7f3f67cf1b9f1a21b80cfd5b0224/packages/babel-helpers/src/helpers.js#L13
|
|
2730
|
-
const babelHelperClientDirectoryUrl = new URL("./babel_helpers/", import.meta.url).href; // we cannot use "@jsenv/core/src/*" because babel helper might be injected
|
|
2731
|
-
// into node_modules not depending on "@jsenv/core"
|
|
2732
|
-
|
|
2733
|
-
const getBabelHelperFileUrl = babelHelperName => {
|
|
2734
|
-
const babelHelperFileUrl = new URL(`./${babelHelperName}/${babelHelperName}.js`, babelHelperClientDirectoryUrl).href;
|
|
2735
|
-
return babelHelperFileUrl;
|
|
2736
|
-
};
|
|
2737
|
-
const babelHelperNameFromUrl = url => {
|
|
2738
|
-
if (!url.startsWith(babelHelperClientDirectoryUrl)) {
|
|
2739
|
-
return null;
|
|
2740
|
-
}
|
|
2741
|
-
|
|
2742
|
-
const afterBabelHelperDirectory = url.slice(babelHelperClientDirectoryUrl.length);
|
|
2743
|
-
const babelHelperName = afterBabelHelperDirectory.slice(0, afterBabelHelperDirectory.indexOf("/"));
|
|
2744
|
-
return babelHelperName;
|
|
2745
|
-
};
|
|
2746
|
-
|
|
2747
|
-
const require$4 = createRequire(import.meta.url); // eslint-disable-next-line import/no-dynamic-require
|
|
2727
|
+
const require$4 = createRequire(import.meta.url);
|
|
2748
2728
|
|
|
2729
|
+
const babelPluginPackagePath = require$4.resolve("@jsenv/babel-plugins");
|
|
2749
2730
|
|
|
2750
|
-
const
|
|
2731
|
+
const babelPluginPackageUrl = pathToFileURL(babelPluginPackagePath);
|
|
2732
|
+
const requireBabelPlugin = createRequire(babelPluginPackageUrl);
|
|
2751
2733
|
|
|
2752
2734
|
const babelPluginTransformImportMetaUrl = babel => {
|
|
2753
2735
|
return {
|
|
@@ -3499,6 +3481,26 @@ const getFeatureCompat = feature => {
|
|
|
3499
3481
|
return feature;
|
|
3500
3482
|
};
|
|
3501
3483
|
|
|
3484
|
+
// https://github.com/babel/babel/blob/99f4f6c3b03c7f3f67cf1b9f1a21b80cfd5b0224/packages/babel-core/src/tools/build-external-helpers.js
|
|
3485
|
+
// the list of possible helpers:
|
|
3486
|
+
// https://github.com/babel/babel/blob/99f4f6c3b03c7f3f67cf1b9f1a21b80cfd5b0224/packages/babel-helpers/src/helpers.js#L13
|
|
3487
|
+
const babelHelperClientDirectoryUrl = new URL("./babel_helpers/", import.meta.url).href; // we cannot use "@jsenv/core/src/*" because babel helper might be injected
|
|
3488
|
+
// into node_modules not depending on "@jsenv/core"
|
|
3489
|
+
|
|
3490
|
+
const getBabelHelperFileUrl = babelHelperName => {
|
|
3491
|
+
const babelHelperFileUrl = new URL(`./${babelHelperName}/${babelHelperName}.js`, babelHelperClientDirectoryUrl).href;
|
|
3492
|
+
return babelHelperFileUrl;
|
|
3493
|
+
};
|
|
3494
|
+
const babelHelperNameFromUrl = url => {
|
|
3495
|
+
if (!url.startsWith(babelHelperClientDirectoryUrl)) {
|
|
3496
|
+
return null;
|
|
3497
|
+
}
|
|
3498
|
+
|
|
3499
|
+
const afterBabelHelperDirectory = url.slice(babelHelperClientDirectoryUrl.length);
|
|
3500
|
+
const babelHelperName = afterBabelHelperDirectory.slice(0, afterBabelHelperDirectory.indexOf("/"));
|
|
3501
|
+
return babelHelperName;
|
|
3502
|
+
};
|
|
3503
|
+
|
|
3502
3504
|
/* eslint-disable camelcase */
|
|
3503
3505
|
// copied from
|
|
3504
3506
|
// https://github.com/babel/babel/blob/e498bee10f0123bb208baa228ce6417542a2c3c4/packages/babel-compat-data/data/plugins.json#L1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsenv/core",
|
|
3
|
-
"version": "27.0.0-alpha.
|
|
3
|
+
"version": "27.0.0-alpha.71",
|
|
4
4
|
"description": "Tool to develop, test and build js projects",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@c88/v8-coverage": "0.1.1",
|
|
69
69
|
"@financial-times/polyfill-useragent-normaliser": "2.0.1",
|
|
70
70
|
"@jsenv/abort": "4.1.2",
|
|
71
|
-
"@jsenv/babel-plugins": "1.0.
|
|
71
|
+
"@jsenv/babel-plugins": "1.0.3",
|
|
72
72
|
"@jsenv/filesystem": "4.0.2",
|
|
73
73
|
"@jsenv/importmap": "1.2.0",
|
|
74
74
|
"@jsenv/integrity": "0.0.1",
|
|
@@ -15,11 +15,11 @@ import { createRequire } from "node:module"
|
|
|
15
15
|
import { urlToFilename, injectQueryParams } from "@jsenv/urls"
|
|
16
16
|
import { readFileSync } from "@jsenv/filesystem"
|
|
17
17
|
|
|
18
|
-
import { requireBabelPlugin } from "@jsenv/babel-plugins"
|
|
19
18
|
import { applyBabelPlugins } from "@jsenv/utils/js_ast/apply_babel_plugins.js"
|
|
20
19
|
import { createMagicSource } from "@jsenv/utils/sourcemap/magic_source.js"
|
|
21
20
|
import { composeTwoSourcemaps } from "@jsenv/utils/sourcemap/sourcemap_composition_v3.js"
|
|
22
21
|
|
|
22
|
+
import { requireBabelPlugin } from "../babel/require_babel_plugin.js"
|
|
23
23
|
import { babelPluginTransformImportMetaUrl } from "./helpers/babel_plugin_transform_import_meta_url.js"
|
|
24
24
|
import { jsenvPluginAsJsClassicHtml } from "./jsenv_plugin_as_js_classic_html.js"
|
|
25
25
|
import { jsenvPluginAsJsClassicWorkers } from "./jsenv_plugin_as_js_classic_workers.js"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getBabelHelperFileUrl
|
|
1
|
+
import { getBabelHelperFileUrl } from "@jsenv/babel-plugins"
|
|
2
|
+
import { requireBabelPlugin } from "../require_babel_plugin.js"
|
|
2
3
|
import { babelPluginCompatMap } from "./babel_plugins_compatibility.js"
|
|
3
4
|
|
|
4
5
|
export const getBaseBabelPluginStructure = ({
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire } from "node:module"
|
|
2
|
+
import { pathToFileURL } from "node:url"
|
|
3
|
+
|
|
4
|
+
const require = createRequire(import.meta.url)
|
|
5
|
+
const babelPluginPackagePath = require.resolve("@jsenv/babel-plugins")
|
|
6
|
+
const babelPluginPackageUrl = pathToFileURL(babelPluginPackagePath)
|
|
7
|
+
|
|
8
|
+
export const requireBabelPlugin = createRequire(babelPluginPackageUrl)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { requireBabelPlugin } from "@jsenv/babel-plugins"
|
|
2
|
-
|
|
3
1
|
import { applyBabelPlugins } from "@jsenv/utils/js_ast/apply_babel_plugins.js"
|
|
2
|
+
import { requireBabelPlugin } from "./babel/require_babel_plugin.js"
|
|
4
3
|
|
|
5
4
|
export const jsenvPluginTopLevelAwait = () => {
|
|
6
5
|
return {
|