@jsenv/core 40.3.2 → 40.3.3
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/browserslist_index/browserslist_index.js +4951 -0
- package/dist/build/build.js +188 -75
- package/dist/jsenv_core_node_modules.js +25 -1
- package/dist/jsenv_core_packages.js +6384 -11580
- package/dist/start_build_server/start_build_server.js +0 -5
- package/dist/start_dev_server/start_dev_server.js +108 -74
- package/package.json +20 -19
- package/src/build/build.js +79 -0
- package/src/kitchen/errors.js +6 -1
- package/src/kitchen/kitchen.js +95 -7
- package/src/plugins/package_side_effects/jsenv_plugin_package_side_effects.js +5 -65
- package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +0 -112
- package/dist/babel_helpers/AwaitValue/AwaitValue.js +0 -3
- package/dist/babel_helpers/OverloadYield/OverloadYield.js +0 -11
- package/dist/babel_helpers/applyDecoratedDescriptor/applyDecoratedDescriptor.js +0 -32
- package/dist/babel_helpers/applyDecs/applyDecs.js +0 -813
- package/dist/babel_helpers/applyDecs2203/applyDecs2203.js +0 -635
- package/dist/babel_helpers/applyDecs2203R/applyDecs2203R.js +0 -654
- package/dist/babel_helpers/applyDecs2301/applyDecs2301.js +0 -721
- package/dist/babel_helpers/applyDecs2305/applyDecs2305.js +0 -531
- package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +0 -7
- package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +0 -4
- package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +0 -6
- package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +0 -9
- package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +0 -55
- package/dist/babel_helpers/asyncIterator/asyncIterator.js +0 -68
- package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +0 -34
- package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +0 -5
- package/dist/babel_helpers/callSuper/callSuper.js +0 -25
- package/dist/babel_helpers/checkInRHS/checkInRHS.js +0 -11
- package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +0 -23
- package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +0 -6
- package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +0 -13
- package/dist/babel_helpers/classCallCheck/classCallCheck.js +0 -5
- package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +0 -8
- package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +0 -11
- package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +0 -13
- package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +0 -6
- package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +0 -7
- package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +0 -7
- package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +0 -6
- package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +0 -5
- package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +0 -8
- package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +0 -6
- package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +0 -3
- package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +0 -13
- package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +0 -15
- package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +0 -10
- package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +0 -3
- package/dist/babel_helpers/construct/construct.js +0 -20
- package/dist/babel_helpers/createClass/createClass.js +0 -17
- package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +0 -61
- package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +0 -24
- package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +0 -50
- package/dist/babel_helpers/createSuper/createSuper.js +0 -22
- package/dist/babel_helpers/decorate/decorate.js +0 -488
- package/dist/babel_helpers/defaults/defaults.js +0 -11
- package/dist/babel_helpers/defineAccessor/defineAccessor.js +0 -6
- package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +0 -23
- package/dist/babel_helpers/defineProperty/defineProperty.js +0 -21
- package/dist/babel_helpers/dispose/dispose.js +0 -45
- package/dist/babel_helpers/extends/extends.js +0 -14
- package/dist/babel_helpers/get/get.js +0 -19
- package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +0 -4
- package/dist/babel_helpers/identity/identity.js +0 -3
- package/dist/babel_helpers/importDeferProxy/importDeferProxy.js +0 -31
- package/dist/babel_helpers/inherits/inherits.js +0 -19
- package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +0 -7
- package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +0 -12
- package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +0 -6
- package/dist/babel_helpers/instanceof/instanceof.js +0 -10
- package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +0 -3
- package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +0 -47
- package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +0 -9
- package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +0 -19
- package/dist/babel_helpers/iterableToArray/iterableToArray.js +0 -7
- package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +0 -54
- package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +0 -16
- package/dist/babel_helpers/jsx/jsx.js +0 -50
- package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +0 -10
- package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +0 -5
- package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +0 -5
- package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +0 -5
- package/dist/babel_helpers/nullishReceiverError/nullishReceiverError.js +0 -3
- package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +0 -3
- package/dist/babel_helpers/objectSpread/objectSpread.js +0 -23
- package/dist/babel_helpers/objectSpread2/objectSpread2.js +0 -43
- package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +0 -19
- package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +0 -13
- package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +0 -12
- package/dist/babel_helpers/readOnlyError/readOnlyError.js +0 -4
- package/dist/babel_helpers/regeneratorRuntime/regeneratorRuntime.js +0 -698
- package/dist/babel_helpers/set/set.js +0 -47
- package/dist/babel_helpers/setFunctionName/setFunctionName.js +0 -19
- package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +0 -7
- package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +0 -8
- package/dist/babel_helpers/slicedToArray/slicedToArray.js +0 -10
- package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +0 -13
- package/dist/babel_helpers/superPropBase/superPropBase.js +0 -10
- package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +0 -10
- package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +0 -7
- package/dist/babel_helpers/tdz/tdz.js +0 -4
- package/dist/babel_helpers/temporalRef/temporalRef.js +0 -6
- package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +0 -3
- package/dist/babel_helpers/toArray/toArray.js +0 -10
- package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +0 -10
- package/dist/babel_helpers/toPrimitive/toPrimitive.js +0 -14
- package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +0 -10
- package/dist/babel_helpers/typeof/typeof.js +0 -15
- package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +0 -12
- package/dist/babel_helpers/using/using.js +0 -23
- package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +0 -8
- package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +0 -30
- package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +0 -79
- package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +0 -3
package/dist/build/build.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { parseHtml, injectHtmlNodeAsEarlyAsPossible, createHtmlNode, stringifyHtmlAst, applyBabelPlugins, generateUrlForInlineContent, parseJsWithAcorn, visitHtmlNodes, analyzeScriptNode, getHtmlNodeText, getHtmlNodeAttribute, getHtmlNodePosition, getUrlForContentInsideHtml, setHtmlNodeAttributes, setHtmlNodeText, parseCssUrls, getHtmlNodeAttributePosition, parseSrcSet, removeHtmlNodeText, parseJsUrls, getUrlForContentInsideJs, analyzeLinkNode, injectJsenvScript, findHtmlNode, removeHtmlNode, insertHtmlNodeAfter } from "@jsenv/ast";
|
|
2
|
+
import { jsenvPluginBundling } from "@jsenv/plugin-bundling";
|
|
3
|
+
import { jsenvPluginMinification } from "@jsenv/plugin-minification";
|
|
4
|
+
import { jsenvPluginTranspilation, jsenvPluginJsModuleFallback } from "@jsenv/plugin-transpilation";
|
|
2
5
|
import { memoryUsage } from "node:process";
|
|
3
6
|
import { readFileSync, existsSync, readdirSync, lstatSync, realpathSync } from "node:fs";
|
|
4
|
-
import { lookupPackageDirectory$1 as lookupPackageDirectory, registerDirectoryLifecycle$1 as registerDirectoryLifecycle, urlToRelativeUrl$1 as urlToRelativeUrl, createDetailedMessage$1 as createDetailedMessage, stringifyUrlSite$1 as stringifyUrlSite, generateContentFrame$1 as generateContentFrame, validateResponseIntegrity$1 as validateResponseIntegrity, urlIsInsideOf$1 as urlIsInsideOf, ensureWindowsDriveLetter$1 as ensureWindowsDriveLetter, setUrlFilename$1 as setUrlFilename, moveUrl$1 as moveUrl, getCallerPosition$1 as getCallerPosition, urlToBasename$1 as urlToBasename, urlToExtension$1 as urlToExtension, asSpecifierWithoutSearch$1 as asSpecifierWithoutSearch, asUrlWithoutSearch$1 as asUrlWithoutSearch, injectQueryParamsIntoSpecifier$1 as injectQueryParamsIntoSpecifier, bufferToEtag$1 as bufferToEtag, isFileSystemPath$1 as isFileSystemPath, urlToPathname$1 as urlToPathname, setUrlBasename$1 as setUrlBasename, urlToFileSystemPath$1 as urlToFileSystemPath, writeFileSync$1 as writeFileSync, createLogger$1 as createLogger, URL_META$1 as URL_META, applyNodeEsmResolution$1 as applyNodeEsmResolution, RUNTIME_COMPAT$1 as RUNTIME_COMPAT, normalizeUrl$1 as normalizeUrl, ANSI$1 as ANSI, CONTENT_TYPE$1 as CONTENT_TYPE, urlToFilename$1 as urlToFilename, DATA_URL$1 as DATA_URL, errorToHTML$1 as errorToHTML, normalizeImportMap$1 as normalizeImportMap, composeTwoImportMaps$1 as composeTwoImportMaps, resolveImport$1 as resolveImport, JS_QUOTES$1 as JS_QUOTES, defaultLookupPackageScope$1 as defaultLookupPackageScope, defaultReadPackageJson$1 as defaultReadPackageJson, readCustomConditionsFromProcessArgs$1 as readCustomConditionsFromProcessArgs, readEntryStatSync$1 as readEntryStatSync, ensurePathnameTrailingSlash$1 as ensurePathnameTrailingSlash, compareFileUrls$1 as compareFileUrls, applyFileSystemMagicResolution$1 as applyFileSystemMagicResolution, getExtensionsToTry$1 as getExtensionsToTry, setUrlExtension$1 as setUrlExtension, isSpecifierForNodeBuiltin$1 as isSpecifierForNodeBuiltin,
|
|
7
|
+
import { lookupPackageDirectory$1 as lookupPackageDirectory, registerDirectoryLifecycle$1 as registerDirectoryLifecycle, urlToRelativeUrl$1 as urlToRelativeUrl, createDetailedMessage$1 as createDetailedMessage, stringifyUrlSite$1 as stringifyUrlSite, generateContentFrame$1 as generateContentFrame, validateResponseIntegrity$1 as validateResponseIntegrity, urlIsInsideOf$1 as urlIsInsideOf, ensureWindowsDriveLetter$1 as ensureWindowsDriveLetter, setUrlFilename$1 as setUrlFilename, moveUrl$1 as moveUrl, getCallerPosition$1 as getCallerPosition, urlToBasename$1 as urlToBasename, urlToExtension$1 as urlToExtension, asSpecifierWithoutSearch$1 as asSpecifierWithoutSearch, asUrlWithoutSearch$1 as asUrlWithoutSearch, injectQueryParamsIntoSpecifier$1 as injectQueryParamsIntoSpecifier, bufferToEtag$1 as bufferToEtag, isFileSystemPath$1 as isFileSystemPath, urlToPathname$1 as urlToPathname, setUrlBasename$1 as setUrlBasename, urlToFileSystemPath$1 as urlToFileSystemPath, writeFileSync$1 as writeFileSync, createLogger$1 as createLogger, URL_META$1 as URL_META, applyNodeEsmResolution$1 as applyNodeEsmResolution, RUNTIME_COMPAT$1 as RUNTIME_COMPAT, normalizeUrl$1 as normalizeUrl, ANSI$1 as ANSI, CONTENT_TYPE$1 as CONTENT_TYPE, urlToFilename$1 as urlToFilename, DATA_URL$1 as DATA_URL, errorToHTML$1 as errorToHTML, normalizeImportMap$1 as normalizeImportMap, composeTwoImportMaps$1 as composeTwoImportMaps, resolveImport$1 as resolveImport, JS_QUOTES$1 as JS_QUOTES, defaultLookupPackageScope$1 as defaultLookupPackageScope, defaultReadPackageJson$1 as defaultReadPackageJson, readCustomConditionsFromProcessArgs$1 as readCustomConditionsFromProcessArgs, readEntryStatSync$1 as readEntryStatSync, ensurePathnameTrailingSlash$1 as ensurePathnameTrailingSlash, compareFileUrls$1 as compareFileUrls, applyFileSystemMagicResolution$1 as applyFileSystemMagicResolution, getExtensionsToTry$1 as getExtensionsToTry, setUrlExtension$1 as setUrlExtension, isSpecifierForNodeBuiltin$1 as isSpecifierForNodeBuiltin, renderDetails, humanizeDuration, humanizeFileSize, renderTable, renderBigSection, distributePercentages, humanizeMemory, comparePathnames, UNICODE, escapeRegexpSpecialChars, injectQueryParamIntoSpecifierWithoutEncoding, renderUrlOrRelativeUrlFilename, assertAndNormalizeDirectoryUrl$1 as assertAndNormalizeDirectoryUrl, Abort, raceProcessTeardownEvents, startMonitoringCpuUsage, startMonitoringMemoryUsage, createLookupPackageDirectory, readPackageAtOrNull$1 as readPackageAtOrNull, inferRuntimeCompatFromClosestPackage, browserDefaultRuntimeCompat, nodeDefaultRuntimeCompat, clearDirectorySync, createTaskLog$1 as createTaskLog, ensureEmptyDirectory, updateJsonFileSync, createDynamicLog } from "../jsenv_core_packages.js";
|
|
5
8
|
import { pathToFileURL } from "node:url";
|
|
6
9
|
import { generateSourcemapFileUrl, createMagicSource, composeTwoSourcemaps, generateSourcemapDataUrl, SOURCEMAP } from "@jsenv/sourcemap";
|
|
7
10
|
import { performance } from "node:perf_hooks";
|
|
8
11
|
import { jsenvPluginSupervisor } from "@jsenv/plugin-supervisor";
|
|
9
12
|
import { WebSocketResponse, pickContentType } from "@jsenv/server";
|
|
10
13
|
import { randomUUID, createHash } from "node:crypto";
|
|
11
|
-
import "strip-ansi";
|
|
12
14
|
import "../jsenv_core_node_modules.js";
|
|
13
15
|
import "node:os";
|
|
14
16
|
import "node:tty";
|
|
15
17
|
import "node:util";
|
|
16
18
|
import "node:path";
|
|
17
|
-
import "node:module";
|
|
18
|
-
import "@jsenv/js-module-fallback";
|
|
19
19
|
|
|
20
20
|
const getDirectoryWatchPatterns = (
|
|
21
21
|
directoryUrl,
|
|
@@ -179,6 +179,7 @@ ${reason}`,
|
|
|
179
179
|
if (error.code === "DIRECTORY_REFERENCE_NOT_ALLOWED") {
|
|
180
180
|
error.message = createDetailedMessage(error.message, {
|
|
181
181
|
"reference trace": reference.trace.message,
|
|
182
|
+
...detailsFromFirstReference(reference),
|
|
182
183
|
});
|
|
183
184
|
return error;
|
|
184
185
|
}
|
|
@@ -418,7 +419,11 @@ const detailsFromFirstReference = (reference) => {
|
|
|
418
419
|
};
|
|
419
420
|
const getFirstReferenceInProject = (reference) => {
|
|
420
421
|
const ownerUrlInfo = reference.ownerUrlInfo;
|
|
421
|
-
if (
|
|
422
|
+
if (
|
|
423
|
+
!ownerUrlInfo.url.includes("/node_modules/") &&
|
|
424
|
+
ownerUrlInfo.packageDirectoryUrl ===
|
|
425
|
+
ownerUrlInfo.context.packageDirectory.url
|
|
426
|
+
) {
|
|
422
427
|
return reference;
|
|
423
428
|
}
|
|
424
429
|
return getFirstReferenceInProject(ownerUrlInfo.firstReference);
|
|
@@ -2646,10 +2651,9 @@ const shouldHandleSourcemap = (urlInfo) => {
|
|
|
2646
2651
|
return true;
|
|
2647
2652
|
};
|
|
2648
2653
|
|
|
2649
|
-
const inlineContentClientFileUrl =
|
|
2654
|
+
const inlineContentClientFileUrl = import.meta.resolve(
|
|
2650
2655
|
"../client/inline_content/inline_content.js",
|
|
2651
|
-
|
|
2652
|
-
).href;
|
|
2656
|
+
);
|
|
2653
2657
|
|
|
2654
2658
|
const createKitchen = ({
|
|
2655
2659
|
name,
|
|
@@ -2658,12 +2662,14 @@ const createKitchen = ({
|
|
|
2658
2662
|
|
|
2659
2663
|
rootDirectoryUrl,
|
|
2660
2664
|
mainFilePath,
|
|
2661
|
-
ignore,
|
|
2662
|
-
ignoreProtocol = "remove",
|
|
2663
|
-
supportedProtocols = ["file:", "data:", "virtual:", "http:", "https:"],
|
|
2664
2665
|
dev = false,
|
|
2665
2666
|
build = false,
|
|
2666
2667
|
runtimeCompat,
|
|
2668
|
+
|
|
2669
|
+
ignore,
|
|
2670
|
+
ignoreProtocol = "remove",
|
|
2671
|
+
supportedProtocols = ["file:", "data:", "virtual:", "http:", "https:"],
|
|
2672
|
+
|
|
2667
2673
|
// during dev/test clientRuntimeCompat is a single runtime
|
|
2668
2674
|
// during build clientRuntimeCompat is runtimeCompat
|
|
2669
2675
|
clientRuntimeCompat = runtimeCompat,
|
|
@@ -2676,12 +2682,17 @@ const createKitchen = ({
|
|
|
2676
2682
|
outDirectoryUrl,
|
|
2677
2683
|
initialContext = {},
|
|
2678
2684
|
packageDirectory,
|
|
2685
|
+
packageDependencies,
|
|
2679
2686
|
}) => {
|
|
2680
2687
|
const logger = createLogger({ logLevel });
|
|
2681
2688
|
|
|
2682
2689
|
const nodeRuntimeEnabled = Object.keys(runtimeCompat).includes("node");
|
|
2683
2690
|
const packageConditions = [nodeRuntimeEnabled ? "node" : "browser", "import"];
|
|
2684
2691
|
|
|
2692
|
+
if (packageDependencies === "auto") {
|
|
2693
|
+
packageDependencies = build && nodeRuntimeEnabled ? "ignore" : "include";
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2685
2696
|
const kitchen = {
|
|
2686
2697
|
context: {
|
|
2687
2698
|
...initialContext,
|
|
@@ -2751,6 +2762,82 @@ const createKitchen = ({
|
|
|
2751
2762
|
const protocolIsSupported = supportedProtocols.includes(protocol);
|
|
2752
2763
|
return !protocolIsSupported;
|
|
2753
2764
|
};
|
|
2765
|
+
const isIgnoredBecauseInPackageDependencies = (() => {
|
|
2766
|
+
if (packageDependencies === undefined) {
|
|
2767
|
+
return FUNCTION_RETURNING_FALSE;
|
|
2768
|
+
}
|
|
2769
|
+
if (packageDependencies === "include") {
|
|
2770
|
+
return FUNCTION_RETURNING_FALSE;
|
|
2771
|
+
}
|
|
2772
|
+
if (!packageDirectory.url) {
|
|
2773
|
+
return FUNCTION_RETURNING_FALSE;
|
|
2774
|
+
}
|
|
2775
|
+
const rootPackageJSON = packageDirectory.read(packageDirectory.url);
|
|
2776
|
+
if (!rootPackageJSON) {
|
|
2777
|
+
return FUNCTION_RETURNING_FALSE;
|
|
2778
|
+
}
|
|
2779
|
+
const { dependencies = {}, optionalDependencies = {} } = rootPackageJSON;
|
|
2780
|
+
const dependencyKeys = Object.keys(dependencies);
|
|
2781
|
+
const optionalDependencyKeys = Object.keys(optionalDependencies);
|
|
2782
|
+
const dependencySet = new Set([
|
|
2783
|
+
...dependencyKeys,
|
|
2784
|
+
...optionalDependencyKeys,
|
|
2785
|
+
]);
|
|
2786
|
+
if (dependencySet.size === 0) {
|
|
2787
|
+
return FUNCTION_RETURNING_FALSE;
|
|
2788
|
+
}
|
|
2789
|
+
|
|
2790
|
+
let getEffect;
|
|
2791
|
+
if (packageDependencies === "ignore") {
|
|
2792
|
+
getEffect = (dependencyName) => {
|
|
2793
|
+
if (!dependencySet.has(dependencyName)) {
|
|
2794
|
+
return "include";
|
|
2795
|
+
}
|
|
2796
|
+
return "ignore";
|
|
2797
|
+
};
|
|
2798
|
+
} else if (typeof packageDependencies === "object") {
|
|
2799
|
+
let defaultEffect = "ignore";
|
|
2800
|
+
const dependencyEffectMap = new Map();
|
|
2801
|
+
for (const dependencyKey of Object.keys(packageDependencies)) {
|
|
2802
|
+
const dependencyEffect = packageDependencies[dependencyKey];
|
|
2803
|
+
if (dependencyKey === "*") {
|
|
2804
|
+
defaultEffect = dependencyEffect;
|
|
2805
|
+
} else {
|
|
2806
|
+
dependencyEffectMap.set(dependencyKey, dependencyEffect);
|
|
2807
|
+
}
|
|
2808
|
+
}
|
|
2809
|
+
getEffect = (dependencyName) => {
|
|
2810
|
+
if (!dependencySet.has(dependencyName)) {
|
|
2811
|
+
return "include";
|
|
2812
|
+
}
|
|
2813
|
+
const dependencyEffect = packageDependencies[dependencyName];
|
|
2814
|
+
if (dependencyEffect) {
|
|
2815
|
+
return dependencyEffect;
|
|
2816
|
+
}
|
|
2817
|
+
return defaultEffect;
|
|
2818
|
+
};
|
|
2819
|
+
}
|
|
2820
|
+
return (url) => {
|
|
2821
|
+
if (!url.startsWith("file:")) {
|
|
2822
|
+
return false;
|
|
2823
|
+
}
|
|
2824
|
+
const packageDirectoryUrl = packageDirectory.find(url);
|
|
2825
|
+
if (!packageDirectoryUrl) {
|
|
2826
|
+
return false;
|
|
2827
|
+
}
|
|
2828
|
+
const packageJSON = packageDirectory.read(packageDirectoryUrl);
|
|
2829
|
+
const name = packageJSON?.name;
|
|
2830
|
+
if (!name) {
|
|
2831
|
+
return false;
|
|
2832
|
+
}
|
|
2833
|
+
const effect = getEffect(name);
|
|
2834
|
+
if (effect !== "ignore") {
|
|
2835
|
+
return false;
|
|
2836
|
+
}
|
|
2837
|
+
return true;
|
|
2838
|
+
};
|
|
2839
|
+
})();
|
|
2840
|
+
|
|
2754
2841
|
let isIgnoredByParam = () => false;
|
|
2755
2842
|
if (ignore) {
|
|
2756
2843
|
const associations = URL_META.resolveAssociations(
|
|
@@ -2770,7 +2857,11 @@ const createKitchen = ({
|
|
|
2770
2857
|
};
|
|
2771
2858
|
}
|
|
2772
2859
|
const isIgnored = (url) => {
|
|
2773
|
-
return
|
|
2860
|
+
return (
|
|
2861
|
+
isIgnoredByProtocol(url) ||
|
|
2862
|
+
isIgnoredByParam(url) ||
|
|
2863
|
+
isIgnoredBecauseInPackageDependencies(url)
|
|
2864
|
+
);
|
|
2774
2865
|
};
|
|
2775
2866
|
const resolveReference = (reference) => {
|
|
2776
2867
|
const setReferenceUrl = (referenceUrl) => {
|
|
@@ -3261,6 +3352,8 @@ ${urlInfo.firstReference.trace.message}`;
|
|
|
3261
3352
|
return kitchen;
|
|
3262
3353
|
};
|
|
3263
3354
|
|
|
3355
|
+
const FUNCTION_RETURNING_FALSE = () => false;
|
|
3356
|
+
|
|
3264
3357
|
const debounceCook = (cook) => {
|
|
3265
3358
|
const pendingDishes = new Map();
|
|
3266
3359
|
return async (urlInfo, context) => {
|
|
@@ -8229,29 +8322,6 @@ const jsenvPluginPackageSideEffects = ({ packageDirectory }) => {
|
|
|
8229
8322
|
return [];
|
|
8230
8323
|
}
|
|
8231
8324
|
|
|
8232
|
-
const normalizeSideEffectFileUrl = (url) => {
|
|
8233
|
-
const urlRelativeToPackage = urlToRelativeUrl(url, packageDirectory.url);
|
|
8234
|
-
return urlRelativeToPackage[0] === "."
|
|
8235
|
-
? urlRelativeToPackage
|
|
8236
|
-
: `./${urlRelativeToPackage}`;
|
|
8237
|
-
};
|
|
8238
|
-
|
|
8239
|
-
const updatePackageSideEffects = (sideEffectBuildFileUrls) => {
|
|
8240
|
-
const packageJsonFileUrl = new URL("./package.json", packageDirectory.url)
|
|
8241
|
-
.href;
|
|
8242
|
-
const sideEffectRelativeUrlArray = [];
|
|
8243
|
-
for (const sideEffectBuildUrl of sideEffectBuildFileUrls) {
|
|
8244
|
-
sideEffectRelativeUrlArray.push(
|
|
8245
|
-
normalizeSideEffectFileUrl(sideEffectBuildUrl),
|
|
8246
|
-
);
|
|
8247
|
-
}
|
|
8248
|
-
updateJsonFileSync(packageJsonFileUrl, {
|
|
8249
|
-
sideEffects: sideEffectRelativeUrlArray,
|
|
8250
|
-
});
|
|
8251
|
-
};
|
|
8252
|
-
|
|
8253
|
-
const sideEffectBuildFileUrls = [];
|
|
8254
|
-
|
|
8255
8325
|
const packageSideEffectsCacheMap = new Map();
|
|
8256
8326
|
const readSideEffectInfoFromClosestPackage = (urlInfo) => {
|
|
8257
8327
|
const closestPackageDirectoryUrl = urlInfo.packageDirectoryUrl;
|
|
@@ -8377,52 +8447,17 @@ const jsenvPluginPackageSideEffects = ({ packageDirectory }) => {
|
|
|
8377
8447
|
return;
|
|
8378
8448
|
}
|
|
8379
8449
|
},
|
|
8380
|
-
refineBuildUrlContent: (
|
|
8450
|
+
refineBuildUrlContent: (
|
|
8451
|
+
buildUrlInfo,
|
|
8452
|
+
{ buildUrl, registerBuildSideEffectFile },
|
|
8453
|
+
) => {
|
|
8381
8454
|
for (const sideEffect of buildUrlInfo.contentSideEffects) {
|
|
8382
8455
|
if (sideEffect.has) {
|
|
8383
|
-
|
|
8456
|
+
registerBuildSideEffectFile(buildUrl);
|
|
8384
8457
|
return;
|
|
8385
8458
|
}
|
|
8386
8459
|
}
|
|
8387
8460
|
},
|
|
8388
|
-
refineBuild: (kitchen) => {
|
|
8389
|
-
if (sideEffectBuildFileUrls.length === 0) {
|
|
8390
|
-
return;
|
|
8391
|
-
}
|
|
8392
|
-
if (sideEffects === false) {
|
|
8393
|
-
updatePackageSideEffects(sideEffectBuildFileUrls);
|
|
8394
|
-
return;
|
|
8395
|
-
}
|
|
8396
|
-
const { buildDirectoryUrl } = kitchen.context;
|
|
8397
|
-
const sideEffectFileUrlSet = new Set();
|
|
8398
|
-
if (Array.isArray(sideEffects)) {
|
|
8399
|
-
let packageNeedsUpdate = false;
|
|
8400
|
-
for (const sideEffectFileRelativeUrl of sideEffects) {
|
|
8401
|
-
const sideEffectFileUrl = new URL(
|
|
8402
|
-
sideEffectFileRelativeUrl,
|
|
8403
|
-
packageDirectory.url,
|
|
8404
|
-
).href;
|
|
8405
|
-
if (
|
|
8406
|
-
urlIsInsideOf(sideEffectFileUrl, buildDirectoryUrl) &&
|
|
8407
|
-
!sideEffectBuildFileUrls.includes(sideEffectFileUrl)
|
|
8408
|
-
) {
|
|
8409
|
-
packageNeedsUpdate = true;
|
|
8410
|
-
} else {
|
|
8411
|
-
sideEffectFileUrlSet.add(sideEffectFileUrl);
|
|
8412
|
-
}
|
|
8413
|
-
}
|
|
8414
|
-
for (const sideEffectBuildUrl of sideEffectBuildFileUrls) {
|
|
8415
|
-
if (sideEffectFileUrlSet.has(sideEffectBuildUrl)) {
|
|
8416
|
-
continue;
|
|
8417
|
-
}
|
|
8418
|
-
packageNeedsUpdate = true;
|
|
8419
|
-
sideEffectFileUrlSet.add(sideEffectBuildUrl);
|
|
8420
|
-
}
|
|
8421
|
-
if (packageNeedsUpdate) {
|
|
8422
|
-
updatePackageSideEffects(sideEffectFileUrlSet);
|
|
8423
|
-
}
|
|
8424
|
-
}
|
|
8425
|
-
},
|
|
8426
8461
|
};
|
|
8427
8462
|
};
|
|
8428
8463
|
|
|
@@ -11124,6 +11159,7 @@ const build = async ({
|
|
|
11124
11159
|
entryBuildInfo.buildFileVersions = result.buildFileVersions;
|
|
11125
11160
|
entryBuildInfo.buildInlineContents = result.buildInlineContents;
|
|
11126
11161
|
entryBuildInfo.buildManifest = result.buildManifest;
|
|
11162
|
+
entryBuildInfo.buildSideEffectFiles = result.buildSideEffectFiles;
|
|
11127
11163
|
entryBuildInfo.duration = Date.now() - entryPointBuildStartMs;
|
|
11128
11164
|
onEntryPointBuildEnd();
|
|
11129
11165
|
})();
|
|
@@ -11146,11 +11182,15 @@ const build = async ({
|
|
|
11146
11182
|
const buildFileVersions = {};
|
|
11147
11183
|
const buildInlineContents = {};
|
|
11148
11184
|
const buildManifest = {};
|
|
11185
|
+
const buildSideEffectUrlSet = new Set();
|
|
11149
11186
|
for (const [, entryBuildInfo] of entryBuildInfoMap) {
|
|
11150
11187
|
Object.assign(buildFileContents, entryBuildInfo.buildFileContents);
|
|
11151
11188
|
Object.assign(buildFileVersions, entryBuildInfo.buildFileVersions);
|
|
11152
11189
|
Object.assign(buildInlineContents, entryBuildInfo.buildInlineContents);
|
|
11153
11190
|
Object.assign(buildManifest, entryBuildInfo.buildManifest);
|
|
11191
|
+
for (const buildSideEffectUrl of entryBuildInfo.buildSideEffectFiles) {
|
|
11192
|
+
buildSideEffectUrlSet.add(buildSideEffectUrl);
|
|
11193
|
+
}
|
|
11154
11194
|
}
|
|
11155
11195
|
if (writeOnFileSystem) {
|
|
11156
11196
|
clearDirectorySync(buildDirectoryUrl, buildDirectoryCleanPatterns);
|
|
@@ -11159,6 +11199,70 @@ const build = async ({
|
|
|
11159
11199
|
const buildUrl = new URL(buildRelativeUrl, buildDirectoryUrl);
|
|
11160
11200
|
writeFileSync(buildUrl, buildFileContents[buildRelativeUrl]);
|
|
11161
11201
|
}
|
|
11202
|
+
if (buildSideEffectUrlSet.size) {
|
|
11203
|
+
const normalizeSideEffectFileUrl = (url) => {
|
|
11204
|
+
const urlRelativeToPackage = urlToRelativeUrl(
|
|
11205
|
+
url,
|
|
11206
|
+
packageDirectory.url,
|
|
11207
|
+
);
|
|
11208
|
+
return urlRelativeToPackage[0] === "."
|
|
11209
|
+
? urlRelativeToPackage
|
|
11210
|
+
: `./${urlRelativeToPackage}`;
|
|
11211
|
+
};
|
|
11212
|
+
const updatePackageSideEffects = (sideEffectUrlSet) => {
|
|
11213
|
+
const packageJsonFileUrl = new URL(
|
|
11214
|
+
"./package.json",
|
|
11215
|
+
packageDirectory.url,
|
|
11216
|
+
).href;
|
|
11217
|
+
const sideEffectRelativeUrlArray = [];
|
|
11218
|
+
for (const sideEffectUrl of sideEffectUrlSet) {
|
|
11219
|
+
sideEffectRelativeUrlArray.push(
|
|
11220
|
+
normalizeSideEffectFileUrl(sideEffectUrl),
|
|
11221
|
+
);
|
|
11222
|
+
}
|
|
11223
|
+
updateJsonFileSync(packageJsonFileUrl, {
|
|
11224
|
+
sideEffects: sideEffectRelativeUrlArray,
|
|
11225
|
+
});
|
|
11226
|
+
};
|
|
11227
|
+
const sideEffects = readPackageDirectory(
|
|
11228
|
+
packageDirectory.url,
|
|
11229
|
+
)?.sideEffects;
|
|
11230
|
+
if (sideEffects === false) {
|
|
11231
|
+
updatePackageSideEffects(buildSideEffectUrlSet);
|
|
11232
|
+
} else if (Array.isArray(sideEffects)) {
|
|
11233
|
+
const sideEffectUrlSet = new Set();
|
|
11234
|
+
const packageSideEffectUrlSet = new Set();
|
|
11235
|
+
for (const sideEffectFileRelativeUrl of sideEffects) {
|
|
11236
|
+
const sideEffectFileUrl = new URL(
|
|
11237
|
+
sideEffectFileRelativeUrl,
|
|
11238
|
+
packageDirectory.url,
|
|
11239
|
+
).href;
|
|
11240
|
+
packageSideEffectUrlSet.add(sideEffectFileUrl);
|
|
11241
|
+
}
|
|
11242
|
+
let hasSomeOutdatedSideEffectUrl = false;
|
|
11243
|
+
for (const packageSideEffectUrl of packageSideEffectUrlSet) {
|
|
11244
|
+
if (
|
|
11245
|
+
urlIsInsideOf(packageSideEffectUrl, buildDirectoryUrl) &&
|
|
11246
|
+
!buildSideEffectUrlSet.has(packageSideEffectUrl)
|
|
11247
|
+
) {
|
|
11248
|
+
hasSomeOutdatedSideEffectUrl = true;
|
|
11249
|
+
} else {
|
|
11250
|
+
sideEffectUrlSet.add(packageSideEffectUrl);
|
|
11251
|
+
}
|
|
11252
|
+
}
|
|
11253
|
+
let hasSomeNewSideEffectsUrl = false;
|
|
11254
|
+
for (const buildSideEffectUrl of buildSideEffectUrlSet) {
|
|
11255
|
+
if (packageSideEffectUrlSet.has(buildSideEffectUrl)) {
|
|
11256
|
+
continue;
|
|
11257
|
+
}
|
|
11258
|
+
hasSomeNewSideEffectsUrl = true;
|
|
11259
|
+
sideEffectUrlSet.add(buildSideEffectUrl);
|
|
11260
|
+
}
|
|
11261
|
+
if (hasSomeOutdatedSideEffectUrl || hasSomeNewSideEffectsUrl) {
|
|
11262
|
+
updatePackageSideEffects(sideEffectUrlSet);
|
|
11263
|
+
}
|
|
11264
|
+
}
|
|
11265
|
+
}
|
|
11162
11266
|
}
|
|
11163
11267
|
onBuildEnd({
|
|
11164
11268
|
buildFileContents,
|
|
@@ -11284,6 +11388,7 @@ const entryPointDefaultParams = {
|
|
|
11284
11388
|
assetManifest: false,
|
|
11285
11389
|
assetManifestFileRelativeUrl: "asset-manifest.json",
|
|
11286
11390
|
packageSideEffects: true,
|
|
11391
|
+
packageDependencies: "auto", // "auto", "ignore", "include"
|
|
11287
11392
|
};
|
|
11288
11393
|
|
|
11289
11394
|
const prepareEntryPointBuild = async (
|
|
@@ -11334,6 +11439,7 @@ const prepareEntryPointBuild = async (
|
|
|
11334
11439
|
assetManifest,
|
|
11335
11440
|
assetManifestFileRelativeUrl,
|
|
11336
11441
|
packageSideEffects,
|
|
11442
|
+
packageDependencies,
|
|
11337
11443
|
} = {
|
|
11338
11444
|
...entryPointDefaultParams,
|
|
11339
11445
|
...entryPointParams,
|
|
@@ -11427,6 +11533,7 @@ const prepareEntryPointBuild = async (
|
|
|
11427
11533
|
? new URL("craft/", outDirectoryUrl)
|
|
11428
11534
|
: undefined,
|
|
11429
11535
|
packageDirectory,
|
|
11536
|
+
packageDependencies,
|
|
11430
11537
|
});
|
|
11431
11538
|
|
|
11432
11539
|
let _getOtherEntryBuildInfo;
|
|
@@ -11526,6 +11633,7 @@ const prepareEntryPointBuild = async (
|
|
|
11526
11633
|
? new URL("shape/", outDirectoryUrl)
|
|
11527
11634
|
: undefined,
|
|
11528
11635
|
packageDirectory,
|
|
11636
|
+
packageDependencies,
|
|
11529
11637
|
});
|
|
11530
11638
|
const buildSpecifierManager = createBuildSpecifierManager({
|
|
11531
11639
|
rawKitchen,
|
|
@@ -11731,6 +11839,7 @@ const prepareEntryPointBuild = async (
|
|
|
11731
11839
|
});
|
|
11732
11840
|
}
|
|
11733
11841
|
|
|
11842
|
+
const buildSideEffectFiles = [];
|
|
11734
11843
|
{
|
|
11735
11844
|
finalKitchen.context.buildStep = "refine";
|
|
11736
11845
|
|
|
@@ -11818,6 +11927,9 @@ const prepareEntryPointBuild = async (
|
|
|
11818
11927
|
for (const refineBuildUrlContentCallback of refineBuildUrlContentCallbackSet) {
|
|
11819
11928
|
refineBuildUrlContentCallback(buildUrlInfo, {
|
|
11820
11929
|
buildUrl: buildSpecifierManager.getBuildUrl(buildUrlInfo),
|
|
11930
|
+
registerBuildSideEffectFile: (buildFileUrl) => {
|
|
11931
|
+
buildSideEffectFiles.push(buildFileUrl);
|
|
11932
|
+
},
|
|
11821
11933
|
});
|
|
11822
11934
|
}
|
|
11823
11935
|
},
|
|
@@ -11848,6 +11960,7 @@ const prepareEntryPointBuild = async (
|
|
|
11848
11960
|
buildFileVersions,
|
|
11849
11961
|
buildInlineContents,
|
|
11850
11962
|
buildManifest,
|
|
11963
|
+
buildSideEffectFiles,
|
|
11851
11964
|
};
|
|
11852
11965
|
},
|
|
11853
11966
|
};
|
|
@@ -891,6 +891,30 @@ function isUnicodeSupported$1() {
|
|
|
891
891
|
|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';
|
|
892
892
|
}
|
|
893
893
|
|
|
894
|
+
function ansiRegex({onlyFirst = false} = {}) {
|
|
895
|
+
// Valid string terminator sequences are BEL, ESC\, and 0x9c
|
|
896
|
+
const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)';
|
|
897
|
+
const pattern = [
|
|
898
|
+
`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
|
|
899
|
+
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
|
|
900
|
+
].join('|');
|
|
901
|
+
|
|
902
|
+
return new RegExp(pattern, onlyFirst ? undefined : 'g');
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
const regex = ansiRegex();
|
|
906
|
+
|
|
907
|
+
function stripAnsi(string) {
|
|
908
|
+
if (typeof string !== 'string') {
|
|
909
|
+
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
// Even though the regex is global, we don't need to reset the `.lastIndex`
|
|
913
|
+
// because unlike `.exec()` and `.test()`, `.replace()` does it automatically
|
|
914
|
+
// and doing it manually has a performance penalty.
|
|
915
|
+
return string.replace(regex, '');
|
|
916
|
+
}
|
|
917
|
+
|
|
894
918
|
const r$1 = String.raw;
|
|
895
919
|
const seq$1 = r$1`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`;
|
|
896
920
|
const sTags$1 = r$1`\u{E0061}-\u{E007A}`;
|
|
@@ -2042,4 +2066,4 @@ const clearTerminal = isWindows
|
|
|
2042
2066
|
// More info: https://www.real-world-systems.com/docs/ANSIcode.html
|
|
2043
2067
|
: `${eraseScreen}${ESC}3J${ESC}H`;
|
|
2044
2068
|
|
|
2045
|
-
export { clearTerminal$2 as clearTerminal, clearTerminal$1, clearTerminal as clearTerminal$2, createSupportsColor$2 as createSupportsColor, createSupportsColor$1, createSupportsColor as createSupportsColor$2, eastAsianWidth$2 as eastAsianWidth, eastAsianWidth$1, eastAsianWidth as eastAsianWidth$2, emojiRegex$2 as emojiRegex, emojiRegex$1, emojiRegex as emojiRegex$2, eraseLines$2 as eraseLines, eraseLines$1, eraseLines as eraseLines$2, isUnicodeSupported$2 as isUnicodeSupported, isUnicodeSupported$1, isUnicodeSupported as isUnicodeSupported$2 };
|
|
2069
|
+
export { clearTerminal$2 as clearTerminal, clearTerminal$1, clearTerminal as clearTerminal$2, createSupportsColor$2 as createSupportsColor, createSupportsColor$1, createSupportsColor as createSupportsColor$2, eastAsianWidth$2 as eastAsianWidth, eastAsianWidth$1, eastAsianWidth as eastAsianWidth$2, emojiRegex$2 as emojiRegex, emojiRegex$1, emojiRegex as emojiRegex$2, eraseLines$2 as eraseLines, eraseLines$1, eraseLines as eraseLines$2, isUnicodeSupported$2 as isUnicodeSupported, isUnicodeSupported$1, isUnicodeSupported as isUnicodeSupported$2, stripAnsi };
|