@qpqjs/user-script 0.0.0-stage → 0.2.1
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/README.md +9 -2
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessor.d.ts +1 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessor.js +69 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessor.js.map +1 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessors.d.ts +3 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessors.js +20 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildActionProcessors.js.map +1 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildFromZipActionProcessor.d.ts +1 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildFromZipActionProcessor.js +79 -0
- package/lib/commonjs/actionProcessor/getUserScriptBuildFromZipActionProcessor.js.map +1 -0
- package/lib/commonjs/actionProcessor/index.d.ts +4 -0
- package/lib/commonjs/actionProcessor/index.js +21 -0
- package/lib/commonjs/actionProcessor/index.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/BuiltUserScript.d.ts +4 -0
- package/lib/commonjs/actionProcessor/logic/BuiltUserScript.js +3 -0
- package/lib/commonjs/actionProcessor/logic/BuiltUserScript.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.d.ts +5 -0
- package/lib/commonjs/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.js +9 -0
- package/lib/commonjs/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptArchiveError.d.ts +10 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptArchiveError.js +22 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptArchiveError.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptSourceFile.d.ts +5 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptSourceFile.js +3 -0
- package/lib/commonjs/actionProcessor/logic/UserScriptSourceFile.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCheckPublishedOutput.d.ts +8 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCheckPublishedOutput.js +30 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCheckPublishedOutput.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCollectSource.d.ts +9 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCollectSource.js +53 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptCollectSource.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptPublishOutput.d.ts +3 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptPublishOutput.js +9 -0
- package/lib/commonjs/actionProcessor/logic/askUserScriptPublishOutput.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/buildUserScriptInTempDir.d.ts +9 -0
- package/lib/commonjs/actionProcessor/logic/buildUserScriptInTempDir.js +41 -0
- package/lib/commonjs/actionProcessor/logic/buildUserScriptInTempDir.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/extractUserScriptZip.d.ts +8 -0
- package/lib/commonjs/actionProcessor/logic/extractUserScriptZip.js +148 -0
- package/lib/commonjs/actionProcessor/logic/extractUserScriptZip.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/getUserScriptBuildErrorType.d.ts +7 -0
- package/lib/commonjs/actionProcessor/logic/getUserScriptBuildErrorType.js +20 -0
- package/lib/commonjs/actionProcessor/logic/getUserScriptBuildErrorType.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/index.d.ts +12 -0
- package/lib/commonjs/actionProcessor/logic/index.js +29 -0
- package/lib/commonjs/actionProcessor/logic/index.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/isSafeProjectPath.d.ts +5 -0
- package/lib/commonjs/actionProcessor/logic/isSafeProjectPath.js +13 -0
- package/lib/commonjs/actionProcessor/logic/isSafeProjectPath.js.map +1 -0
- package/lib/commonjs/actionProcessor/logic/materialiseUserScriptSource.d.ts +3 -0
- package/lib/commonjs/actionProcessor/logic/materialiseUserScriptSource.js +23 -0
- package/lib/commonjs/actionProcessor/logic/materialiseUserScriptSource.js.map +1 -0
- package/lib/commonjs/build/USER_SCRIPT_ENTRY_CANDIDATES.d.ts +2 -0
- package/lib/commonjs/build/USER_SCRIPT_ENTRY_CANDIDATES.js +6 -0
- package/lib/commonjs/build/USER_SCRIPT_ENTRY_CANDIDATES.js.map +1 -0
- package/lib/commonjs/build/USER_SCRIPT_OUTPUT_FILENAME.d.ts +2 -0
- package/lib/commonjs/build/USER_SCRIPT_OUTPUT_FILENAME.js +6 -0
- package/lib/commonjs/build/USER_SCRIPT_OUTPUT_FILENAME.js.map +1 -0
- package/lib/commonjs/build/UserScriptBuildError.d.ts +12 -0
- package/lib/commonjs/build/UserScriptBuildError.js +26 -0
- package/lib/commonjs/build/UserScriptBuildError.js.map +1 -0
- package/lib/commonjs/build/UserScriptBuildResult.d.ts +4 -0
- package/lib/commonjs/build/UserScriptBuildResult.js +3 -0
- package/lib/commonjs/build/UserScriptBuildResult.js.map +1 -0
- package/lib/commonjs/build/__fixtures__/basic/src/helpers/formatSum.d.ts +1 -0
- package/lib/commonjs/build/__fixtures__/basic/src/helpers/formatSum.js +6 -0
- package/lib/commonjs/build/__fixtures__/basic/src/helpers/formatSum.js.map +1 -0
- package/lib/commonjs/build/__fixtures__/basic/src/main.d.ts +4 -0
- package/lib/commonjs/build/__fixtures__/basic/src/main.js +17 -0
- package/lib/commonjs/build/__fixtures__/basic/src/main.js.map +1 -0
- package/lib/commonjs/build/__fixtures__/builtin/src/main.d.ts +1 -0
- package/lib/commonjs/build/__fixtures__/builtin/src/main.js +7 -0
- package/lib/commonjs/build/__fixtures__/builtin/src/main.js.map +1 -0
- package/lib/commonjs/build/__fixtures__/noEntry/src/notMain.d.ts +1 -0
- package/lib/commonjs/build/__fixtures__/noEntry/src/notMain.js +6 -0
- package/lib/commonjs/build/__fixtures__/noEntry/src/notMain.js.map +1 -0
- package/lib/commonjs/build/__fixtures__/nonFunction/src/main.d.ts +2 -0
- package/lib/commonjs/build/__fixtures__/nonFunction/src/main.js +7 -0
- package/lib/commonjs/build/__fixtures__/nonFunction/src/main.js.map +1 -0
- package/lib/commonjs/build/assertUserScriptExports.d.ts +6 -0
- package/lib/commonjs/build/assertUserScriptExports.js +20 -0
- package/lib/commonjs/build/assertUserScriptExports.js.map +1 -0
- package/lib/commonjs/build/buildUserScript.d.ts +15 -0
- package/lib/commonjs/build/buildUserScript.js +55 -0
- package/lib/commonjs/build/buildUserScript.js.map +1 -0
- package/lib/commonjs/build/checkUserScriptOutput.d.ts +7 -0
- package/lib/commonjs/build/checkUserScriptOutput.js +17 -0
- package/lib/commonjs/build/checkUserScriptOutput.js.map +1 -0
- package/lib/commonjs/build/createUserScriptExternals.d.ts +11 -0
- package/lib/commonjs/build/createUserScriptExternals.js +34 -0
- package/lib/commonjs/build/createUserScriptExternals.js.map +1 -0
- package/lib/commonjs/build/getUserScriptRspackConfig.d.ts +15 -0
- package/lib/commonjs/build/getUserScriptRspackConfig.js +49 -0
- package/lib/commonjs/build/getUserScriptRspackConfig.js.map +1 -0
- package/lib/commonjs/build/index.d.ts +13 -0
- package/lib/commonjs/build/index.js +30 -0
- package/lib/commonjs/build/index.js.map +1 -0
- package/lib/commonjs/build/loadRspackModule.d.ts +8 -0
- package/lib/commonjs/build/loadRspackModule.js +51 -0
- package/lib/commonjs/build/loadRspackModule.js.map +1 -0
- package/lib/commonjs/build/resolveUserScriptEntry.d.ts +2 -0
- package/lib/commonjs/build/resolveUserScriptEntry.js +20 -0
- package/lib/commonjs/build/resolveUserScriptEntry.js.map +1 -0
- package/lib/commonjs/build/runUserScriptRspack.d.ts +7 -0
- package/lib/commonjs/build/runUserScriptRspack.js +32 -0
- package/lib/commonjs/build/runUserScriptRspack.js.map +1 -0
- package/lib/commonjs/build/userScriptTsRule.d.ts +6 -0
- package/lib/commonjs/build/userScriptTsRule.js +21 -0
- package/lib/commonjs/build/userScriptTsRule.js.map +1 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_MODULES.d.ts +5 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_MODULES.js +9 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_MODULES.js.map +1 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_NAME.d.ts +2 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_NAME.js +6 -0
- package/lib/commonjs/config/USER_SCRIPT_BUILDER_LAYER_NAME.js.map +1 -0
- package/lib/commonjs/config/defineUserScriptBuilder.d.ts +7 -0
- package/lib/commonjs/config/defineUserScriptBuilder.js +16 -0
- package/lib/commonjs/config/defineUserScriptBuilder.js.map +1 -0
- package/lib/commonjs/config/getUserScriptBuilderApiLayer.d.ts +7 -0
- package/lib/commonjs/config/getUserScriptBuilderApiLayer.js +18 -0
- package/lib/commonjs/config/getUserScriptBuilderApiLayer.js.map +1 -0
- package/lib/commonjs/config/getUserScriptBuilderLayerDir.d.ts +6 -0
- package/lib/commonjs/config/getUserScriptBuilderLayerDir.js +33 -0
- package/lib/commonjs/config/getUserScriptBuilderLayerDir.js.map +1 -0
- package/lib/commonjs/config/index.d.ts +5 -0
- package/lib/commonjs/config/index.js +22 -0
- package/lib/commonjs/config/index.js.map +1 -0
- package/lib/commonjs/index.d.ts +3 -0
- package/lib/commonjs/index.js +20 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessor.d.ts +1 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessor.js +56 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessor.js.map +1 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessors.d.ts +3 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessors.js +8 -0
- package/lib/esm/actionProcessor/getUserScriptBuildActionProcessors.js.map +1 -0
- package/lib/esm/actionProcessor/getUserScriptBuildFromZipActionProcessor.d.ts +1 -0
- package/lib/esm/actionProcessor/getUserScriptBuildFromZipActionProcessor.js +66 -0
- package/lib/esm/actionProcessor/getUserScriptBuildFromZipActionProcessor.js.map +1 -0
- package/lib/esm/actionProcessor/index.d.ts +4 -0
- package/lib/esm/actionProcessor/index.js +5 -0
- package/lib/esm/actionProcessor/index.js.map +1 -0
- package/lib/esm/actionProcessor/logic/BuiltUserScript.d.ts +4 -0
- package/lib/esm/actionProcessor/logic/BuiltUserScript.js +2 -0
- package/lib/esm/actionProcessor/logic/BuiltUserScript.js.map +1 -0
- package/lib/esm/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.d.ts +5 -0
- package/lib/esm/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.js +6 -0
- package/lib/esm/actionProcessor/logic/USER_SCRIPT_SOURCE_LIMITS.js.map +1 -0
- package/lib/esm/actionProcessor/logic/UserScriptArchiveError.d.ts +10 -0
- package/lib/esm/actionProcessor/logic/UserScriptArchiveError.js +19 -0
- package/lib/esm/actionProcessor/logic/UserScriptArchiveError.js.map +1 -0
- package/lib/esm/actionProcessor/logic/UserScriptSourceFile.d.ts +5 -0
- package/lib/esm/actionProcessor/logic/UserScriptSourceFile.js +2 -0
- package/lib/esm/actionProcessor/logic/UserScriptSourceFile.js.map +1 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCheckPublishedOutput.d.ts +8 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCheckPublishedOutput.js +27 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCheckPublishedOutput.js.map +1 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCollectSource.d.ts +9 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCollectSource.js +50 -0
- package/lib/esm/actionProcessor/logic/askUserScriptCollectSource.js.map +1 -0
- package/lib/esm/actionProcessor/logic/askUserScriptPublishOutput.d.ts +3 -0
- package/lib/esm/actionProcessor/logic/askUserScriptPublishOutput.js +6 -0
- package/lib/esm/actionProcessor/logic/askUserScriptPublishOutput.js.map +1 -0
- package/lib/esm/actionProcessor/logic/buildUserScriptInTempDir.d.ts +9 -0
- package/lib/esm/actionProcessor/logic/buildUserScriptInTempDir.js +25 -0
- package/lib/esm/actionProcessor/logic/buildUserScriptInTempDir.js.map +1 -0
- package/lib/esm/actionProcessor/logic/extractUserScriptZip.d.ts +8 -0
- package/lib/esm/actionProcessor/logic/extractUserScriptZip.js +132 -0
- package/lib/esm/actionProcessor/logic/extractUserScriptZip.js.map +1 -0
- package/lib/esm/actionProcessor/logic/getUserScriptBuildErrorType.d.ts +7 -0
- package/lib/esm/actionProcessor/logic/getUserScriptBuildErrorType.js +16 -0
- package/lib/esm/actionProcessor/logic/getUserScriptBuildErrorType.js.map +1 -0
- package/lib/esm/actionProcessor/logic/index.d.ts +12 -0
- package/lib/esm/actionProcessor/logic/index.js +13 -0
- package/lib/esm/actionProcessor/logic/index.js.map +1 -0
- package/lib/esm/actionProcessor/logic/isSafeProjectPath.d.ts +5 -0
- package/lib/esm/actionProcessor/logic/isSafeProjectPath.js +9 -0
- package/lib/esm/actionProcessor/logic/isSafeProjectPath.js.map +1 -0
- package/lib/esm/actionProcessor/logic/materialiseUserScriptSource.d.ts +3 -0
- package/lib/esm/actionProcessor/logic/materialiseUserScriptSource.js +16 -0
- package/lib/esm/actionProcessor/logic/materialiseUserScriptSource.js.map +1 -0
- package/lib/esm/build/USER_SCRIPT_ENTRY_CANDIDATES.d.ts +2 -0
- package/lib/esm/build/USER_SCRIPT_ENTRY_CANDIDATES.js +3 -0
- package/lib/esm/build/USER_SCRIPT_ENTRY_CANDIDATES.js.map +1 -0
- package/lib/esm/build/USER_SCRIPT_OUTPUT_FILENAME.d.ts +2 -0
- package/lib/esm/build/USER_SCRIPT_OUTPUT_FILENAME.js +3 -0
- package/lib/esm/build/USER_SCRIPT_OUTPUT_FILENAME.js.map +1 -0
- package/lib/esm/build/UserScriptBuildError.d.ts +12 -0
- package/lib/esm/build/UserScriptBuildError.js +23 -0
- package/lib/esm/build/UserScriptBuildError.js.map +1 -0
- package/lib/esm/build/UserScriptBuildResult.d.ts +4 -0
- package/lib/esm/build/UserScriptBuildResult.js +2 -0
- package/lib/esm/build/UserScriptBuildResult.js.map +1 -0
- package/lib/esm/build/__fixtures__/basic/src/helpers/formatSum.d.ts +1 -0
- package/lib/esm/build/__fixtures__/basic/src/helpers/formatSum.js +2 -0
- package/lib/esm/build/__fixtures__/basic/src/helpers/formatSum.js.map +1 -0
- package/lib/esm/build/__fixtures__/basic/src/main.d.ts +4 -0
- package/lib/esm/build/__fixtures__/basic/src/main.js +11 -0
- package/lib/esm/build/__fixtures__/basic/src/main.js.map +1 -0
- package/lib/esm/build/__fixtures__/builtin/src/main.d.ts +1 -0
- package/lib/esm/build/__fixtures__/builtin/src/main.js +3 -0
- package/lib/esm/build/__fixtures__/builtin/src/main.js.map +1 -0
- package/lib/esm/build/__fixtures__/noEntry/src/notMain.d.ts +1 -0
- package/lib/esm/build/__fixtures__/noEntry/src/notMain.js +2 -0
- package/lib/esm/build/__fixtures__/noEntry/src/notMain.js.map +1 -0
- package/lib/esm/build/__fixtures__/nonFunction/src/main.d.ts +2 -0
- package/lib/esm/build/__fixtures__/nonFunction/src/main.js +3 -0
- package/lib/esm/build/__fixtures__/nonFunction/src/main.js.map +1 -0
- package/lib/esm/build/assertUserScriptExports.d.ts +6 -0
- package/lib/esm/build/assertUserScriptExports.js +16 -0
- package/lib/esm/build/assertUserScriptExports.js.map +1 -0
- package/lib/esm/build/buildUserScript.d.ts +15 -0
- package/lib/esm/build/buildUserScript.js +39 -0
- package/lib/esm/build/buildUserScript.js.map +1 -0
- package/lib/esm/build/checkUserScriptOutput.d.ts +7 -0
- package/lib/esm/build/checkUserScriptOutput.js +10 -0
- package/lib/esm/build/checkUserScriptOutput.js.map +1 -0
- package/lib/esm/build/createUserScriptExternals.d.ts +11 -0
- package/lib/esm/build/createUserScriptExternals.js +30 -0
- package/lib/esm/build/createUserScriptExternals.js.map +1 -0
- package/lib/esm/build/getUserScriptRspackConfig.d.ts +15 -0
- package/lib/esm/build/getUserScriptRspackConfig.js +42 -0
- package/lib/esm/build/getUserScriptRspackConfig.js.map +1 -0
- package/lib/esm/build/index.d.ts +13 -0
- package/lib/esm/build/index.js +14 -0
- package/lib/esm/build/index.js.map +1 -0
- package/lib/esm/build/loadRspackModule.d.ts +8 -0
- package/lib/esm/build/loadRspackModule.js +38 -0
- package/lib/esm/build/loadRspackModule.js.map +1 -0
- package/lib/esm/build/resolveUserScriptEntry.d.ts +2 -0
- package/lib/esm/build/resolveUserScriptEntry.js +13 -0
- package/lib/esm/build/resolveUserScriptEntry.js.map +1 -0
- package/lib/esm/build/runUserScriptRspack.d.ts +7 -0
- package/lib/esm/build/runUserScriptRspack.js +19 -0
- package/lib/esm/build/runUserScriptRspack.js.map +1 -0
- package/lib/esm/build/userScriptTsRule.d.ts +6 -0
- package/lib/esm/build/userScriptTsRule.js +17 -0
- package/lib/esm/build/userScriptTsRule.js.map +1 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_MODULES.d.ts +5 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_MODULES.js +6 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_MODULES.js.map +1 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_NAME.d.ts +2 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_NAME.js +3 -0
- package/lib/esm/config/USER_SCRIPT_BUILDER_LAYER_NAME.js.map +1 -0
- package/lib/esm/config/defineUserScriptBuilder.d.ts +7 -0
- package/lib/esm/config/defineUserScriptBuilder.js +12 -0
- package/lib/esm/config/defineUserScriptBuilder.js.map +1 -0
- package/lib/esm/config/getUserScriptBuilderApiLayer.d.ts +7 -0
- package/lib/esm/config/getUserScriptBuilderApiLayer.js +14 -0
- package/lib/esm/config/getUserScriptBuilderApiLayer.js.map +1 -0
- package/lib/esm/config/getUserScriptBuilderLayerDir.d.ts +6 -0
- package/lib/esm/config/getUserScriptBuilderLayerDir.js +26 -0
- package/lib/esm/config/getUserScriptBuilderLayerDir.js.map +1 -0
- package/lib/esm/config/index.d.ts +5 -0
- package/lib/esm/config/index.js +6 -0
- package/lib/esm/config/index.js.map +1 -0
- package/lib/esm/index.d.ts +3 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/index.js.map +1 -0
- package/package.json +49 -3
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.buildUserScript = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const getUserScriptRspackConfig_1 = require("./getUserScriptRspackConfig");
|
|
19
|
+
const resolveUserScriptEntry_1 = require("./resolveUserScriptEntry");
|
|
20
|
+
const runUserScriptRspack_1 = require("./runUserScriptRspack");
|
|
21
|
+
const USER_SCRIPT_OUTPUT_FILENAME_1 = require("./USER_SCRIPT_OUTPUT_FILENAME");
|
|
22
|
+
const UserScriptBuildError_1 = require("./UserScriptBuildError");
|
|
23
|
+
const getErrorMessage = (error) => (error instanceof Error ? error.message : String(error));
|
|
24
|
+
/**
|
|
25
|
+
* Builds a script project into `<outDir>/main.js`, the only file written. The output is not
|
|
26
|
+
* loaded here: a platform build has the sandbox report its exports (askUserScriptListExports)
|
|
27
|
+
* and a local build uses checkUserScriptOutput. Throws UserScriptBuildError; the `code` says
|
|
28
|
+
* whether the project or the bundle was at fault. `outDir` is emptied first.
|
|
29
|
+
*/
|
|
30
|
+
const buildUserScript = (_a) => __awaiter(void 0, [_a], void 0, function* ({ projectDir, outDir, sourceMap = false, hostModules = {}, }) {
|
|
31
|
+
const absoluteProjectDir = path_1.default.resolve(projectDir);
|
|
32
|
+
const absoluteOutDir = path_1.default.resolve(outDir);
|
|
33
|
+
const entrySource = (0, resolveUserScriptEntry_1.resolveUserScriptEntry)(absoluteProjectDir);
|
|
34
|
+
try {
|
|
35
|
+
yield (0, runUserScriptRspack_1.runUserScriptRspack)((0, getUserScriptRspackConfig_1.getUserScriptRspackConfig)({
|
|
36
|
+
projectDir: absoluteProjectDir,
|
|
37
|
+
entryPath: entrySource,
|
|
38
|
+
outDir: absoluteOutDir,
|
|
39
|
+
sourceMap,
|
|
40
|
+
hostModuleNames: Object.keys(hostModules),
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new UserScriptBuildError_1.UserScriptBuildError(UserScriptBuildError_1.UserScriptBuildErrorCode.BuildFailed, `Building [${absoluteProjectDir}] failed:\n${getErrorMessage(error)}`);
|
|
45
|
+
}
|
|
46
|
+
// Every emitted file counts, not just scripts: the build's whole output is one file, so a
|
|
47
|
+
// stray map, chunk or asset would be silently lost when only main.js is published.
|
|
48
|
+
const emitted = fs_1.default.readdirSync(absoluteOutDir);
|
|
49
|
+
if (emitted.length !== 1 || emitted[0] !== USER_SCRIPT_OUTPUT_FILENAME_1.USER_SCRIPT_OUTPUT_FILENAME) {
|
|
50
|
+
throw new UserScriptBuildError_1.UserScriptBuildError(UserScriptBuildError_1.UserScriptBuildErrorCode.OutputNotSingleFile, `Building [${absoluteProjectDir}] emitted [${emitted.join(', ')}]; a script must build to exactly ${USER_SCRIPT_OUTPUT_FILENAME_1.USER_SCRIPT_OUTPUT_FILENAME}`);
|
|
51
|
+
}
|
|
52
|
+
return { entryPath: path_1.default.join(absoluteOutDir, USER_SCRIPT_OUTPUT_FILENAME_1.USER_SCRIPT_OUTPUT_FILENAME) };
|
|
53
|
+
});
|
|
54
|
+
exports.buildUserScript = buildUserScript;
|
|
55
|
+
//# sourceMappingURL=buildUserScript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildUserScript.js","sourceRoot":"","sources":["../../../src/build/buildUserScript.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,4CAAoB;AACpB,gDAAwB;AAExB,2EAAwE;AACxE,qEAAkE;AAClE,+DAA4D;AAC5D,+EAA4E;AAC5E,iEAAwF;AAaxF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7G;;;;;GAKG;AACI,MAAM,eAAe,GAAG,KAK4B,EAAE,4CALvB,EACpC,UAAU,EACV,MAAM,EACN,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,EAAE,GACO;IACvB,MAAM,kBAAkB,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,+CAAsB,EAAC,kBAAkB,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,IAAA,yCAAmB,EACvB,IAAA,qDAAyB,EAAC;YACxB,UAAU,EAAE,kBAAkB;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,cAAc;YACtB,SAAS;YACT,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,2CAAoB,CAAC,+CAAwB,CAAC,WAAW,EAAE,aAAa,kBAAkB,cAAc,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9I,CAAC;IAED,0FAA0F;IAC1F,mFAAmF;IACnF,MAAM,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,yDAA2B,EAAE,CAAC;QACvE,MAAM,IAAI,2CAAoB,CAC5B,+CAAwB,CAAC,mBAAmB,EAC5C,aAAa,kBAAkB,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,yDAA2B,EAAE,CAClI,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,yDAA2B,CAAC,EAAE,CAAC;AAC/E,CAAC,CAAA,CAAC;AAnCW,QAAA,eAAe,mBAmC1B","sourcesContent":["import { UserScriptModuleMap } from '@qpqjs/actionprocessor-node';\n\nimport fs from 'fs';\nimport path from 'path';\n\nimport { getUserScriptRspackConfig } from './getUserScriptRspackConfig';\nimport { resolveUserScriptEntry } from './resolveUserScriptEntry';\nimport { runUserScriptRspack } from './runUserScriptRspack';\nimport { USER_SCRIPT_OUTPUT_FILENAME } from './USER_SCRIPT_OUTPUT_FILENAME';\nimport { UserScriptBuildError, UserScriptBuildErrorCode } from './UserScriptBuildError';\nimport { UserScriptBuildResult } from './UserScriptBuildResult';\n\nexport type BuildUserScriptOptions = {\n projectDir: string;\n outDir: string;\n // Embed a source map in main.js. Off by default; a separate .map file is never written.\n sourceMap?: boolean;\n // The service's own script modules (defineUserScriptModule), by import name, which the\n // bundler keeps external. A local build has none.\n hostModules?: UserScriptModuleMap;\n};\n\nconst getErrorMessage = (error: unknown): string => (error instanceof Error ? error.message : String(error));\n\n/**\n * Builds a script project into `<outDir>/main.js`, the only file written. The output is not\n * loaded here: a platform build has the sandbox report its exports (askUserScriptListExports)\n * and a local build uses checkUserScriptOutput. Throws UserScriptBuildError; the `code` says\n * whether the project or the bundle was at fault. `outDir` is emptied first.\n */\nexport const buildUserScript = async ({\n projectDir,\n outDir,\n sourceMap = false,\n hostModules = {},\n}: BuildUserScriptOptions): Promise<UserScriptBuildResult> => {\n const absoluteProjectDir = path.resolve(projectDir);\n const absoluteOutDir = path.resolve(outDir);\n const entrySource = resolveUserScriptEntry(absoluteProjectDir);\n\n try {\n await runUserScriptRspack(\n getUserScriptRspackConfig({\n projectDir: absoluteProjectDir,\n entryPath: entrySource,\n outDir: absoluteOutDir,\n sourceMap,\n hostModuleNames: Object.keys(hostModules),\n }),\n );\n } catch (error) {\n throw new UserScriptBuildError(UserScriptBuildErrorCode.BuildFailed, `Building [${absoluteProjectDir}] failed:\\n${getErrorMessage(error)}`);\n }\n\n // Every emitted file counts, not just scripts: the build's whole output is one file, so a\n // stray map, chunk or asset would be silently lost when only main.js is published.\n const emitted = fs.readdirSync(absoluteOutDir);\n if (emitted.length !== 1 || emitted[0] !== USER_SCRIPT_OUTPUT_FILENAME) {\n throw new UserScriptBuildError(\n UserScriptBuildErrorCode.OutputNotSingleFile,\n `Building [${absoluteProjectDir}] emitted [${emitted.join(', ')}]; a script must build to exactly ${USER_SCRIPT_OUTPUT_FILENAME}`,\n );\n }\n\n return { entryPath: path.join(absoluteOutDir, USER_SCRIPT_OUTPUT_FILENAME) };\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UserScriptModuleMap } from '@qpqjs/actionprocessor-node';
|
|
2
|
+
/**
|
|
3
|
+
* Loads a built file in this process and applies the output contract. For a developer's own
|
|
4
|
+
* build (`qpq script:build`) only: a platform build asks the sandbox with
|
|
5
|
+
* askUserScriptListExports instead, so no script code runs in the host.
|
|
6
|
+
*/
|
|
7
|
+
export declare const checkUserScriptOutput: (entryPath: string, hostModules?: UserScriptModuleMap) => string[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkUserScriptOutput = void 0;
|
|
7
|
+
const actionprocessor_node_1 = require("@qpqjs/actionprocessor-node");
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const assertUserScriptExports_1 = require("./assertUserScriptExports");
|
|
10
|
+
/**
|
|
11
|
+
* Loads a built file in this process and applies the output contract. For a developer's own
|
|
12
|
+
* build (`qpq script:build`) only: a platform build asks the sandbox with
|
|
13
|
+
* askUserScriptListExports instead, so no script code runs in the host.
|
|
14
|
+
*/
|
|
15
|
+
const checkUserScriptOutput = (entryPath, hostModules = {}) => (0, assertUserScriptExports_1.assertUserScriptExports)(entryPath, (0, actionprocessor_node_1.listUserScriptExports)(entryPath, fs_1.default.readFileSync(entryPath, 'utf8'), (0, actionprocessor_node_1.getUserScriptModuleMap)(hostModules)));
|
|
16
|
+
exports.checkUserScriptOutput = checkUserScriptOutput;
|
|
17
|
+
//# sourceMappingURL=checkUserScriptOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkUserScriptOutput.js","sourceRoot":"","sources":["../../../src/build/checkUserScriptOutput.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAiH;AAEjH,4CAAoB;AAEpB,uEAAoE;AAEpE;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,cAAmC,EAAE,EAAY,EAAE,CAC1G,IAAA,iDAAuB,EAAC,SAAS,EAAE,IAAA,4CAAqB,EAAC,SAAS,EAAE,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,IAAA,6CAAsB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AADnI,QAAA,qBAAqB,yBAC8G","sourcesContent":["import { getUserScriptModuleMap, listUserScriptExports, UserScriptModuleMap } from '@qpqjs/actionprocessor-node';\n\nimport fs from 'fs';\n\nimport { assertUserScriptExports } from './assertUserScriptExports';\n\n/**\n * Loads a built file in this process and applies the output contract. For a developer's own\n * build (`qpq script:build`) only: a platform build asks the sandbox with\n * askUserScriptListExports instead, so no script code runs in the host.\n */\nexport const checkUserScriptOutput = (entryPath: string, hostModules: UserScriptModuleMap = {}): string[] =>\n assertUserScriptExports(entryPath, listUserScriptExports(entryPath, fs.readFileSync(entryPath, 'utf8'), getUserScriptModuleMap(hostModules)));\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ExternalItemFunctionData } from '@rspack/core';
|
|
2
|
+
type ExternalsCallback = (error?: Error, result?: string) => void;
|
|
3
|
+
/**
|
|
4
|
+
* The externals rule for a user-script build: the shared framework packages and the
|
|
5
|
+
* service's own script modules (`hostModuleNames`, from defineUserScriptModule) stay
|
|
6
|
+
* external (the host provides them at run time), Node builtins are refused here with
|
|
7
|
+
* the importing file named, because the loader would refuse them at run time anyway,
|
|
8
|
+
* and everything else is bundled.
|
|
9
|
+
*/
|
|
10
|
+
export declare const createUserScriptExternals: (hostModuleNames?: readonly string[]) => ({ request, contextInfo }: ExternalItemFunctionData, callback: ExternalsCallback) => void;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUserScriptExternals = void 0;
|
|
4
|
+
const core_1 = require("@qpqjs/core");
|
|
5
|
+
const module_1 = require("module");
|
|
6
|
+
const sharedPackageNames = core_1.FEDERATED_SHARED_PACKAGE_NAMES;
|
|
7
|
+
const isNodeBuiltin = (request) => request.startsWith('node:') || module_1.builtinModules.includes(request);
|
|
8
|
+
// A subpath of a shared package would bundle a second copy of it beside the host's.
|
|
9
|
+
const isSharedPackageSubpath = (request) => sharedPackageNames.some((name) => request.startsWith(`${name}/`));
|
|
10
|
+
/**
|
|
11
|
+
* The externals rule for a user-script build: the shared framework packages and the
|
|
12
|
+
* service's own script modules (`hostModuleNames`, from defineUserScriptModule) stay
|
|
13
|
+
* external (the host provides them at run time), Node builtins are refused here with
|
|
14
|
+
* the importing file named, because the loader would refuse them at run time anyway,
|
|
15
|
+
* and everything else is bundled.
|
|
16
|
+
*/
|
|
17
|
+
const createUserScriptExternals = (hostModuleNames = []) => ({ request, contextInfo }, callback) => {
|
|
18
|
+
if (!request) {
|
|
19
|
+
return callback();
|
|
20
|
+
}
|
|
21
|
+
if (sharedPackageNames.includes(request) || hostModuleNames.includes(request)) {
|
|
22
|
+
return callback(undefined, `commonjs ${request}`);
|
|
23
|
+
}
|
|
24
|
+
const importer = (contextInfo === null || contextInfo === void 0 ? void 0 : contextInfo.issuer) || 'the entry';
|
|
25
|
+
if (isNodeBuiltin(request)) {
|
|
26
|
+
return callback(new Error(`[${importer}] imports the Node builtin [${request}], which a user script cannot use`));
|
|
27
|
+
}
|
|
28
|
+
if (isSharedPackageSubpath(request)) {
|
|
29
|
+
return callback(new Error(`[${importer}] imports [${request}]; import the package root instead so the host's copy is used`));
|
|
30
|
+
}
|
|
31
|
+
return callback();
|
|
32
|
+
};
|
|
33
|
+
exports.createUserScriptExternals = createUserScriptExternals;
|
|
34
|
+
//# sourceMappingURL=createUserScriptExternals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUserScriptExternals.js","sourceRoot":"","sources":["../../../src/build/createUserScriptExternals.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAE7D,mCAAwC;AAKxC,MAAM,kBAAkB,GAAsB,qCAA8B,CAAC;AAE7E,MAAM,aAAa,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEpH,oFAAoF;AACpF,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AAE/H;;;;;;GAMG;AACI,MAAM,yBAAyB,GACpC,CAAC,kBAAqC,EAAE,EAAE,EAAE,CAC5C,CAAC,EAAE,OAAO,EAAE,WAAW,EAA4B,EAAE,QAA2B,EAAQ,EAAE;IACxF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,CAAC,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,WAAW,CAAC;IAEpD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,+BAA+B,OAAO,mCAAmC,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,cAAc,OAAO,+DAA+D,CAAC,CAAC,CAAC;IAC/H,CAAC;IAED,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC,CAAC;AAtBS,QAAA,yBAAyB,6BAsBlC","sourcesContent":["import { FEDERATED_SHARED_PACKAGE_NAMES } from '@qpqjs/core';\n\nimport { builtinModules } from 'module';\nimport type { ExternalItemFunctionData } from '@rspack/core';\n\ntype ExternalsCallback = (error?: Error, result?: string) => void;\n\nconst sharedPackageNames: readonly string[] = FEDERATED_SHARED_PACKAGE_NAMES;\n\nconst isNodeBuiltin = (request: string): boolean => request.startsWith('node:') || builtinModules.includes(request);\n\n// A subpath of a shared package would bundle a second copy of it beside the host's.\nconst isSharedPackageSubpath = (request: string): boolean => sharedPackageNames.some((name) => request.startsWith(`${name}/`));\n\n/**\n * The externals rule for a user-script build: the shared framework packages and the\n * service's own script modules (`hostModuleNames`, from defineUserScriptModule) stay\n * external (the host provides them at run time), Node builtins are refused here with\n * the importing file named, because the loader would refuse them at run time anyway,\n * and everything else is bundled.\n */\nexport const createUserScriptExternals =\n (hostModuleNames: readonly string[] = []) =>\n ({ request, contextInfo }: ExternalItemFunctionData, callback: ExternalsCallback): void => {\n if (!request) {\n return callback();\n }\n\n if (sharedPackageNames.includes(request) || hostModuleNames.includes(request)) {\n return callback(undefined, `commonjs ${request}`);\n }\n\n const importer = contextInfo?.issuer || 'the entry';\n\n if (isNodeBuiltin(request)) {\n return callback(new Error(`[${importer}] imports the Node builtin [${request}], which a user script cannot use`));\n }\n\n if (isSharedPackageSubpath(request)) {\n return callback(new Error(`[${importer}] imports [${request}]; import the package root instead so the host's copy is used`));\n }\n\n return callback();\n };\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Configuration } from '@rspack/core';
|
|
2
|
+
export type UserScriptRspackConfigOptions = {
|
|
3
|
+
projectDir: string;
|
|
4
|
+
entryPath: string;
|
|
5
|
+
outDir: string;
|
|
6
|
+
sourceMap: boolean;
|
|
7
|
+
hostModuleNames?: readonly string[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* The rspack config that bundles a script project into one CommonJS `main.js`: the
|
|
11
|
+
* author's files and npm packages folded in, the shared framework packages external,
|
|
12
|
+
* no chunks, and a source map only when asked for, embedded in `main.js`. TypeScript goes
|
|
13
|
+
* through swc, so nothing is type checked here.
|
|
14
|
+
*/
|
|
15
|
+
export declare const getUserScriptRspackConfig: ({ projectDir, entryPath, outDir, sourceMap, hostModuleNames, }: UserScriptRspackConfigOptions) => Configuration;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getUserScriptRspackConfig = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const createUserScriptExternals_1 = require("./createUserScriptExternals");
|
|
9
|
+
const USER_SCRIPT_OUTPUT_FILENAME_1 = require("./USER_SCRIPT_OUTPUT_FILENAME");
|
|
10
|
+
const userScriptTsRule_1 = require("./userScriptTsRule");
|
|
11
|
+
/**
|
|
12
|
+
* The rspack config that bundles a script project into one CommonJS `main.js`: the
|
|
13
|
+
* author's files and npm packages folded in, the shared framework packages external,
|
|
14
|
+
* no chunks, and a source map only when asked for, embedded in `main.js`. TypeScript goes
|
|
15
|
+
* through swc, so nothing is type checked here.
|
|
16
|
+
*/
|
|
17
|
+
const getUserScriptRspackConfig = ({ projectDir, entryPath, outDir, sourceMap, hostModuleNames = [], }) => ({
|
|
18
|
+
context: projectDir,
|
|
19
|
+
mode: 'production',
|
|
20
|
+
target: 'node',
|
|
21
|
+
entry: { main: entryPath },
|
|
22
|
+
output: {
|
|
23
|
+
path: outDir,
|
|
24
|
+
filename: USER_SCRIPT_OUTPUT_FILENAME_1.USER_SCRIPT_OUTPUT_FILENAME,
|
|
25
|
+
library: { type: 'commonjs2' },
|
|
26
|
+
clean: true,
|
|
27
|
+
},
|
|
28
|
+
externals: [(0, createUserScriptExternals_1.createUserScriptExternals)(hostModuleNames)],
|
|
29
|
+
externalsType: 'commonjs',
|
|
30
|
+
// The build is ONE file, so a map can only ride inside it. The output is read from a
|
|
31
|
+
// drive, never served, so the size an inline map adds does not matter.
|
|
32
|
+
devtool: sourceMap ? 'inline-source-map' : false,
|
|
33
|
+
optimization: {
|
|
34
|
+
minimize: false,
|
|
35
|
+
splitChunks: false,
|
|
36
|
+
runtimeChunk: false,
|
|
37
|
+
},
|
|
38
|
+
resolve: {
|
|
39
|
+
extensions: ['.ts', '.tsx', '.js', '.json'],
|
|
40
|
+
modules: [path_1.default.join(projectDir, 'node_modules'), 'node_modules'],
|
|
41
|
+
},
|
|
42
|
+
module: {
|
|
43
|
+
// A dynamic import must land in the one file, not a sibling chunk.
|
|
44
|
+
parser: { javascript: { dynamicImportMode: 'eager' } },
|
|
45
|
+
rules: [(0, userScriptTsRule_1.userScriptTsRule)()],
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
exports.getUserScriptRspackConfig = getUserScriptRspackConfig;
|
|
49
|
+
//# sourceMappingURL=getUserScriptRspackConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserScriptRspackConfig.js","sourceRoot":"","sources":["../../../src/build/getUserScriptRspackConfig.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB,2EAAwE;AACxE,+EAA4E;AAC5E,yDAAsD;AAatD;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CAAC,EACxC,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,eAAe,GAAG,EAAE,GACU,EAAiB,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,MAAM;IAEd,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAE1B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,yDAA2B;QACrC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC9B,KAAK,EAAE,IAAI;KACZ;IAED,SAAS,EAAE,CAAC,IAAA,qDAAyB,EAAC,eAAe,CAAC,CAAC;IACvD,aAAa,EAAE,UAAU;IAEzB,qFAAqF;IACrF,uEAAuE;IACvE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK;IAChD,YAAY,EAAE;QACZ,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;KACpB;IAED,OAAO,EAAE;QACP,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;QAC3C,OAAO,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC;KACjE;IAED,MAAM,EAAE;QACN,mEAAmE;QACnE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE;QACtD,KAAK,EAAE,CAAC,IAAA,mCAAgB,GAAE,CAAC;KAC5B;CACF,CAAC,CAAC;AA1CU,QAAA,yBAAyB,6BA0CnC","sourcesContent":["import path from 'path';\nimport type { Configuration } from '@rspack/core';\n\nimport { createUserScriptExternals } from './createUserScriptExternals';\nimport { USER_SCRIPT_OUTPUT_FILENAME } from './USER_SCRIPT_OUTPUT_FILENAME';\nimport { userScriptTsRule } from './userScriptTsRule';\n\nexport type UserScriptRspackConfigOptions = {\n projectDir: string;\n // Absolute path of the entry file (see resolveUserScriptEntry).\n entryPath: string;\n outDir: string;\n // Embed a source map in main.js; never a separate .map file.\n sourceMap: boolean;\n // The service's own script modules (defineUserScriptModule), kept external like the shared packages.\n hostModuleNames?: readonly string[];\n};\n\n/**\n * The rspack config that bundles a script project into one CommonJS `main.js`: the\n * author's files and npm packages folded in, the shared framework packages external,\n * no chunks, and a source map only when asked for, embedded in `main.js`. TypeScript goes\n * through swc, so nothing is type checked here.\n */\nexport const getUserScriptRspackConfig = ({\n projectDir,\n entryPath,\n outDir,\n sourceMap,\n hostModuleNames = [],\n}: UserScriptRspackConfigOptions): Configuration => ({\n context: projectDir,\n mode: 'production',\n target: 'node',\n\n entry: { main: entryPath },\n\n output: {\n path: outDir,\n filename: USER_SCRIPT_OUTPUT_FILENAME,\n library: { type: 'commonjs2' },\n clean: true,\n },\n\n externals: [createUserScriptExternals(hostModuleNames)],\n externalsType: 'commonjs',\n\n // The build is ONE file, so a map can only ride inside it. The output is read from a\n // drive, never served, so the size an inline map adds does not matter.\n devtool: sourceMap ? 'inline-source-map' : false,\n optimization: {\n minimize: false,\n splitChunks: false,\n runtimeChunk: false,\n },\n\n resolve: {\n extensions: ['.ts', '.tsx', '.js', '.json'],\n modules: [path.join(projectDir, 'node_modules'), 'node_modules'],\n },\n\n module: {\n // A dynamic import must land in the one file, not a sibling chunk.\n parser: { javascript: { dynamicImportMode: 'eager' } },\n rules: [userScriptTsRule()],\n },\n});\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './assertUserScriptExports';
|
|
2
|
+
export * from './buildUserScript';
|
|
3
|
+
export * from './checkUserScriptOutput';
|
|
4
|
+
export * from './createUserScriptExternals';
|
|
5
|
+
export * from './getUserScriptRspackConfig';
|
|
6
|
+
export * from './loadRspackModule';
|
|
7
|
+
export * from './resolveUserScriptEntry';
|
|
8
|
+
export * from './runUserScriptRspack';
|
|
9
|
+
export * from './USER_SCRIPT_ENTRY_CANDIDATES';
|
|
10
|
+
export * from './USER_SCRIPT_OUTPUT_FILENAME';
|
|
11
|
+
export * from './UserScriptBuildError';
|
|
12
|
+
export * from './UserScriptBuildResult';
|
|
13
|
+
export * from './userScriptTsRule';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./assertUserScriptExports"), exports);
|
|
18
|
+
__exportStar(require("./buildUserScript"), exports);
|
|
19
|
+
__exportStar(require("./checkUserScriptOutput"), exports);
|
|
20
|
+
__exportStar(require("./createUserScriptExternals"), exports);
|
|
21
|
+
__exportStar(require("./getUserScriptRspackConfig"), exports);
|
|
22
|
+
__exportStar(require("./loadRspackModule"), exports);
|
|
23
|
+
__exportStar(require("./resolveUserScriptEntry"), exports);
|
|
24
|
+
__exportStar(require("./runUserScriptRspack"), exports);
|
|
25
|
+
__exportStar(require("./USER_SCRIPT_ENTRY_CANDIDATES"), exports);
|
|
26
|
+
__exportStar(require("./USER_SCRIPT_OUTPUT_FILENAME"), exports);
|
|
27
|
+
__exportStar(require("./UserScriptBuildError"), exports);
|
|
28
|
+
__exportStar(require("./UserScriptBuildResult"), exports);
|
|
29
|
+
__exportStar(require("./userScriptTsRule"), exports);
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/build/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,oDAAkC;AAClC,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,qDAAmC;AACnC,2DAAyC;AACzC,wDAAsC;AACtC,iEAA+C;AAC/C,gEAA8C;AAC9C,yDAAuC;AACvC,0DAAwC;AACxC,qDAAmC","sourcesContent":["export * from './assertUserScriptExports';\nexport * from './buildUserScript';\nexport * from './checkUserScriptOutput';\nexport * from './createUserScriptExternals';\nexport * from './getUserScriptRspackConfig';\nexport * from './loadRspackModule';\nexport * from './resolveUserScriptEntry';\nexport * from './runUserScriptRspack';\nexport * from './USER_SCRIPT_ENTRY_CANDIDATES';\nexport * from './USER_SCRIPT_OUTPUT_FILENAME';\nexport * from './UserScriptBuildError';\nexport * from './UserScriptBuildResult';\nexport * from './userScriptTsRule';\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type RspackModule = typeof import('@rspack/core');
|
|
2
|
+
/**
|
|
3
|
+
* Loads @rspack/core, which ships as ES modules only, from CommonJS code that may be
|
|
4
|
+
* bundled and running on a lambda with rspack on a layer: resolve the entry with Node's
|
|
5
|
+
* require (NODE_PATH aware), require it where Node allows that, otherwise import it by
|
|
6
|
+
* file URL. Loaded once per process.
|
|
7
|
+
*/
|
|
8
|
+
export declare const loadRspackModule: () => Promise<RspackModule>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.loadRspackModule = void 0;
|
|
13
|
+
const module_1 = require("module");
|
|
14
|
+
const url_1 = require("url");
|
|
15
|
+
// Node refuses require() of an ES module on versions before 22.12, or when the module
|
|
16
|
+
// graph awaits at top level; both mean "use import() instead".
|
|
17
|
+
const REQUIRE_ESM_ERROR_CODES = ['ERR_REQUIRE_ESM', 'ERR_REQUIRE_ASYNC_MODULE'];
|
|
18
|
+
// Inside a bundle `require` is the bundler's own and cannot see a layer-provided package;
|
|
19
|
+
// Node's real require can, and honours NODE_PATH, which is how a lambda layer is found.
|
|
20
|
+
const getNodeRequire = () => (typeof __non_webpack_require__ === 'function' ? __non_webpack_require__ : (0, module_1.createRequire)(__filename));
|
|
21
|
+
// Built at run time so neither tsc (which rewrites a literal import() to require() in
|
|
22
|
+
// CommonJS output) nor the bundler can turn it into a require.
|
|
23
|
+
const importByUrl = new Function('url', 'return import(url)');
|
|
24
|
+
const isRequireEsmError = (error) => { var _a; return REQUIRE_ESM_ERROR_CODES.includes((_a = error === null || error === void 0 ? void 0 : error.code) !== null && _a !== void 0 ? _a : ''); };
|
|
25
|
+
const requireOrImport = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const nodeRequire = getNodeRequire();
|
|
27
|
+
const entry = nodeRequire.resolve('@rspack/core');
|
|
28
|
+
try {
|
|
29
|
+
return nodeRequire(entry);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (!isRequireEsmError(error))
|
|
33
|
+
throw error;
|
|
34
|
+
return importByUrl((0, url_1.pathToFileURL)(entry).href);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
let loading;
|
|
38
|
+
/**
|
|
39
|
+
* Loads @rspack/core, which ships as ES modules only, from CommonJS code that may be
|
|
40
|
+
* bundled and running on a lambda with rspack on a layer: resolve the entry with Node's
|
|
41
|
+
* require (NODE_PATH aware), require it where Node allows that, otherwise import it by
|
|
42
|
+
* file URL. Loaded once per process.
|
|
43
|
+
*/
|
|
44
|
+
const loadRspackModule = () => {
|
|
45
|
+
if (!loading) {
|
|
46
|
+
loading = requireOrImport();
|
|
47
|
+
}
|
|
48
|
+
return loading;
|
|
49
|
+
};
|
|
50
|
+
exports.loadRspackModule = loadRspackModule;
|
|
51
|
+
//# sourceMappingURL=loadRspackModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadRspackModule.js","sourceRoot":"","sources":["../../../src/build/loadRspackModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAuC;AACvC,6BAAoC;AAOpC,sFAAsF;AACtF,+DAA+D;AAC/D,MAAM,uBAAuB,GAAG,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;AAEhF,0FAA0F;AAC1F,wFAAwF;AACxF,MAAM,cAAc,GAAG,GAAgB,EAAE,CAAC,CAAC,OAAO,uBAAuB,KAAK,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC,CAAC;AAEhJ,sFAAsF;AACtF,+DAA+D;AAC/D,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAA2C,CAAC;AAExG,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAW,EAAE,WAAC,OAAA,uBAAuB,CAAC,QAAQ,CAAC,MAAC,KAA2B,aAA3B,KAAK,uBAAL,KAAK,CAAwB,IAAI,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;AAElI,MAAM,eAAe,GAAG,GAAgC,EAAE;IACxD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,KAAK,CAAiB,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC3C,OAAO,WAAW,CAAC,IAAA,mBAAa,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,IAAI,OAA0C,CAAC;AAE/C;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,GAA0B,EAAE;IAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,eAAe,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B","sourcesContent":["import { createRequire } from 'module';\nimport { pathToFileURL } from 'url';\n\nexport type RspackModule = typeof import('@rspack/core');\n\n// The bundler's escape hatch for the host's real `require`; undefined outside a bundle.\ndeclare const __non_webpack_require__: NodeRequire | undefined;\n\n// Node refuses require() of an ES module on versions before 22.12, or when the module\n// graph awaits at top level; both mean \"use import() instead\".\nconst REQUIRE_ESM_ERROR_CODES = ['ERR_REQUIRE_ESM', 'ERR_REQUIRE_ASYNC_MODULE'];\n\n// Inside a bundle `require` is the bundler's own and cannot see a layer-provided package;\n// Node's real require can, and honours NODE_PATH, which is how a lambda layer is found.\nconst getNodeRequire = (): NodeRequire => (typeof __non_webpack_require__ === 'function' ? __non_webpack_require__ : createRequire(__filename));\n\n// Built at run time so neither tsc (which rewrites a literal import() to require() in\n// CommonJS output) nor the bundler can turn it into a require.\nconst importByUrl = new Function('url', 'return import(url)') as (url: string) => Promise<RspackModule>;\n\nconst isRequireEsmError = (error: unknown): boolean => REQUIRE_ESM_ERROR_CODES.includes((error as { code?: string })?.code ?? '');\n\nconst requireOrImport = async (): Promise<RspackModule> => {\n const nodeRequire = getNodeRequire();\n const entry = nodeRequire.resolve('@rspack/core');\n\n try {\n return nodeRequire(entry) as RspackModule;\n } catch (error) {\n if (!isRequireEsmError(error)) throw error;\n return importByUrl(pathToFileURL(entry).href);\n }\n};\n\nlet loading: Promise<RspackModule> | undefined;\n\n/**\n * Loads @rspack/core, which ships as ES modules only, from CommonJS code that may be\n * bundled and running on a lambda with rspack on a layer: resolve the entry with Node's\n * require (NODE_PATH aware), require it where Node allows that, otherwise import it by\n * file URL. Loaded once per process.\n */\nexport const loadRspackModule = (): Promise<RspackModule> => {\n if (!loading) {\n loading = requireOrImport();\n }\n return loading;\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveUserScriptEntry = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const USER_SCRIPT_ENTRY_CANDIDATES_1 = require("./USER_SCRIPT_ENTRY_CANDIDATES");
|
|
10
|
+
const UserScriptBuildError_1 = require("./UserScriptBuildError");
|
|
11
|
+
/** The absolute entry path of a script project, or a NoEntry error naming what was looked for. */
|
|
12
|
+
const resolveUserScriptEntry = (projectDir) => {
|
|
13
|
+
const found = USER_SCRIPT_ENTRY_CANDIDATES_1.USER_SCRIPT_ENTRY_CANDIDATES.map((candidate) => path_1.default.join(projectDir, candidate)).find((candidate) => fs_1.default.existsSync(candidate));
|
|
14
|
+
if (!found) {
|
|
15
|
+
throw new UserScriptBuildError_1.UserScriptBuildError(UserScriptBuildError_1.UserScriptBuildErrorCode.NoEntry, `No script entry in [${projectDir}]: expected one of ${USER_SCRIPT_ENTRY_CANDIDATES_1.USER_SCRIPT_ENTRY_CANDIDATES.join(', ')}`);
|
|
16
|
+
}
|
|
17
|
+
return found;
|
|
18
|
+
};
|
|
19
|
+
exports.resolveUserScriptEntry = resolveUserScriptEntry;
|
|
20
|
+
//# sourceMappingURL=resolveUserScriptEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveUserScriptEntry.js","sourceRoot":"","sources":["../../../src/build/resolveUserScriptEntry.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,iFAA8E;AAC9E,iEAAwF;AAExF,kGAAkG;AAC3F,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAU,EAAE;IACnE,MAAM,KAAK,GAAG,2DAA4B,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9I,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,2CAAoB,CAC5B,+CAAwB,CAAC,OAAO,EAChC,uBAAuB,UAAU,sBAAsB,2DAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAXW,QAAA,sBAAsB,0BAWjC","sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { USER_SCRIPT_ENTRY_CANDIDATES } from './USER_SCRIPT_ENTRY_CANDIDATES';\nimport { UserScriptBuildError, UserScriptBuildErrorCode } from './UserScriptBuildError';\n\n/** The absolute entry path of a script project, or a NoEntry error naming what was looked for. */\nexport const resolveUserScriptEntry = (projectDir: string): string => {\n const found = USER_SCRIPT_ENTRY_CANDIDATES.map((candidate) => path.join(projectDir, candidate)).find((candidate) => fs.existsSync(candidate));\n\n if (!found) {\n throw new UserScriptBuildError(\n UserScriptBuildErrorCode.NoEntry,\n `No script entry in [${projectDir}]: expected one of ${USER_SCRIPT_ENTRY_CANDIDATES.join(', ')}`,\n );\n }\n\n return found;\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Configuration } from '@rspack/core';
|
|
2
|
+
/**
|
|
3
|
+
* One-shot rspack build as a promise; rejects on a compiler error or on stats errors.
|
|
4
|
+
* Kept here rather than imported from @qpqjs/deploy-rspack because this package is
|
|
5
|
+
* bundled into lambdas and must not pull that package's deploy-time dependencies in.
|
|
6
|
+
*/
|
|
7
|
+
export declare const runUserScriptRspack: (config: Configuration) => Promise<void>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.runUserScriptRspack = void 0;
|
|
13
|
+
const loadRspackModule_1 = require("./loadRspackModule");
|
|
14
|
+
/**
|
|
15
|
+
* One-shot rspack build as a promise; rejects on a compiler error or on stats errors.
|
|
16
|
+
* Kept here rather than imported from @qpqjs/deploy-rspack because this package is
|
|
17
|
+
* bundled into lambdas and must not pull that package's deploy-time dependencies in.
|
|
18
|
+
*/
|
|
19
|
+
const runUserScriptRspack = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const { rspack } = yield (0, loadRspackModule_1.loadRspackModule)();
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
rspack(config, (error, stats) => {
|
|
23
|
+
if (error)
|
|
24
|
+
return reject(error);
|
|
25
|
+
if (stats === null || stats === void 0 ? void 0 : stats.hasErrors())
|
|
26
|
+
return reject(new Error(stats.toString({ errors: true, colors: false })));
|
|
27
|
+
return resolve();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
exports.runUserScriptRspack = runUserScriptRspack;
|
|
32
|
+
//# sourceMappingURL=runUserScriptRspack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runUserScriptRspack.js","sourceRoot":"","sources":["../../../src/build/runUserScriptRspack.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yDAAsD;AAEtD;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAO,MAAqB,EAAiB,EAAE;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAVW,QAAA,mBAAmB,uBAU9B","sourcesContent":["import type { Configuration } from '@rspack/core';\n\nimport { loadRspackModule } from './loadRspackModule';\n\n/**\n * One-shot rspack build as a promise; rejects on a compiler error or on stats errors.\n * Kept here rather than imported from @qpqjs/deploy-rspack because this package is\n * bundled into lambdas and must not pull that package's deploy-time dependencies in.\n */\nexport const runUserScriptRspack = async (config: Configuration): Promise<void> => {\n const { rspack } = await loadRspackModule();\n\n return new Promise((resolve, reject) => {\n rspack(config, (error, stats) => {\n if (error) return reject(error);\n if (stats?.hasErrors()) return reject(new Error(stats.toString({ errors: true, colors: false })));\n return resolve();\n });\n });\n};\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RuleSetRule } from '@rspack/core';
|
|
2
|
+
/**
|
|
3
|
+
* TypeScript through rspack's builtin swc loader, no type check. The same options as a
|
|
4
|
+
* service build's rule, kept here so this package does not depend on deploy-rspack.
|
|
5
|
+
*/
|
|
6
|
+
export declare const userScriptTsRule: () => RuleSetRule;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.userScriptTsRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* TypeScript through rspack's builtin swc loader, no type check. The same options as a
|
|
6
|
+
* service build's rule, kept here so this package does not depend on deploy-rspack.
|
|
7
|
+
*/
|
|
8
|
+
const userScriptTsRule = () => ({
|
|
9
|
+
test: /\.ts$/,
|
|
10
|
+
exclude: /node_modules/,
|
|
11
|
+
loader: 'builtin:swc-loader',
|
|
12
|
+
options: {
|
|
13
|
+
jsc: {
|
|
14
|
+
parser: { syntax: 'typescript', tsx: false, decorators: true },
|
|
15
|
+
transform: { legacyDecorator: true, decoratorMetadata: true },
|
|
16
|
+
target: 'es2021',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
exports.userScriptTsRule = userScriptTsRule;
|
|
21
|
+
//# sourceMappingURL=userScriptTsRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userScriptTsRule.js","sourceRoot":"","sources":["../../../src/build/userScriptTsRule.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACI,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE;QACP,GAAG,EAAE;YACH,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC9D,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;YAC7D,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAXU,QAAA,gBAAgB,oBAW1B","sourcesContent":["import type { RuleSetRule } from '@rspack/core';\n\n/**\n * TypeScript through rspack's builtin swc loader, no type check. The same options as a\n * service build's rule, kept here so this package does not depend on deploy-rspack.\n */\nexport const userScriptTsRule = (): RuleSetRule => ({\n test: /\\.ts$/,\n exclude: /node_modules/,\n loader: 'builtin:swc-loader',\n options: {\n jsc: {\n parser: { syntax: 'typescript', tsx: false, decorators: true },\n transform: { legacyDecorator: true, decoratorMetadata: true },\n target: 'es2021',\n },\n },\n});\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The packages the builder layer provides at run time. They stay external in the lambda
|
|
3
|
+
* bundle (rspack's binding is native and cannot be bundled) and resolve from the layer.
|
|
4
|
+
*/
|
|
5
|
+
export declare const USER_SCRIPT_BUILDER_LAYER_MODULES: readonly ["@rspack/core", "@rspack/binding"];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_SCRIPT_BUILDER_LAYER_MODULES = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The packages the builder layer provides at run time. They stay external in the lambda
|
|
6
|
+
* bundle (rspack's binding is native and cannot be bundled) and resolve from the layer.
|
|
7
|
+
*/
|
|
8
|
+
exports.USER_SCRIPT_BUILDER_LAYER_MODULES = ['@rspack/core', '@rspack/binding'];
|
|
9
|
+
//# sourceMappingURL=USER_SCRIPT_BUILDER_LAYER_MODULES.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"USER_SCRIPT_BUILDER_LAYER_MODULES.js","sourceRoot":"","sources":["../../../src/config/USER_SCRIPT_BUILDER_LAYER_MODULES.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iCAAiC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC","sourcesContent":["/**\n * The packages the builder layer provides at run time. They stay external in the lambda\n * bundle (rspack's binding is native and cannot be bundled) and resolve from the layer.\n */\nexport const USER_SCRIPT_BUILDER_LAYER_MODULES = ['@rspack/core', '@rspack/binding'] as const;\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_SCRIPT_BUILDER_LAYER_NAME = void 0;
|
|
4
|
+
/** The lambda layer that carries rspack for services that build user scripts. */
|
|
5
|
+
exports.USER_SCRIPT_BUILDER_LAYER_NAME = 'user-script-builder';
|
|
6
|
+
//# sourceMappingURL=USER_SCRIPT_BUILDER_LAYER_NAME.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"USER_SCRIPT_BUILDER_LAYER_NAME.js","sourceRoot":"","sources":["../../../src/config/USER_SCRIPT_BUILDER_LAYER_NAME.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACpE,QAAA,8BAA8B,GAAG,qBAAqB,CAAC","sourcesContent":["/** The lambda layer that carries rspack for services that build user scripts. */\nexport const USER_SCRIPT_BUILDER_LAYER_NAME = 'user-script-builder';\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActionProcessorsQPQConfigSetting } from '@qpqjs/core';
|
|
2
|
+
/**
|
|
3
|
+
* Registers the askUserScriptBuild processor on a service. Only services that call this
|
|
4
|
+
* can build user scripts, and only they load rspack; on lambda they also need the layer
|
|
5
|
+
* from getUserScriptBuilderApiLayer.
|
|
6
|
+
*/
|
|
7
|
+
export declare const defineUserScriptBuilder: () => ActionProcessorsQPQConfigSetting;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineUserScriptBuilder = void 0;
|
|
4
|
+
const core_1 = require("@qpqjs/core");
|
|
5
|
+
/**
|
|
6
|
+
* Registers the askUserScriptBuild processor on a service. Only services that call this
|
|
7
|
+
* can build user scripts, and only they load rspack; on lambda they also need the layer
|
|
8
|
+
* from getUserScriptBuilderApiLayer.
|
|
9
|
+
*/
|
|
10
|
+
const defineUserScriptBuilder = () => (0, core_1.defineActionProcessors)({
|
|
11
|
+
basePath: __dirname,
|
|
12
|
+
relativePath: '../actionProcessor/getUserScriptBuildActionProcessors',
|
|
13
|
+
functionName: 'getUserScriptBuildActionProcessors',
|
|
14
|
+
});
|
|
15
|
+
exports.defineUserScriptBuilder = defineUserScriptBuilder;
|
|
16
|
+
//# sourceMappingURL=defineUserScriptBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineUserScriptBuilder.js","sourceRoot":"","sources":["../../../src/config/defineUserScriptBuilder.ts"],"names":[],"mappings":";;;AAAA,sCAAuF;AAEvF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,GAAqC,EAAE,CAC5E,IAAA,6BAAsB,EAAC;IACrB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,uDAAuD;IACrE,YAAY,EAAE,oCAAoC;CACnD,CAAC,CAAC;AALQ,QAAA,uBAAuB,2BAK/B","sourcesContent":["import { ActionProcessorsQPQConfigSetting, defineActionProcessors } from '@qpqjs/core';\n\n/**\n * Registers the askUserScriptBuild processor on a service. Only services that call this\n * can build user scripts, and only they load rspack; on lambda they also need the layer\n * from getUserScriptBuilderApiLayer.\n */\nexport const defineUserScriptBuilder = (): ActionProcessorsQPQConfigSetting =>\n defineActionProcessors({\n basePath: __dirname,\n relativePath: '../actionProcessor/getUserScriptBuildActionProcessors',\n functionName: 'getUserScriptBuildActionProcessors',\n });\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ApiLayer } from '@qpqjs/config-aws';
|
|
2
|
+
/**
|
|
3
|
+
* The api layer entry that gives a service's lambdas rspack, for the service that
|
|
4
|
+
* registered defineUserScriptBuilder. Points at the directory `qpq script:builder-layer`
|
|
5
|
+
* produces, so the app's predeploy hook must run that command before a deploy.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getUserScriptBuilderApiLayer: () => ApiLayer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserScriptBuilderApiLayer = void 0;
|
|
4
|
+
const getUserScriptBuilderLayerDir_1 = require("./getUserScriptBuilderLayerDir");
|
|
5
|
+
const USER_SCRIPT_BUILDER_LAYER_MODULES_1 = require("./USER_SCRIPT_BUILDER_LAYER_MODULES");
|
|
6
|
+
const USER_SCRIPT_BUILDER_LAYER_NAME_1 = require("./USER_SCRIPT_BUILDER_LAYER_NAME");
|
|
7
|
+
/**
|
|
8
|
+
* The api layer entry that gives a service's lambdas rspack, for the service that
|
|
9
|
+
* registered defineUserScriptBuilder. Points at the directory `qpq script:builder-layer`
|
|
10
|
+
* produces, so the app's predeploy hook must run that command before a deploy.
|
|
11
|
+
*/
|
|
12
|
+
const getUserScriptBuilderApiLayer = () => ({
|
|
13
|
+
name: USER_SCRIPT_BUILDER_LAYER_NAME_1.USER_SCRIPT_BUILDER_LAYER_NAME,
|
|
14
|
+
buildPath: (0, getUserScriptBuilderLayerDir_1.getUserScriptBuilderLayerDir)(),
|
|
15
|
+
modules: [...USER_SCRIPT_BUILDER_LAYER_MODULES_1.USER_SCRIPT_BUILDER_LAYER_MODULES],
|
|
16
|
+
});
|
|
17
|
+
exports.getUserScriptBuilderApiLayer = getUserScriptBuilderApiLayer;
|
|
18
|
+
//# sourceMappingURL=getUserScriptBuilderApiLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserScriptBuilderApiLayer.js","sourceRoot":"","sources":["../../../src/config/getUserScriptBuilderApiLayer.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAC9E,2FAAwF;AACxF,qFAAkF;AAElF;;;;GAIG;AACI,MAAM,4BAA4B,GAAG,GAAa,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,+DAA8B;IACpC,SAAS,EAAE,IAAA,2DAA4B,GAAE;IACzC,OAAO,EAAE,CAAC,GAAG,qEAAiC,CAAC;CAChD,CAAC,CAAC;AAJU,QAAA,4BAA4B,gCAItC","sourcesContent":["import { ApiLayer } from '@qpqjs/config-aws';\n\nimport { getUserScriptBuilderLayerDir } from './getUserScriptBuilderLayerDir';\nimport { USER_SCRIPT_BUILDER_LAYER_MODULES } from './USER_SCRIPT_BUILDER_LAYER_MODULES';\nimport { USER_SCRIPT_BUILDER_LAYER_NAME } from './USER_SCRIPT_BUILDER_LAYER_NAME';\n\n/**\n * The api layer entry that gives a service's lambdas rspack, for the service that\n * registered defineUserScriptBuilder. Points at the directory `qpq script:builder-layer`\n * produces, so the app's predeploy hook must run that command before a deploy.\n */\nexport const getUserScriptBuilderApiLayer = (): ApiLayer => ({\n name: USER_SCRIPT_BUILDER_LAYER_NAME,\n buildPath: getUserScriptBuilderLayerDir(),\n modules: [...USER_SCRIPT_BUILDER_LAYER_MODULES],\n});\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one directory the builder layer lives in: `<this package>/layer`. The api layer
|
|
3
|
+
* entry reads it and `qpq script:builder-layer` writes it, so neither side is told a
|
|
4
|
+
* path. Absolute, which is why the CDK resolves layer paths rather than joining them.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getUserScriptBuilderLayerDir: () => string;
|