extension-develop 4.1.12 → 4.1.14
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/0~dev-server.mjs +147 -81
- package/dist/0~rspack-config.mjs +1098 -694
- package/dist/0~zip.mjs +1 -1
- package/dist/101.mjs +190 -900
- package/dist/129.mjs +89 -0
- package/dist/278.mjs +52 -0
- package/dist/292.mjs +61 -0
- package/dist/372.mjs +87 -0
- package/dist/518.mjs +434 -0
- package/dist/77.mjs +933 -0
- package/dist/80.mjs +6 -4
- package/dist/839.mjs +176 -39
- package/dist/845.mjs +10 -1
- package/dist/887.mjs +1 -1
- package/dist/bridge-entry.d.ts +2 -1
- package/dist/bridge.mjs +56 -7
- package/dist/css-parse-guard-loader.mjs +3 -0
- package/dist/dead-css-url-loader.mjs +51 -24
- package/dist/dev-server/cleanup.d.ts +2 -1
- package/dist/dev-server/control-bridge/broker.d.ts +1 -0
- package/dist/dev-server/control-bridge/contracts.d.ts +2 -0
- package/dist/dev-server/control-bridge/logs-query.d.ts +12 -1
- package/dist/dev-server/control-bridge/producer-runtime.d.ts +1 -1
- package/dist/dev-server/messages.d.ts +8 -0
- package/dist/dev-server/session-restart.d.ts +29 -0
- package/dist/ensure-hmr-for-scripts.js +37 -20
- package/dist/ensure-hmr-for-scripts.mjs +37 -20
- package/dist/extension-js-devtools/chrome/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/chrome/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/chromium/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/chromium/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/edge/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/edge/scripts/logger-client.js +1 -1
- package/dist/extension-js-devtools/firefox/content_scripts/content-0.js +2 -2
- package/dist/extension-js-devtools/firefox/scripts/logger-client.js +1 -1
- package/dist/feature-scripts-classic-concat-loader.js +58 -5
- package/dist/feature-scripts-classic-concat-loader.mjs +58 -5
- package/dist/feature-scripts-content-script-wrapper.js +14 -17
- package/dist/feature-scripts-content-script-wrapper.mjs +14 -17
- package/dist/feature-scripts-native-geturl-import-loader.mjs +10 -3
- package/dist/lib/asset-source-maps.d.ts +7 -0
- package/dist/lib/config-loader.d.ts +7 -34
- package/dist/lib/loader-source-maps.d.ts +17 -0
- package/dist/lib/messages.d.ts +1 -0
- package/dist/lib/msg-placeholders.d.ts +2 -0
- package/dist/lib/paths.d.ts +2 -0
- package/dist/lib/project.d.ts +3 -0
- package/dist/lib/session-project-root.d.ts +1 -0
- package/dist/minimum-script-file.js +41 -1
- package/dist/minimum-script-file.mjs +41 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.mjs +1 -1
- package/dist/plugin-css/css-lib/dead-url-refs.d.ts +5 -0
- package/dist/plugin-css/css-lib/inline-content-script-css.d.ts +32 -0
- package/dist/plugin-css/css-lib/messages.d.ts +3 -0
- package/dist/plugin-css/css-lib/verbatim-css.d.ts +9 -0
- package/dist/plugin-css/css-parse-guard-loader.d.ts +3 -0
- package/dist/plugin-css/css-tools/postcss.d.ts +1 -0
- package/dist/plugin-css/dead-css-url-loader.d.ts +8 -4
- package/dist/plugin-css/index.d.ts +1 -0
- package/dist/plugin-js-frameworks/js-frameworks-lib/jsx-transform.d.ts +10 -0
- package/dist/plugin-js-frameworks/js-tools/solid-jsx-runtime.d.ts +8 -0
- package/dist/plugin-js-frameworks/js-tools/solid.d.ts +3 -0
- package/dist/plugin-js-frameworks/swc-targets.d.ts +3 -0
- package/dist/plugin-reload/classify-reload.d.ts +6 -0
- package/dist/plugin-reload/index.d.ts +2 -1
- package/dist/plugin-reload/reload-dispatch.d.ts +1 -0
- package/dist/plugin-special-folders/folder-extensions/resolve-dirs.d.ts +1 -0
- package/dist/plugin-special-folders/folder-extensions/utils.d.ts +3 -0
- package/dist/plugin-special-folders/messages.d.ts +2 -0
- package/dist/plugin-special-folders/resolve-public-folder.d.ts +13 -0
- package/dist/plugin-web-extension/feature-html/html-lib/assets.d.ts +1 -1
- package/dist/plugin-web-extension/feature-html/html-lib/base-href.d.ts +11 -0
- package/dist/plugin-web-extension/feature-html/html-lib/patch-html.d.ts +2 -2
- package/dist/plugin-web-extension/feature-html/html-lib/utils.d.ts +13 -0
- package/dist/plugin-web-extension/feature-html/index.d.ts +1 -0
- package/dist/plugin-web-extension/feature-html/steps/ensure-hmr-for-scripts.d.ts +1 -1
- package/dist/plugin-web-extension/feature-icons/extract-action-theme-icons.d.ts +2 -0
- package/dist/plugin-web-extension/feature-icons/omnibox-fields.d.ts +2 -0
- package/dist/plugin-web-extension/feature-icons/theme-image-fields.d.ts +2 -0
- package/dist/plugin-web-extension/feature-json/json-validation.d.ts +1 -0
- package/dist/plugin-web-extension/feature-manifest/index.d.ts +1 -0
- package/dist/plugin-web-extension/feature-manifest/manifest-lib/manifest.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/common/index.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/common/sandbox.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/common/storage.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/common/theme.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/index.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv2/chrome_settings_overrides.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv2/index.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv2/theme_experiment.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv3/action.d.ts +2 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv3/declarative_net_request.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/manifest-overrides/mv3/index.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/messages.d.ts +2 -0
- package/dist/plugin-web-extension/feature-manifest/normalize-manifest-path.d.ts +4 -0
- package/dist/plugin-web-extension/feature-manifest/steps/apply-dev-defaults-lib/patch-csp.d.ts +1 -1
- package/dist/plugin-web-extension/feature-manifest/steps/apply-dev-defaults.d.ts +1 -0
- package/dist/plugin-web-extension/feature-scripts/steps/native-geturl-import-loader.d.ts +7 -2
- package/dist/plugin-web-extension/feature-web-resources/collect-entry-imports.d.ts +1 -0
- package/dist/plugin-web-extension/index.d.ts +1 -0
- package/dist/plugin-web-extension/shared/html-surfaces.d.ts +19 -0
- package/dist/plugin-web-extension/shared/manifest-fields-change-detector.d.ts +1 -0
- package/dist/plugin-web-extension/shared/manifest-fields.d.ts +18 -0
- package/dist/plugin-web-extension/shared/manifest-path-assets.d.ts +4 -0
- package/dist/plugin-web-extension/shared/paths.d.ts +1 -0
- package/dist/solid-jsx-runtime.mjs +15 -0
- package/dist/types.d.ts +20 -7
- package/package.json +1 -1
- package/dist/494.mjs +0 -89
- package/dist/86.mjs +0 -36
package/dist/80.mjs
CHANGED
|
@@ -181,13 +181,15 @@ function findNearestProjectManifestSync(manifestPath) {
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
function findNearestDenoConfigSync(manifestPath) {
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
if (/^(?:\.[\\/])?[a-z][a-z0-9+.-]+:[\\/]+/i.test(manifestPath)) return null;
|
|
185
|
+
const root = __rspack_external_node_path_c5b9b54f.parse(__rspack_external_node_path_c5b9b54f.resolve(manifestPath)).root;
|
|
186
|
+
let currentDir = __rspack_external_node_path_c5b9b54f.dirname(__rspack_external_node_path_c5b9b54f.resolve(manifestPath));
|
|
186
187
|
while(true){
|
|
187
188
|
const found = findDenoConfigPath(currentDir);
|
|
188
189
|
if (found) return found;
|
|
189
|
-
|
|
190
|
-
currentDir
|
|
190
|
+
const parentDir = __rspack_external_node_path_c5b9b54f.dirname(currentDir);
|
|
191
|
+
if (currentDir === root || parentDir === currentDir) return null;
|
|
192
|
+
currentDir = parentDir;
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
195
|
function validateDenoConfig(denoConfigPath) {
|
package/dist/839.mjs
CHANGED
|
@@ -5,10 +5,11 @@ import { buildExecEnv, detectPackageManagerFromLockfile } from "prefers-yarn";
|
|
|
5
5
|
import "pintor";
|
|
6
6
|
import { EventEmitter } from "node:events";
|
|
7
7
|
import { browserRowValue, ENVELOPE, CODES, prefix as messaging_prefix, card, isDebug, claimCardKey, isMachineOutput } from "./349.mjs";
|
|
8
|
-
import { package_namespaceObject,
|
|
8
|
+
import { package_namespaceObject, loadCommandConfig, DEV_COMMAND_DEFAULTS, stampReadyDistExtensionId, loadProjectConfigDefaults, mergeOptionLayers, stampReadyKnownExtensionId, assertNoManagedDependencyConflicts, loadCustomConfig, START_BUILD_DEFAULTS, loadBrowserConfig, resolveCompanionExtensionsConfig, BUILD_COMMAND_DEFAULTS, getSpecialFoldersDataForProjectRoot, withDarkMode } from "./101.mjs";
|
|
9
9
|
import { stripBom, parseJsonSafe } from "./23.mjs";
|
|
10
|
+
import { buildAssetsTree, buildWarningsDetails, getProjectStructure, buildFailed, needsInstall, getDirs, buildCommandFailed, writingTypeDefinitions, buildComplete, zipArtifactReady, ensureSessionStateInProjectGitignore, projectInstallFallbackToNpm, ensureSessionArtifactsIgnoreFile, normalizeBrowser, debugDirs, debugBrowser, debugOutputPath, browserLaunchFailed, buildSummaryPath, extensionLoadRecovered, extensionLoadStillRefused, getDistPath, buildShareHint, writingTypeDefinitionsError, devCommandFailed, projectInstallScriptsDisabled, authorInstallNotice, configBrowserOrThrow } from "./77.mjs";
|
|
10
11
|
import { hasProjectDependency, findNearestProjectManifestDirSync } from "./80.mjs";
|
|
11
|
-
import {
|
|
12
|
+
import { publicRootsFor } from "./278.mjs";
|
|
12
13
|
import { getCanonicalContentScriptEntryName } from "./291.mjs";
|
|
13
14
|
import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
|
|
14
15
|
import { dirname as __rspack_dirname } from "node:path";
|
|
@@ -808,10 +809,67 @@ async function ensureDevelopArtifacts() {
|
|
|
808
809
|
stdio
|
|
809
810
|
});
|
|
810
811
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
812
|
+
const EXTENSION_ENV_TYPES_PACKAGE = 'extension';
|
|
813
|
+
const STYLE_TYPE = 'Readonly<Record<string, string>>';
|
|
814
|
+
const EXTENSION_ENV_WILDCARD_MODULES = Object.freeze([
|
|
815
|
+
{
|
|
816
|
+
pattern: '*.css',
|
|
817
|
+
type: STYLE_TYPE
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
pattern: '*.module.css',
|
|
821
|
+
type: STYLE_TYPE
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
pattern: '*.module.scss',
|
|
825
|
+
type: STYLE_TYPE
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
pattern: '*.module.sass',
|
|
829
|
+
type: STYLE_TYPE
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
pattern: '*.png',
|
|
833
|
+
type: 'string'
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
pattern: '*.jpg',
|
|
837
|
+
type: 'string'
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
pattern: '*.jpeg',
|
|
841
|
+
type: 'string'
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
pattern: '*.gif',
|
|
845
|
+
type: 'string'
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
pattern: '*.webp',
|
|
849
|
+
type: 'string'
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
pattern: '*.avif',
|
|
853
|
+
type: 'string'
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
pattern: '*.ico',
|
|
857
|
+
type: 'string'
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
pattern: '*.bmp',
|
|
861
|
+
type: 'string'
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
pattern: '*.svg',
|
|
865
|
+
type: 'any'
|
|
866
|
+
}
|
|
867
|
+
]);
|
|
868
|
+
function renderWildcardModuleDeclarations(modules = EXTENSION_ENV_WILDCARD_MODULES) {
|
|
869
|
+
return modules.map(({ pattern, type })=>`declare module '${pattern}' {\n const content: ${type}\n export default content\n}\n`).join('');
|
|
870
|
+
}
|
|
871
|
+
function renderExtensionEnvTypes(typePath = EXTENSION_ENV_TYPES_PACKAGE) {
|
|
872
|
+
return `\
|
|
815
873
|
// Required Extension.js types for TypeScript projects.
|
|
816
874
|
// This file is auto-generated and should not be excluded.
|
|
817
875
|
// If you need additional types, consider creating a new *.d.ts file and
|
|
@@ -821,7 +879,15 @@ async function generateExtensionTypes(manifestDir, packageJsonDir) {
|
|
|
821
879
|
|
|
822
880
|
// Polyfill types for browser.* APIs
|
|
823
881
|
/// <reference types="${typePath}/types/polyfill" />
|
|
824
|
-
|
|
882
|
+
|
|
883
|
+
// Asset and stylesheet imports. These wildcard declarations also live in
|
|
884
|
+
// ${typePath}/types, but TypeScript 7 native does not apply them through the
|
|
885
|
+
// reference above, so they are emitted here as well.
|
|
886
|
+
${renderWildcardModuleDeclarations()}`;
|
|
887
|
+
}
|
|
888
|
+
async function generateExtensionTypes(manifestDir, packageJsonDir) {
|
|
889
|
+
const extensionEnvFile = __rspack_external_node_path_c5b9b54f.join(packageJsonDir, 'extension-env.d.ts');
|
|
890
|
+
const fileContent = renderExtensionEnvTypes();
|
|
825
891
|
try {
|
|
826
892
|
await __rspack_external_node_fs_promises_153e37e0.access(extensionEnvFile);
|
|
827
893
|
const existingContent = await __rspack_external_node_fs_promises_153e37e0.readFile(extensionEnvFile, 'utf8');
|
|
@@ -1041,8 +1107,10 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
|
|
|
1041
1107
|
const projectStructure = await getProjectStructure(pathOrRemoteUrl);
|
|
1042
1108
|
const isVitest = 'true' === process.env.VITEST;
|
|
1043
1109
|
const shouldExitOnError = (buildOptions?.exitOnError ?? false) && !isVitest;
|
|
1044
|
-
const browser = normalizeBrowser(buildOptions?.browser || 'chrome', buildOptions?.chromiumBinary, buildOptions?.geckoBinary || buildOptions?.firefoxBinary, buildOptions?.safariBinary);
|
|
1045
1110
|
const { manifestDir, packageJsonDir } = getDirs(projectStructure);
|
|
1111
|
+
const commandKey = buildOptions?.metadataCommand === 'start' ? 'start' : 'build';
|
|
1112
|
+
const configBrowser = buildOptions?.browser ? void 0 : configBrowserOrThrow((await loadCommandConfig(packageJsonDir, commandKey)).browser, commandKey);
|
|
1113
|
+
const browser = normalizeBrowser(buildOptions?.browser || configBrowser || 'chrome', buildOptions?.chromiumBinary, buildOptions?.geckoBinary || buildOptions?.firefoxBinary, buildOptions?.safariBinary);
|
|
1046
1114
|
const distPath = getDistPath(packageJsonDir, browser);
|
|
1047
1115
|
const stagingDistPath = stagingDistPathFor(distPath);
|
|
1048
1116
|
const isAuthor = isDebug();
|
|
@@ -1060,11 +1128,11 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
|
|
|
1060
1128
|
const debug = isAuthor;
|
|
1061
1129
|
const userManifestPath = projectStructure.packageJsonPath || projectStructure.denoJsonPath;
|
|
1062
1130
|
if (userManifestPath) assertNoManagedDependencyConflicts(userManifestPath, manifestDir);
|
|
1063
|
-
const
|
|
1131
|
+
const projectConfig = await loadProjectConfigDefaults(packageJsonDir);
|
|
1064
1132
|
const commandConfig = await loadCommandConfig(packageJsonDir, commandKey);
|
|
1065
1133
|
const browserConfig = await loadBrowserConfig(packageJsonDir, browser);
|
|
1066
1134
|
const specialFoldersData = getSpecialFoldersDataForProjectRoot(packageJsonDir);
|
|
1067
|
-
const mergedBuildOptions = mergeOptionLayers('start' === commandKey ? START_BUILD_DEFAULTS : BUILD_COMMAND_DEFAULTS, browserConfig, commandConfig, buildOptions);
|
|
1135
|
+
const mergedBuildOptions = mergeOptionLayers('start' === commandKey ? START_BUILD_DEFAULTS : BUILD_COMMAND_DEFAULTS, projectConfig, browserConfig, commandConfig, buildOptions);
|
|
1068
1136
|
const silent = Boolean(mergedBuildOptions.silent);
|
|
1069
1137
|
removeStaleStagingDirs(distPath);
|
|
1070
1138
|
if (debug) {
|
|
@@ -1072,7 +1140,7 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
|
|
|
1072
1140
|
console.log(debugBrowser(browser, buildOptions?.chromiumBinary, buildOptions?.geckoBinary || buildOptions?.firefoxBinary));
|
|
1073
1141
|
console.log(debugOutputPath(distPath));
|
|
1074
1142
|
}
|
|
1075
|
-
const mergedExtensionsConfig = buildOptions?.extensions ?? commandConfig.extensions ?? browserConfig.extensions ?? specialFoldersData.extensions;
|
|
1143
|
+
const mergedExtensionsConfig = buildOptions?.extensions ?? commandConfig.extensions ?? browserConfig.extensions ?? projectConfig.extensions ?? specialFoldersData.extensions;
|
|
1076
1144
|
const resolvedExtensionsConfig = await resolveCompanionExtensionsConfig({
|
|
1077
1145
|
projectRoot: packageJsonDir,
|
|
1078
1146
|
browser,
|
|
@@ -1100,7 +1168,8 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
|
|
|
1100
1168
|
});
|
|
1101
1169
|
const compilerConfig = merge(userConfig);
|
|
1102
1170
|
compilerConfig.stats = false;
|
|
1103
|
-
const
|
|
1171
|
+
const compileContext = 'string' == typeof compilerConfig.context && compilerConfig.context ? __rspack_external_node_path_c5b9b54f.resolve(compilerConfig.context) : packageJsonDir;
|
|
1172
|
+
const mergedOutputPath = 'string' == typeof compilerConfig.output?.path ? __rspack_external_node_path_c5b9b54f.resolve(compileContext, compilerConfig.output.path) : '';
|
|
1104
1173
|
const useStagingSwap = mergedOutputPath === __rspack_external_node_path_c5b9b54f.resolve(stagingDistPath);
|
|
1105
1174
|
const displayDistPath = useStagingSwap || !mergedOutputPath ? distPath : mergedOutputPath;
|
|
1106
1175
|
if (!useStagingSwap && mergedOutputPath) try {
|
|
@@ -1171,7 +1240,7 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
|
|
|
1171
1240
|
warnings: true,
|
|
1172
1241
|
errors: true
|
|
1173
1242
|
});
|
|
1174
|
-
summary = getBuildSummary(browser, info,
|
|
1243
|
+
summary = getBuildSummary(browser, info, displayDistPath);
|
|
1175
1244
|
try {
|
|
1176
1245
|
const summaryFile = buildSummaryPath(packageJsonDir, browser);
|
|
1177
1246
|
__rspack_external_node_fs_5ea92f0c.mkdirSync(__rspack_external_node_path_c5b9b54f.dirname(summaryFile), {
|
|
@@ -1237,7 +1306,10 @@ function viaBroker(broker, instruction) {
|
|
|
1237
1306
|
type: instruction.type,
|
|
1238
1307
|
changedContentScriptEntries: instruction.changedContentScriptEntries,
|
|
1239
1308
|
label: instruction.label,
|
|
1240
|
-
changedFiles: instruction.changedAssets
|
|
1309
|
+
changedFiles: instruction.changedAssets,
|
|
1310
|
+
...instruction.changedScriptFiles?.length ? {
|
|
1311
|
+
changedScriptFiles: instruction.changedScriptFiles
|
|
1312
|
+
} : {}
|
|
1241
1313
|
});
|
|
1242
1314
|
}
|
|
1243
1315
|
function formatReloadingLine(label) {
|
|
@@ -1262,9 +1334,17 @@ function isForcedFullPath(normalized) {
|
|
|
1262
1334
|
function isHotAsset(normalized) {
|
|
1263
1335
|
return normalized.startsWith('hot/') || normalized.includes('.hot-update.');
|
|
1264
1336
|
}
|
|
1337
|
+
function isDirectory(absolute) {
|
|
1338
|
+
try {
|
|
1339
|
+
return __rspack_external_node_fs_5ea92f0c.statSync(absolute).isDirectory();
|
|
1340
|
+
} catch {
|
|
1341
|
+
return false;
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1265
1344
|
function normalizeChangedPath(file, contextDir) {
|
|
1266
1345
|
const raw = String(file || '');
|
|
1267
1346
|
if (!raw) return;
|
|
1347
|
+
if (__rspack_external_node_path_c5b9b54f.isAbsolute(raw) && isDirectory(raw)) return;
|
|
1268
1348
|
const normalized = __rspack_external_node_path_c5b9b54f.isAbsolute(raw) ? __rspack_external_node_path_c5b9b54f.relative(contextDir, raw).replace(/\\/g, '/') : raw.replace(/\\/g, '/');
|
|
1269
1349
|
if (!normalized) return;
|
|
1270
1350
|
return normalized;
|
|
@@ -1367,6 +1447,22 @@ function pageContextFromSources(changedSources) {
|
|
|
1367
1447
|
for (const rel of changedSources)for (const [re, name] of rules)if (re.test(rel)) return name;
|
|
1368
1448
|
return 'page';
|
|
1369
1449
|
}
|
|
1450
|
+
function publicOutputPath(rel, publicRoots) {
|
|
1451
|
+
for (const root of publicRoots || []){
|
|
1452
|
+
const prefix = root.replace(/\/+$/, '');
|
|
1453
|
+
if (prefix) {
|
|
1454
|
+
if (rel.startsWith(`${prefix}/`)) return rel.slice(prefix.length + 1);
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
function relativePublicRoots(compilation, contextDir) {
|
|
1459
|
+
const out = [];
|
|
1460
|
+
for (const root of publicRootsFor(compilation?.compiler)){
|
|
1461
|
+
const rel = __rspack_external_node_path_c5b9b54f.relative(contextDir, root).replace(/\\/g, '/');
|
|
1462
|
+
if (rel && !rel.startsWith('..') && !__rspack_external_node_path_c5b9b54f.isAbsolute(rel)) out.push(rel);
|
|
1463
|
+
}
|
|
1464
|
+
return out;
|
|
1465
|
+
}
|
|
1370
1466
|
function moduleResourcesFromIdentifier(identifier, contextDir) {
|
|
1371
1467
|
const afterLoaders = identifier.slice(identifier.lastIndexOf('!') + 1);
|
|
1372
1468
|
const noLayer = afterLoaders.split('|')[0];
|
|
@@ -1387,10 +1483,13 @@ function moduleResourcesFromIdentifier(identifier, contextDir) {
|
|
|
1387
1483
|
return out;
|
|
1388
1484
|
}
|
|
1389
1485
|
function buildSourceFeatureIndex(compilation, contextDir) {
|
|
1486
|
+
const scriptFilesBySource = new Map();
|
|
1390
1487
|
const index = {
|
|
1391
1488
|
swSources: new Set(),
|
|
1392
1489
|
contentEntriesBySource: new Map(),
|
|
1393
|
-
pageSources: new Set()
|
|
1490
|
+
pageSources: new Set(),
|
|
1491
|
+
scriptFilesBySource,
|
|
1492
|
+
publicRoots: relativePublicRoots(compilation, contextDir)
|
|
1394
1493
|
};
|
|
1395
1494
|
const chunkGraph = compilation.chunkGraph;
|
|
1396
1495
|
for (const chunk of compilation.chunks || []){
|
|
@@ -1398,6 +1497,7 @@ function buildSourceFeatureIndex(compilation, contextDir) {
|
|
|
1398
1497
|
if (!name) continue;
|
|
1399
1498
|
const isBackground = /^background\//.test(name);
|
|
1400
1499
|
const isContent = /^content_scripts\//.test(name);
|
|
1500
|
+
const scriptFiles = /^scripts\//.test(name) ? emittedScriptFiles(chunk, name) : [];
|
|
1401
1501
|
for (const module of chunkGraph.getChunkModulesIterable(chunk)){
|
|
1402
1502
|
let identifier = '';
|
|
1403
1503
|
try {
|
|
@@ -1405,19 +1505,48 @@ function buildSourceFeatureIndex(compilation, contextDir) {
|
|
|
1405
1505
|
} catch {
|
|
1406
1506
|
continue;
|
|
1407
1507
|
}
|
|
1408
|
-
for (const rel of moduleResourcesFromIdentifier(identifier, contextDir))
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1508
|
+
for (const rel of moduleResourcesFromIdentifier(identifier, contextDir)){
|
|
1509
|
+
if (isBackground) index.swSources.add(rel);
|
|
1510
|
+
else if (isContent) {
|
|
1511
|
+
let entries = index.contentEntriesBySource.get(rel);
|
|
1512
|
+
if (!entries) {
|
|
1513
|
+
entries = new Set();
|
|
1514
|
+
index.contentEntriesBySource.set(rel, entries);
|
|
1515
|
+
}
|
|
1516
|
+
entries.add(name);
|
|
1517
|
+
} else index.pageSources.add(rel);
|
|
1518
|
+
if (scriptFiles.length > 0) {
|
|
1519
|
+
let files = scriptFilesBySource.get(rel);
|
|
1520
|
+
if (!files) {
|
|
1521
|
+
files = new Set();
|
|
1522
|
+
scriptFilesBySource.set(rel, files);
|
|
1523
|
+
}
|
|
1524
|
+
for (const file of scriptFiles)files.add(file);
|
|
1414
1525
|
}
|
|
1415
|
-
|
|
1416
|
-
} else index.pageSources.add(rel);
|
|
1526
|
+
}
|
|
1417
1527
|
}
|
|
1418
1528
|
}
|
|
1419
1529
|
return index;
|
|
1420
1530
|
}
|
|
1531
|
+
function emittedScriptFiles(chunk, name) {
|
|
1532
|
+
const files = chunk?.files ? [
|
|
1533
|
+
...chunk.files
|
|
1534
|
+
] : [];
|
|
1535
|
+
const js = files.filter((file)=>/\.js$/i.test(file));
|
|
1536
|
+
return js.length > 0 ? js : [
|
|
1537
|
+
`${name}.js`
|
|
1538
|
+
];
|
|
1539
|
+
}
|
|
1540
|
+
function changedScriptFilesFor(changedSources, index) {
|
|
1541
|
+
const out = new Set();
|
|
1542
|
+
for (const rel of changedSources){
|
|
1543
|
+
const files = index?.scriptFilesBySource?.get(rel);
|
|
1544
|
+
if (files) for (const file of files)out.add(file);
|
|
1545
|
+
}
|
|
1546
|
+
return [
|
|
1547
|
+
...out
|
|
1548
|
+
].sort();
|
|
1549
|
+
}
|
|
1421
1550
|
function classifyReloadFromSources(opts) {
|
|
1422
1551
|
const { changedSources, forcedFull, getContentScriptCount, getSourceFeatureIndex, outputPath } = opts;
|
|
1423
1552
|
if (0 === changedSources.length) return;
|
|
@@ -1432,6 +1561,11 @@ function classifyReloadFromSources(opts) {
|
|
|
1432
1561
|
} catch {
|
|
1433
1562
|
index = null;
|
|
1434
1563
|
}
|
|
1564
|
+
const scriptFiles = changedScriptFilesFor(changedSources, index);
|
|
1565
|
+
const withScripts = (instruction)=>scriptFiles.length > 0 ? {
|
|
1566
|
+
...instruction,
|
|
1567
|
+
changedScriptFiles: scriptFiles
|
|
1568
|
+
} : instruction;
|
|
1435
1569
|
const swChanged = [];
|
|
1436
1570
|
const contentEntries = new Set();
|
|
1437
1571
|
const contentChanged = [];
|
|
@@ -1454,14 +1588,16 @@ function classifyReloadFromSources(opts) {
|
|
|
1454
1588
|
}
|
|
1455
1589
|
if (!known) unknown.push(rel);
|
|
1456
1590
|
}
|
|
1457
|
-
const
|
|
1591
|
+
const publicRoots = index?.publicRoots;
|
|
1592
|
+
const publicAssetChanged = changedSources.some((rel)=>void 0 !== publicOutputPath(rel, publicRoots));
|
|
1593
|
+
const staticAssetChanged = publicAssetChanged || outputPath && unknown.some((rel)=>{
|
|
1458
1594
|
try {
|
|
1459
1595
|
return __rspack_external_node_fs_5ea92f0c.existsSync(__rspack_external_node_path_c5b9b54f.join(outputPath, rel));
|
|
1460
1596
|
} catch {
|
|
1461
1597
|
return false;
|
|
1462
1598
|
}
|
|
1463
1599
|
});
|
|
1464
|
-
if (swChanged.length > 0) return {
|
|
1600
|
+
if (swChanged.length > 0) return withScripts({
|
|
1465
1601
|
type: 'service-worker',
|
|
1466
1602
|
...contentEntries.size > 0 ? {
|
|
1467
1603
|
changedContentScriptEntries: [
|
|
@@ -1470,47 +1606,47 @@ function classifyReloadFromSources(opts) {
|
|
|
1470
1606
|
} : {},
|
|
1471
1607
|
changedAssets: changedSources,
|
|
1472
1608
|
label: formatReloadContextLabel(contentEntries.size > 0 ? "service_worker + content_script" : 'service_worker', swChanged)
|
|
1473
|
-
};
|
|
1474
|
-
if (staticAssetChanged) return {
|
|
1609
|
+
});
|
|
1610
|
+
if (staticAssetChanged) return withScripts({
|
|
1475
1611
|
type: 'full',
|
|
1476
1612
|
changedAssets: changedSources,
|
|
1477
1613
|
label: formatReloadContextLabel('extension', changedSources)
|
|
1478
|
-
};
|
|
1479
|
-
if (contentChanged.length > 0) return {
|
|
1614
|
+
});
|
|
1615
|
+
if (contentChanged.length > 0) return withScripts({
|
|
1480
1616
|
type: "content-scripts",
|
|
1481
1617
|
changedContentScriptEntries: [
|
|
1482
1618
|
...contentEntries
|
|
1483
1619
|
].sort(),
|
|
1484
1620
|
changedAssets: changedSources,
|
|
1485
1621
|
label: formatReloadContextLabel("content_script", contentChanged)
|
|
1486
|
-
};
|
|
1487
|
-
if (pageChanged.length > 0 && 0 === unknown.length) return {
|
|
1622
|
+
});
|
|
1623
|
+
if (pageChanged.length > 0 && 0 === unknown.length) return withScripts({
|
|
1488
1624
|
type: 'page',
|
|
1489
1625
|
changedAssets: changedSources,
|
|
1490
1626
|
label: formatReloadContextLabel(pageContextFromSources(pageChanged), pageChanged)
|
|
1491
|
-
};
|
|
1627
|
+
});
|
|
1492
1628
|
const isServiceWorkerSource = (rel)=>/(^|\/)background(\.|\/)/i.test(rel) || /service[-_.]?worker/i.test(rel);
|
|
1493
|
-
if (unknown.some(isServiceWorkerSource)) return {
|
|
1629
|
+
if (unknown.some(isServiceWorkerSource)) return withScripts({
|
|
1494
1630
|
type: 'service-worker',
|
|
1495
1631
|
changedAssets: changedSources,
|
|
1496
1632
|
label: formatReloadContextLabel('service_worker', changedSources)
|
|
1497
|
-
};
|
|
1633
|
+
});
|
|
1498
1634
|
const contentScriptCount = getContentScriptCount();
|
|
1499
1635
|
if (contentScriptCount > 0) {
|
|
1500
1636
|
const entries = [];
|
|
1501
1637
|
for(let i = 0; i < contentScriptCount; i++)entries.push(getCanonicalContentScriptEntryName(i));
|
|
1502
|
-
return {
|
|
1638
|
+
return withScripts({
|
|
1503
1639
|
type: "content-scripts",
|
|
1504
1640
|
changedContentScriptEntries: entries,
|
|
1505
1641
|
changedAssets: changedSources,
|
|
1506
1642
|
label: formatReloadContextLabel("content_script", changedSources)
|
|
1507
|
-
};
|
|
1643
|
+
});
|
|
1508
1644
|
}
|
|
1509
|
-
return {
|
|
1645
|
+
return withScripts({
|
|
1510
1646
|
type: 'page',
|
|
1511
1647
|
changedAssets: changedSources,
|
|
1512
1648
|
label: formatReloadContextLabel(pageContextFromSources(changedSources), changedSources)
|
|
1513
|
-
};
|
|
1649
|
+
});
|
|
1514
1650
|
}
|
|
1515
1651
|
function readContentScriptCount(compilation, outputPath) {
|
|
1516
1652
|
try {
|
|
@@ -1739,9 +1875,10 @@ async function extensionDev(pathOrRemoteUrl, devOptions) {
|
|
|
1739
1875
|
console.log(debugDirs(manifestDir, packageJsonDir));
|
|
1740
1876
|
console.log(debugBrowser(browser, devOptions.chromiumBinary, geckoBinary));
|
|
1741
1877
|
}
|
|
1878
|
+
const projectConfig = await loadProjectConfigDefaults(packageJsonDir);
|
|
1742
1879
|
const browserConfig = await loadBrowserConfig(packageJsonDir, browser);
|
|
1743
1880
|
const merged = withDarkMode({
|
|
1744
|
-
...mergeOptionLayers(DEV_COMMAND_DEFAULTS, browserConfig, commandConfig, devOptions),
|
|
1881
|
+
...mergeOptionLayers(DEV_COMMAND_DEFAULTS, projectConfig, browserConfig, commandConfig, devOptions),
|
|
1745
1882
|
browser
|
|
1746
1883
|
});
|
|
1747
1884
|
if (('safari' === browser || 'webkit-based' === browser) && !devOptions.noBrowser && devOptions.safariPackager) {
|
package/dist/845.mjs
CHANGED
|
@@ -72,4 +72,13 @@ function lateCssImportIgnored(issuerPath, line) {
|
|
|
72
72
|
`Move the ${pintor.blue('@import')} above every other rule to make it load.`
|
|
73
73
|
].join('\n');
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
function postCssConfigUnreadable(configPath, error) {
|
|
76
|
+
return `${messaging_prefix('warn')} Could not load the PostCSS config at ${pintor.gray(configPath)}.\n${String(error?.message || error)}\nThe build continues without it. Fix the file or remove it.`;
|
|
77
|
+
}
|
|
78
|
+
function postCssConfigPluginsShape(configPath, found) {
|
|
79
|
+
return `${messaging_prefix('warn')} The PostCSS config at ${pintor.gray(configPath)} lists plugins as ${found}.\nPostCSS expects an array or an object keyed by plugin name. The build continues without this config.`;
|
|
80
|
+
}
|
|
81
|
+
function cssMinifierDroppedRules(assetName, tokens) {
|
|
82
|
+
return `${messaging_prefix('warn')} The CSS minimizer dropped ${tokens.join(', ')} from ${pintor.gray(assetName)}.\nShipped that stylesheet unminified so production keeps every rule development keeps.`;
|
|
83
|
+
}
|
|
84
|
+
export { cssConfigsDetected, cssIntegrationsEnabled, cssMinifierDroppedRules, cssParseErrorShippedVerbatim, deadCssUrlRef, isUsingIntegration, lateCssImportIgnored, missingSassDependency, postCssConfigPluginsShape, postCssConfigUnreadable, postCssPluginNotResolved, preprocessorShippedUncompiled };
|
package/dist/887.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
|
|
2
|
-
import { controlTokenPath, legacyControlTokenPath } from "./
|
|
2
|
+
import { controlTokenPath, legacyControlTokenPath } from "./77.mjs";
|
|
3
3
|
import * as __rspack_external_node_fs_5ea92f0c from "node:fs";
|
|
4
4
|
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
5
5
|
import * as __rspack_external_node_crypto_9ba42079 from "node:crypto";
|
package/dist/bridge-entry.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export type { BridgeRefusalCode, BridgeTarget, CommandOp, GapFrame, LogContext,
|
|
|
3
3
|
export { CLOSE_BAD_HELLO, CLOSE_BAD_INSTANCE, CLOSE_CONTROL_UNAVAILABLE, CLOSE_SLOW_CONSUMER, CONTROL_ENVELOPE_VERSION, CONTROL_WS_PATH, LOG_EVENT_VERSION, REFUSAL_API_UNAVAILABLE, REFUSAL_NEEDS_HEADED_WINDOW, REFUSAL_NEEDS_USER_GESTURE, REFUSAL_SURFACE_NOT_OPEN } from './dev-server/control-bridge/contracts';
|
|
4
4
|
export { controlPortFilePath, readPersistedControlPort } from './dev-server/control-bridge/control-port-store';
|
|
5
5
|
export { BridgeController, type CommandInput, type ControllerOptions } from './dev-server/control-bridge/controller-client';
|
|
6
|
-
export { LOG_LEVEL_ORDER, type LogQuery, logLevelRank, matchesLogQuery, readLogEvents } from './dev-server/control-bridge/logs-query';
|
|
6
|
+
export { isAfterSince, LOG_LEVEL_ORDER, type LogQuery, type LogSince, logLevelRank, matchesLogQuery, parseLogSince, readLogEvents } from './dev-server/control-bridge/logs-query';
|
|
7
7
|
export { controlTokenPath, readControlToken } from './dev-server/control-bridge/session-token';
|
|
8
8
|
export { actionsPath, browserArtifactsDir, browserDistDir, browserProfileRootDir, buildSummaryPath, eventsPath, logsPath, readyContractPath, sessionArtifactsRootDir, sessionStateDir } from './lib/session-paths';
|
|
9
|
+
export { resolveSessionProjectRoot } from './lib/session-project-root';
|
|
9
10
|
export type { PlaywrightAutomationCommand, ReadyMetadata, ReadyStatus } from './plugin-playwright';
|
package/dist/bridge.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
|
|
2
2
|
import { WebSocket } from "ws";
|
|
3
|
-
import { readyContractPath,
|
|
3
|
+
import { logsPath, resolveProjectStructureSync, readyContractPath, getDirs } from "./77.mjs";
|
|
4
4
|
import { CONTROL_WS_PATH } from "./887.mjs";
|
|
5
5
|
import * as __rspack_external_node_fs_5ea92f0c from "node:fs";
|
|
6
|
+
import * as __rspack_external_node_path_c5b9b54f from "node:path";
|
|
6
7
|
function readReadyContractDocument(projectPath, browser = 'chrome') {
|
|
7
8
|
const readyPath = readyContractPath(projectPath, browser);
|
|
8
9
|
try {
|
|
@@ -197,8 +198,10 @@ class BridgeController {
|
|
|
197
198
|
settled = true;
|
|
198
199
|
clearTimeout(connectTimer);
|
|
199
200
|
const flag = this.opts.unlockFlag || '--allow-control';
|
|
200
|
-
const detail = 4003 === code ? `the session
|
|
201
|
-
reject(new Error(`control channel refused the controller (code ${code}${reason ? `: ${reason}` : ''}). ${detail}`)
|
|
201
|
+
const detail = 4003 === code ? `control is off in the session that answered, so it accepts no controller. A session turns control on with ${flag}, and one that had the flag and still answers this way needs \`extension doctor\`.` : 4001 === code ? "the session that wrote ready.json has been replaced. Re-read ready.json or restart the dev session." : 4002 === code ? "the session did not understand the hello. Update the CLI and the dev session to the same Extension.js version." : 'the session closed the socket during the handshake.';
|
|
202
|
+
reject(Object.assign(new Error(`control channel refused the controller (code ${code}${reason ? `: ${reason}` : ''}). ${detail}`), {
|
|
203
|
+
closeCode: code
|
|
204
|
+
}));
|
|
202
205
|
}
|
|
203
206
|
this.failAllPending(new Error(`control channel closed (code ${code})`));
|
|
204
207
|
this.socket = null;
|
|
@@ -288,6 +291,33 @@ function makeUrlMatcher(pattern) {
|
|
|
288
291
|
return candidates.some((candidate)=>expression ? expression.test(candidate) : candidate.includes(pattern));
|
|
289
292
|
};
|
|
290
293
|
}
|
|
294
|
+
function parseLogSince(value) {
|
|
295
|
+
if (null == value || '' === value) return null;
|
|
296
|
+
if ('number' == typeof value) return Number.isFinite(value) ? {
|
|
297
|
+
seq: value
|
|
298
|
+
} : void 0;
|
|
299
|
+
const text = String(value).trim();
|
|
300
|
+
if (/^\d+(?:\.\d+)?$/.test(text)) return {
|
|
301
|
+
seq: Number(text)
|
|
302
|
+
};
|
|
303
|
+
const time = Date.parse(text);
|
|
304
|
+
return Number.isFinite(time) ? {
|
|
305
|
+
time
|
|
306
|
+
} : void 0;
|
|
307
|
+
}
|
|
308
|
+
function eventTime(event) {
|
|
309
|
+
if ('number' == typeof event.timestamp) return event.timestamp;
|
|
310
|
+
if ('string' == typeof event.ts) {
|
|
311
|
+
const parsed = Date.parse(event.ts);
|
|
312
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
313
|
+
}
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
316
|
+
function isAfterSince(event, since) {
|
|
317
|
+
if ('seq' in since) return !('number' == typeof event.seq && event.seq <= since.seq);
|
|
318
|
+
const time = eventTime(event);
|
|
319
|
+
return null == time || time > since.time;
|
|
320
|
+
}
|
|
291
321
|
function toFiniteNumber(value) {
|
|
292
322
|
if (null == value || '' === value) return null;
|
|
293
323
|
const parsed = 'number' == typeof value ? value : Number(value);
|
|
@@ -303,8 +333,8 @@ function matchesLogQuery(event, query) {
|
|
|
303
333
|
if ('all' !== minLevel && 'off' !== minLevel) {
|
|
304
334
|
if (logLevelRank(String(event.level || '')) > logLevelRank(minLevel)) return false;
|
|
305
335
|
}
|
|
306
|
-
const since =
|
|
307
|
-
if (
|
|
336
|
+
const since = parseLogSince(query.since);
|
|
337
|
+
if (since && !isAfterSince(event, since)) return false;
|
|
308
338
|
if (query.url && !makeUrlMatcher(query.url)(event)) return false;
|
|
309
339
|
const tabId = toFiniteNumber(query.tab);
|
|
310
340
|
if (null != tabId && event.tabId !== tabId) return false;
|
|
@@ -330,6 +360,25 @@ function readLogEvents(projectPath, browser = 'chrome', query = {}) {
|
|
|
330
360
|
}
|
|
331
361
|
return events;
|
|
332
362
|
}
|
|
363
|
+
function isLocalDirectory(candidate) {
|
|
364
|
+
try {
|
|
365
|
+
return __rspack_external_node_fs_5ea92f0c.statSync(candidate).isDirectory();
|
|
366
|
+
} catch {
|
|
367
|
+
return false;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
function resolveSessionProjectRoot(pathArg) {
|
|
371
|
+
const inputPath = __rspack_external_node_path_c5b9b54f.resolve(pathArg || process.cwd());
|
|
372
|
+
if (!isLocalDirectory(inputPath)) return inputPath;
|
|
373
|
+
try {
|
|
374
|
+
const structure = resolveProjectStructureSync(inputPath, {
|
|
375
|
+
quiet: true
|
|
376
|
+
});
|
|
377
|
+
return getDirs(structure).packageJsonDir;
|
|
378
|
+
} catch {
|
|
379
|
+
return inputPath;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
333
382
|
var bridge_entry_CLOSE_BAD_HELLO = 4002;
|
|
334
383
|
var bridge_entry_CLOSE_BAD_INSTANCE = 4001;
|
|
335
384
|
var bridge_entry_CLOSE_CONTROL_UNAVAILABLE = 4003;
|
|
@@ -337,5 +386,5 @@ var bridge_entry_CLOSE_SLOW_CONSUMER = 4008;
|
|
|
337
386
|
var bridge_entry_CONTROL_ENVELOPE_VERSION = 1;
|
|
338
387
|
var bridge_entry_LOG_EVENT_VERSION = 1;
|
|
339
388
|
export { CONTROL_WS_PATH, REFUSAL_API_UNAVAILABLE, REFUSAL_NEEDS_HEADED_WINDOW, REFUSAL_NEEDS_USER_GESTURE, REFUSAL_SURFACE_NOT_OPEN, readControlToken, readPersistedControlPort } from "./887.mjs";
|
|
340
|
-
export { actionsPath, browserArtifactsDir, browserDistDir, browserProfileRootDir, buildSummaryPath, controlPortFilePath, controlTokenPath, eventsPath, logsPath, readyContractPath, sessionArtifactsRootDir, sessionStateDir } from "./
|
|
341
|
-
export { BridgeConsumer, BridgeController, LOG_LEVEL_ORDER, bridge_entry_CLOSE_BAD_HELLO as CLOSE_BAD_HELLO, bridge_entry_CLOSE_BAD_INSTANCE as CLOSE_BAD_INSTANCE, bridge_entry_CLOSE_CONTROL_UNAVAILABLE as CLOSE_CONTROL_UNAVAILABLE, bridge_entry_CLOSE_SLOW_CONSUMER as CLOSE_SLOW_CONSUMER, bridge_entry_CONTROL_ENVELOPE_VERSION as CONTROL_ENVELOPE_VERSION, bridge_entry_LOG_EVENT_VERSION as LOG_EVENT_VERSION, logLevelRank, matchesLogQuery, readLogEvents, readReadyContract, readReadyContractDocument };
|
|
389
|
+
export { actionsPath, browserArtifactsDir, browserDistDir, browserProfileRootDir, buildSummaryPath, controlPortFilePath, controlTokenPath, eventsPath, logsPath, readyContractPath, sessionArtifactsRootDir, sessionStateDir } from "./77.mjs";
|
|
390
|
+
export { BridgeConsumer, BridgeController, LOG_LEVEL_ORDER, bridge_entry_CLOSE_BAD_HELLO as CLOSE_BAD_HELLO, bridge_entry_CLOSE_BAD_INSTANCE as CLOSE_BAD_INSTANCE, bridge_entry_CLOSE_CONTROL_UNAVAILABLE as CLOSE_CONTROL_UNAVAILABLE, bridge_entry_CLOSE_SLOW_CONSUMER as CLOSE_SLOW_CONSUMER, bridge_entry_CONTROL_ENVELOPE_VERSION as CONTROL_ENVELOPE_VERSION, bridge_entry_LOG_EVENT_VERSION as LOG_EVENT_VERSION, isAfterSince, logLevelRank, matchesLogQuery, parseLogSince, readLogEvents, readReadyContract, readReadyContractDocument, resolveSessionProjectRoot };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
|
|
2
2
|
import postcss from "postcss";
|
|
3
3
|
import { cssParseErrorShippedVerbatim } from "./845.mjs";
|
|
4
|
+
import { verbatimCssPlaceholder, registerVerbatimCss } from "./129.mjs";
|
|
4
5
|
import * as __rspack_external_node_fs_5ea92f0c from "node:fs";
|
|
5
6
|
function cssParseGuardLoader(source) {
|
|
6
7
|
return source;
|
|
@@ -16,6 +17,8 @@ function pitch() {
|
|
|
16
17
|
callback(null);
|
|
17
18
|
} catch (error) {
|
|
18
19
|
this.emitWarning(new Error(cssParseErrorShippedVerbatim(this.resourcePath, error)));
|
|
20
|
+
const moduleType = String(this._module?.type || '');
|
|
21
|
+
if (moduleType.startsWith('css')) return void callback(null, verbatimCssPlaceholder(registerVerbatimCss(raw, this.resourcePath)));
|
|
19
22
|
callback(null, raw);
|
|
20
23
|
}
|
|
21
24
|
}).catch(()=>{
|