@metamask/snaps-cli 8.2.0 → 8.4.0
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/CHANGELOG.md +45 -1
- package/dist/builders.cjs +11 -0
- package/dist/builders.cjs.map +1 -1
- package/dist/builders.d.cts +11 -0
- package/dist/builders.d.cts.map +1 -1
- package/dist/builders.d.mts +11 -0
- package/dist/builders.d.mts.map +1 -1
- package/dist/builders.mjs +11 -0
- package/dist/builders.mjs.map +1 -1
- package/dist/commands/build/build.cjs +15 -7
- package/dist/commands/build/build.cjs.map +1 -1
- package/dist/commands/build/build.d.cts +19 -3
- package/dist/commands/build/build.d.cts.map +1 -1
- package/dist/commands/build/build.d.mts +19 -3
- package/dist/commands/build/build.d.mts.map +1 -1
- package/dist/commands/build/build.mjs +15 -7
- package/dist/commands/build/build.mjs.map +1 -1
- package/dist/commands/build/index.cjs +15 -2
- package/dist/commands/build/index.cjs.map +1 -1
- package/dist/commands/build/index.d.cts.map +1 -1
- package/dist/commands/build/index.d.mts.map +1 -1
- package/dist/commands/build/index.mjs +15 -2
- package/dist/commands/build/index.mjs.map +1 -1
- package/dist/commands/manifest/implementation.cjs +1 -2
- package/dist/commands/manifest/implementation.cjs.map +1 -1
- package/dist/commands/manifest/implementation.d.cts.map +1 -1
- package/dist/commands/manifest/implementation.d.mts.map +1 -1
- package/dist/commands/manifest/implementation.mjs +1 -2
- package/dist/commands/manifest/implementation.mjs.map +1 -1
- package/dist/commands/sandbox/sandbox.cjs +4 -1
- package/dist/commands/sandbox/sandbox.cjs.map +1 -1
- package/dist/commands/sandbox/sandbox.d.cts.map +1 -1
- package/dist/commands/sandbox/sandbox.d.mts.map +1 -1
- package/dist/commands/sandbox/sandbox.mjs +4 -1
- package/dist/commands/sandbox/sandbox.mjs.map +1 -1
- package/dist/commands/watch/index.cjs +7 -4
- package/dist/commands/watch/index.cjs.map +1 -1
- package/dist/commands/watch/index.d.cts.map +1 -1
- package/dist/commands/watch/index.d.mts.map +1 -1
- package/dist/commands/watch/index.mjs +7 -4
- package/dist/commands/watch/index.mjs.map +1 -1
- package/dist/config.cjs +5 -0
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts +71 -22
- package/dist/config.d.cts.map +1 -1
- package/dist/config.d.mts +71 -22
- package/dist/config.d.mts.map +1 -1
- package/dist/config.mjs +5 -0
- package/dist/config.mjs.map +1 -1
- package/dist/utils/cli.cjs +44 -4
- package/dist/utils/cli.cjs.map +1 -1
- package/dist/utils/cli.d.cts +9 -0
- package/dist/utils/cli.d.cts.map +1 -1
- package/dist/utils/cli.d.mts +9 -0
- package/dist/utils/cli.d.mts.map +1 -1
- package/dist/utils/cli.mjs +20 -1
- package/dist/utils/cli.mjs.map +1 -1
- package/dist/webpack/config.cjs +7 -1
- package/dist/webpack/config.cjs.map +1 -1
- package/dist/webpack/config.d.cts +16 -4
- package/dist/webpack/config.d.cts.map +1 -1
- package/dist/webpack/config.d.mts +16 -4
- package/dist/webpack/config.d.mts.map +1 -1
- package/dist/webpack/config.mjs +8 -2
- package/dist/webpack/config.mjs.map +1 -1
- package/dist/webpack/plugins.cjs +90 -2
- package/dist/webpack/plugins.cjs.map +1 -1
- package/dist/webpack/plugins.d.cts +36 -2
- package/dist/webpack/plugins.d.cts.map +1 -1
- package/dist/webpack/plugins.d.mts +36 -2
- package/dist/webpack/plugins.d.mts.map +1 -1
- package/dist/webpack/plugins.mjs +90 -3
- package/dist/webpack/plugins.mjs.map +1 -1
- package/dist/webpack/server.cjs +14 -3
- package/dist/webpack/server.cjs.map +1 -1
- package/dist/webpack/server.d.cts.map +1 -1
- package/dist/webpack/server.d.mts.map +1 -1
- package/dist/webpack/server.mjs +16 -5
- package/dist/webpack/server.mjs.map +1 -1
- package/dist/webpack/utils.cjs +29 -1
- package/dist/webpack/utils.cjs.map +1 -1
- package/dist/webpack/utils.d.cts +9 -1
- package/dist/webpack/utils.d.cts.map +1 -1
- package/dist/webpack/utils.d.mts +9 -1
- package/dist/webpack/utils.d.mts.map +1 -1
- package/dist/webpack/utils.mjs +27 -0
- package/dist/webpack/utils.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.mjs","sourceRoot":"","sources":["../../../src/commands/manifest/implementation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oCAAoC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mCAAmC;AACnE,OAAO,EAAE,aAAa,EAAE,uCAAuC;AAC/D,OAAO,EAAE,MAAM,EAAE,wBAAwB;;;
|
|
1
|
+
{"version":3,"file":"implementation.mjs","sourceRoot":"","sources":["../../../src/commands/manifest/implementation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oCAAoC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mCAAmC;AACnE,OAAO,EAAE,aAAa,EAAE,uCAAuC;AAC/D,OAAO,EAAE,MAAM,EAAE,wBAAwB;;;AAIzC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,8BAAoB;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,KAAc,EACd,OAAkB,EAClB,OAAa;IAEb,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;QACrD,OAAO;QACP,iBAAiB;QACjB,sBAAsB,EAAE,KAAK;QAC7B,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,yCAAyC,eAAe,EAAE,CAAC;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,2EAA2E,CAAC;QAChF,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CACF,+CAA+C,cAAc,EAAE,EAC/D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,CACF,2CAA2C,iBAAiB,EAAE,EAC9D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { handlerEndowments } from '@metamask/snaps-rpc-methods';\nimport { checkManifest, indent } from '@metamask/snaps-utils/node';\nimport { writeManifest } from '@metamask/snaps-webpack-plugin';\nimport { assert } from '@metamask/utils';\nimport { red, yellow, green } from 'chalk';\nimport type { Ora } from 'ora';\n\nimport { error, info, warn } from '../../utils';\n\n/**\n * Check the snap manifest file at the given path. If `write` is `true`, the\n * manifest will be written to disk if it is invalid. If `write` is `false`,\n * the manifest will not be written to disk, and the function will log any\n * errors and warnings to the console.\n *\n * @param path - The path to the manifest file.\n * @param write - Whether to write the manifest to disk if it is invalid.\n * @param exports - The exports to check in the manifest.\n * @param spinner - An optional spinner to use for logging.\n * @returns Whether the manifest is valid.\n */\nexport async function manifest(\n path: string,\n write: boolean,\n exports?: string[],\n spinner?: Ora,\n): Promise<boolean> {\n const { reports, updated } = await checkManifest(path, {\n exports,\n handlerEndowments,\n updateAndWriteManifest: write,\n writeFileFn: writeManifest,\n });\n\n const errors = [];\n const fixed = [];\n const warnings = [];\n\n for (const report of reports) {\n if (report.severity === 'error' && !report.wasFixed) {\n errors.push(indent(red(`• ${report.message}`)));\n } else if (report.wasFixed) {\n fixed.push(indent(yellow(`• ${report.message}`) + green(' (fixed)')));\n } else {\n assert(report.severity === 'warning');\n warnings.push(indent(yellow(`• ${report.message}`)));\n }\n }\n\n if (errors.length > 0) {\n const formattedErrors = errors.join('\\n');\n let message = `The Snap manifest file is invalid.\\n\\n${formattedErrors}`;\n if (!write) {\n message +=\n '\\n\\nRun the command with the `--fix` flag to attempt to fix the manifest.';\n }\n\n error(message, spinner);\n }\n\n if (write && updated) {\n const formattedFixed = fixed.join('\\n');\n info(\n `The Snap manifest file has been updated.\\n\\n${formattedFixed}`,\n spinner,\n );\n }\n\n if (warnings.length > 0) {\n const formattedWarnings = warnings.join('\\n');\n\n warn(\n `The Snap manifest file has warnings.\\n\\n${formattedWarnings}`,\n spinner,\n );\n }\n\n if (errors.length > 0) {\n spinner?.stop();\n process.exitCode = 1;\n return false;\n }\n\n return true;\n}\n"]}
|
|
@@ -24,9 +24,12 @@ const steps = [
|
|
|
24
24
|
*/
|
|
25
25
|
async function sandboxHandler(config, { build = true }) {
|
|
26
26
|
await (0, utils_1.executeSteps)(steps, {
|
|
27
|
-
analyze: false,
|
|
28
27
|
build,
|
|
29
28
|
config,
|
|
29
|
+
options: {
|
|
30
|
+
analyze: false,
|
|
31
|
+
preinstalled: false,
|
|
32
|
+
},
|
|
30
33
|
});
|
|
31
34
|
}
|
|
32
35
|
exports.sandboxHandler = sandboxHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.cjs","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAGxC,iDAAoD;AACpD,8CAA+C;AAS/C,MAAM,KAAK,GAA0B;IACnC,GAAG,aAAU;IACb;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;YAC5C,IAAA,eAAO,EAAC,uCAAuC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,EAAE,KAAK,GAAG,IAAI,EAAkB;IAEhC,MAAM,IAAA,oBAAY,EAAC,KAAK,EAAE;QACxB,OAAO,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"sandbox.cjs","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAGxC,iDAAoD;AACpD,8CAA+C;AAS/C,MAAM,KAAK,GAA0B;IACnC,GAAG,aAAU;IACb;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;YAC5C,IAAA,eAAO,EAAC,uCAAuC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,EAAE,KAAK,GAAG,IAAI,EAAkB;IAEhC,MAAM,IAAA,oBAAY,EAAC,KAAK,EAAE;QACxB,KAAK;QACL,MAAM;QACN,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;SACpB;KACF,CAAC,CAAC;AACL,CAAC;AAZD,wCAYC","sourcesContent":["import { startSandbox } from './server';\nimport type { ProcessedConfig } from '../../config';\nimport type { Steps } from '../../utils';\nimport { success, executeSteps } from '../../utils';\nimport { steps as buildSteps } from '../build';\nimport type { BuildContext } from '../build/build';\n\ntype SandboxOptions = {\n build?: boolean;\n};\n\ntype SandboxContext = BuildContext;\n\nconst steps: Steps<SandboxContext> = [\n ...buildSteps,\n {\n name: 'Running sandbox.',\n task: async ({ config, spinner }) => {\n const { port } = await startSandbox(config);\n success(`Sandbox running at http://localhost:${port}.`, spinner);\n\n spinner.stop();\n },\n },\n];\n\n/**\n * Start the sandbox.\n *\n * @param config - The config object.\n * @param options - The options object.\n * @param options.build - Whether to build the Snap before starting the sandbox.\n */\nexport async function sandboxHandler(\n config: ProcessedConfig,\n { build = true }: SandboxOptions,\n) {\n await executeSteps(steps, {\n build,\n config,\n options: {\n analyze: false,\n preinstalled: false,\n },\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.cts","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AAMpD,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAiBF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,EAAE,KAAY,EAAE,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"sandbox.d.cts","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AAMpD,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAiBF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,EAAE,KAAY,EAAE,EAAE,cAAc,iBAUjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.mts","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AAMpD,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAiBF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,EAAE,KAAY,EAAE,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"sandbox.d.mts","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AAMpD,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAiBF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,EAAE,KAAY,EAAE,EAAE,cAAc,iBAUjC"}
|
|
@@ -21,9 +21,12 @@ const steps = [
|
|
|
21
21
|
*/
|
|
22
22
|
export async function sandboxHandler(config, { build = true }) {
|
|
23
23
|
await executeSteps(steps, {
|
|
24
|
-
analyze: false,
|
|
25
24
|
build,
|
|
26
25
|
config,
|
|
26
|
+
options: {
|
|
27
|
+
analyze: false,
|
|
28
|
+
preinstalled: false,
|
|
29
|
+
},
|
|
27
30
|
});
|
|
28
31
|
}
|
|
29
32
|
//# sourceMappingURL=sandbox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.mjs","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAiB;AAGxC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,8BAAoB;AACpD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,2BAAiB;AAS/C,MAAM,KAAK,GAA0B;IACnC,GAAG,UAAU;IACb;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,CAAC,uCAAuC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,EAAE,KAAK,GAAG,IAAI,EAAkB;IAEhC,MAAM,YAAY,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"sandbox.mjs","sourceRoot":"","sources":["../../../src/commands/sandbox/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAiB;AAGxC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,8BAAoB;AACpD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,2BAAiB;AAS/C,MAAM,KAAK,GAA0B;IACnC,GAAG,UAAU;IACb;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,CAAC,uCAAuC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,EAAE,KAAK,GAAG,IAAI,EAAkB;IAEhC,MAAM,YAAY,CAAC,KAAK,EAAE;QACxB,KAAK;QACL,MAAM;QACN,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;SACpB;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { startSandbox } from './server';\nimport type { ProcessedConfig } from '../../config';\nimport type { Steps } from '../../utils';\nimport { success, executeSteps } from '../../utils';\nimport { steps as buildSteps } from '../build';\nimport type { BuildContext } from '../build/build';\n\ntype SandboxOptions = {\n build?: boolean;\n};\n\ntype SandboxContext = BuildContext;\n\nconst steps: Steps<SandboxContext> = [\n ...buildSteps,\n {\n name: 'Running sandbox.',\n task: async ({ config, spinner }) => {\n const { port } = await startSandbox(config);\n success(`Sandbox running at http://localhost:${port}.`, spinner);\n\n spinner.stop();\n },\n },\n];\n\n/**\n * Start the sandbox.\n *\n * @param config - The config object.\n * @param options - The options object.\n * @param options.build - Whether to build the Snap before starting the sandbox.\n */\nexport async function sandboxHandler(\n config: ProcessedConfig,\n { build = true }: SandboxOptions,\n) {\n await executeSteps(steps, {\n build,\n config,\n options: {\n analyze: false,\n preinstalled: false,\n },\n });\n}\n"]}
|
|
@@ -19,15 +19,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
const watch_1 = require("./watch.cjs");
|
|
21
21
|
const builders_1 = __importDefault(require("../../builders.cjs"));
|
|
22
|
+
const utils_1 = require("../../utils/index.cjs");
|
|
22
23
|
const command = {
|
|
23
24
|
command: ['watch', 'w'],
|
|
24
25
|
desc: 'Build Snap on change',
|
|
25
26
|
builder: (yarg) => {
|
|
26
|
-
yarg.option('port', builders_1.default.port);
|
|
27
|
+
yarg.option('port', builders_1.default.port).option('manifest', builders_1.default.manifest);
|
|
28
|
+
},
|
|
29
|
+
handler: async (argv) => {
|
|
30
|
+
return await (0, watch_1.watchHandler)((0, utils_1.getConfigWithManifest)(argv.context.config, argv.manifest), {
|
|
31
|
+
port: argv.port,
|
|
32
|
+
});
|
|
27
33
|
},
|
|
28
|
-
handler: async (argv) => (0, watch_1.watchHandler)(argv.context.config, {
|
|
29
|
-
port: argv.port,
|
|
30
|
-
}),
|
|
31
34
|
};
|
|
32
35
|
__exportStar(require("./implementation.cjs"), exports);
|
|
33
36
|
exports.default = command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,uCAAuC;AACvC,kEAAsC;
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,uCAAuC;AACvC,kEAAsC;AAEtC,iDAAoD;AAEpD,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;IACvB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAe,EAAE,EAAE;QACjC,OAAO,MAAM,IAAA,oBAAY,EACvB,IAAA,6BAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EACzD;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,uDAAiC;AACjC,kBAAe,OAAO,CAAC","sourcesContent":["import type yargs from 'yargs';\n\nimport { watchHandler } from './watch';\nimport builders from '../../builders';\nimport type { YargsArgs } from '../../types/yargs';\nimport { getConfigWithManifest } from '../../utils';\n\nconst command = {\n command: ['watch', 'w'],\n desc: 'Build Snap on change',\n builder: (yarg: yargs.Argv) => {\n yarg.option('port', builders.port).option('manifest', builders.manifest);\n },\n handler: async (argv: YargsArgs) => {\n return await watchHandler(\n getConfigWithManifest(argv.context.config, argv.manifest),\n {\n port: argv.port,\n },\n );\n },\n};\n\nexport * from './implementation';\nexport default command;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,cAAc;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,gCAA0B;
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,cAAc;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,gCAA0B;AAGnD,QAAA,MAAM,OAAO;;;oBAGK,MAAM,IAAI;oBAGJ,SAAS;CAQhC,CAAC;AAEF,qCAAiC;AACjC,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,cAAc;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,gCAA0B;
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,cAAc;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,gCAA0B;AAGnD,QAAA,MAAM,OAAO;;;oBAGK,MAAM,IAAI;oBAGJ,SAAS;CAQhC,CAAC;AAEF,qCAAiC;AACjC,eAAe,OAAO,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { watchHandler } from "./watch.mjs";
|
|
2
2
|
import builders from "../../builders.mjs";
|
|
3
|
+
import { getConfigWithManifest } from "../../utils/index.mjs";
|
|
3
4
|
const command = {
|
|
4
5
|
command: ['watch', 'w'],
|
|
5
6
|
desc: 'Build Snap on change',
|
|
6
7
|
builder: (yarg) => {
|
|
7
|
-
yarg.option('port', builders.port);
|
|
8
|
+
yarg.option('port', builders.port).option('manifest', builders.manifest);
|
|
9
|
+
},
|
|
10
|
+
handler: async (argv) => {
|
|
11
|
+
return await watchHandler(getConfigWithManifest(argv.context.config, argv.manifest), {
|
|
12
|
+
port: argv.port,
|
|
13
|
+
});
|
|
8
14
|
},
|
|
9
|
-
handler: async (argv) => watchHandler(argv.context.config, {
|
|
10
|
-
port: argv.port,
|
|
11
|
-
}),
|
|
12
15
|
};
|
|
13
16
|
export * from "./implementation.mjs";
|
|
14
17
|
export default command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,oBAAgB;AACvC,OAAO,QAAQ,2BAAuB;
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,oBAAgB;AACvC,OAAO,QAAQ,2BAAuB;AAEtC,OAAO,EAAE,qBAAqB,EAAE,8BAAoB;AAEpD,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;IACvB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAe,EAAE,EAAE;QACjC,OAAO,MAAM,YAAY,CACvB,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EACzD;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,qCAAiC;AACjC,eAAe,OAAO,CAAC","sourcesContent":["import type yargs from 'yargs';\n\nimport { watchHandler } from './watch';\nimport builders from '../../builders';\nimport type { YargsArgs } from '../../types/yargs';\nimport { getConfigWithManifest } from '../../utils';\n\nconst command = {\n command: ['watch', 'w'],\n desc: 'Build Snap on change',\n builder: (yarg: yargs.Argv) => {\n yarg.option('port', builders.port).option('manifest', builders.manifest);\n },\n handler: async (argv: YargsArgs) => {\n return await watchHandler(\n getConfigWithManifest(argv.context.config, argv.manifest),\n {\n port: argv.port,\n },\n );\n },\n};\n\nexport * from './implementation';\nexport default command;\n"]}
|
package/dist/config.cjs
CHANGED
|
@@ -84,6 +84,11 @@ exports.SnapsConfigStruct = (0, superstruct_1.object)({
|
|
|
84
84
|
zlib: (0, superstruct_1.defaulted)((0, superstruct_1.boolean)(), false),
|
|
85
85
|
}),
|
|
86
86
|
]), false),
|
|
87
|
+
preinstalled: (0, superstruct_1.defaulted)((0, superstruct_1.object)({
|
|
88
|
+
hideSnapBranding: (0, superstruct_1.defaulted)((0, superstruct_1.boolean)(), false),
|
|
89
|
+
hidden: (0, superstruct_1.defaulted)((0, superstruct_1.boolean)(), false),
|
|
90
|
+
removable: (0, superstruct_1.defaulted)((0, superstruct_1.boolean)(), false),
|
|
91
|
+
}), {}),
|
|
87
92
|
typescript: (0, superstruct_1.defaulted)((0, superstruct_1.object)({
|
|
88
93
|
enabled: (0, superstruct_1.defaulted)((0, superstruct_1.boolean)(), false),
|
|
89
94
|
configFile: (0, superstruct_1.defaulted)((0, structs_1.file)(), 'tsconfig.json'),
|
package/dist/config.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.cjs","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { literal, union } from '@metamask/snaps-sdk';\nimport {\n createFromStruct,\n indent,\n isFile,\n SnapsStructError,\n} from '@metamask/snaps-utils/node';\nimport {\n array,\n boolean,\n defaulted,\n define,\n func,\n number,\n object,\n optional,\n record,\n string,\n unknown,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\nimport { hasProperty } from '@metamask/utils';\nimport { transform } from '@swc/core';\nimport { dim } from 'chalk';\nimport { readFile } from 'fs/promises';\nimport Module from 'module';\nimport { dirname, resolve } from 'path';\nimport type { Configuration as WebpackConfiguration } from 'webpack';\n\nimport { ConfigError } from './errors';\nimport { file } from './structs';\nimport type { YargsArgs } from './types/yargs';\nimport { CONFIG_FILE, TS_CONFIG_FILE } from './utils';\n\nconst CONFIG_FILES = [CONFIG_FILE, TS_CONFIG_FILE];\n\n/**\n * The configuration for the Snaps CLI, stored as `snap.config.js` or\n * `snap.config.ts` in the root of the project.\n */\nexport type SnapConfig = {\n /**\n * The path to the snap entry point. This should be a JavaScript or TypeScript\n * file.\n */\n input: string;\n\n /**\n * Whether to generate source maps for the snap. If `true`, source maps will\n * be generated as separate files. If `'inline'`, source maps will be\n * inlined in the generated JavaScript bundle.\n *\n * @default true\n */\n sourceMap?: boolean | 'inline';\n\n /**\n * Whether to attempt to evaluate the snap in SES. This can catch some errors\n * that would otherwise only be caught at runtime.\n *\n * @default true\n */\n evaluate?: boolean;\n\n output?: {\n /**\n * The path to the directory where the snap will be built. This directory\n * will be created if it doesn't exist.\n *\n * If the path is relative, it will be resolved relative to the current\n * working directory.\n *\n * @default 'dist'\n */\n path?: string;\n\n /**\n * The name of the JavaScript bundle file.\n *\n * @default 'bundle.js'\n */\n filename?: string;\n\n /**\n * Whether to clean the output directory before building the snap. If\n * `true`, the output directory will be deleted and recreated. Otherwise,\n * the output directory will be left as-is.\n *\n * @default false\n */\n clean?: boolean;\n\n /**\n * Whether to minimize the snap bundle. If `true`, the bundle will be\n * minified. Otherwise, the bundle will be left as-is.\n *\n * @default true\n */\n minimize?: boolean;\n };\n\n manifest?: {\n /**\n * The path to the snap manifest file. If the path is relative, it will be\n * resolved relative to the current working directory.\n *\n * @default 'snap.manifest.json'\n */\n path?: string;\n\n /**\n * Whether to automatically update the manifest. If `true`, the manifest\n * will be updated with the latest shasum of the snap bundle, and some\n * common fields will be updated if they are missing or incorrect. If\n * `false`, the manifest will be left as-is.\n *\n * @default true\n */\n update?: boolean;\n };\n\n server?: {\n /**\n * Whether to enable the local server. If `true`, the snap will be served\n * from a local server, when running the `watch` command. If `false`, the\n * snap will not be served.\n *\n * @default true\n */\n enabled?: boolean;\n\n /**\n * The root directory to serve the snap from. If the path is relative, it\n * will be resolved relative to the current working directory.\n *\n * @default `process.cwd()`\n */\n root?: string;\n\n /**\n * The port to run the server on.\n *\n * @default 8081\n */\n port?: number;\n };\n\n /**\n * The environment variables to set when building the snap. These will be\n * available in the snap as `process.env`. In addition to these environment\n * variables, the following environment variables will always be set:\n *\n * - `NODE_DEBUG`: `false`\n * - `NODE_ENV`: `'production'`\n * - `DEBUG`: `false`\n *\n * Any environment variables specified here will override these defaults. You\n * can also override any variables here by setting them in your shell when\n * running the CLI.\n */\n environment?: Record<string, unknown>;\n\n /**\n * Options that control the logging output of the CLI.\n */\n stats?: {\n /**\n * Whether to enable verbose logging.\n *\n * @default false\n */\n verbose?: boolean;\n\n /**\n * Whether to log warnings about unresolved built-in modules. If `false`,\n * warnings will not be logged.\n */\n builtIns?:\n | {\n /**\n * The built-in modules to ignore when resolving modules. If a module\n * is ignored, no warning will be logged if it is not resolved.\n */\n ignore?: string[];\n }\n | false;\n\n /**\n * Whether to log warnings about the use of the `Buffer` global. If `false`,\n * warnings will not be logged. If `true`, the CLI will warn if the `Buffer`\n * global is used, but not provided by Webpack's `DefinePlugin`.\n */\n buffer?: boolean;\n };\n\n /**\n * Whether to provide polyfills for node builtins. If `true`, all the available\n * polyfills will be provided. If `false` no polyfills will be provided. If a\n * configuration object is passed only the polyfills set to `true` will be provided.\n *\n * @default false\n * @example\n * ```ts\n * polyfills: true\n *\n * // or\n *\n * polyfills: {\n * assert: true,\n * buffer: true\n * }\n * ```\n */\n polyfills?:\n | boolean\n | {\n assert?: boolean;\n buffer?: boolean;\n console?: boolean;\n constants?: boolean;\n crypto?: boolean;\n domain?: boolean;\n events?: boolean;\n http?: boolean;\n https?: boolean;\n os?: boolean;\n path?: boolean;\n punycode?: boolean;\n process?: boolean;\n querystring?: boolean;\n stream?: boolean;\n /* eslint-disable @typescript-eslint/naming-convention */\n _stream_duplex?: boolean;\n _stream_passthrough?: boolean;\n _stream_readable?: boolean;\n _stream_transform?: boolean;\n _stream_writable?: boolean;\n string_decoder?: boolean;\n /* eslint-enable @typescript-eslint/naming-convention */\n sys?: boolean;\n timers?: boolean;\n tty?: boolean;\n url?: boolean;\n util?: boolean;\n vm?: boolean;\n zlib?: boolean;\n };\n\n /**\n * Support for TypeScript type-checking feature.\n *\n * @example\n * {\n * enabled: true;\n * configFile: './path/to/tsconfig.json'\n * }\n */\n typescript?: {\n /**\n * Whether to enable TypeScript type-checking feature.\n *\n * @default false\n */\n enabled?: boolean;\n /**\n * Path to tsconfig.json file for the Snap.\n *\n * @default 'tsconfig.json'\n */\n configFile?: string;\n };\n\n /**\n * Optional features to enable in the CLI.\n *\n * @example\n * {\n * features: {\n * images: true,\n * }\n * }\n */\n features?: {\n /**\n * Whether to enable support for images. If `true`, the Webpack\n * configuration will be modified to support images. If `false`, the\n * Webpack configuration will not be modified.\n *\n * @default true\n */\n images?: boolean;\n };\n\n /**\n * A function to customize the Webpack configuration used to build the snap.\n * This function will be called with the default Webpack configuration, and\n * should return the modified configuration. If not specified, the default\n * configuration will be used.\n *\n * It's recommended to use the `webpack-merge` package to merge the default\n * configuration with your customizations. The merge function is exported as\n * `merge` from the `@metamask/snaps-cli` package.\n *\n * @example\n * ```ts\n * import type { SnapsConfig } from '@metamask/snaps-cli';\n * import { merge } from '@metamask/snaps-cli';\n *\n * const config: SnapsConfig = {\n * bundler: 'webpack',\n * entry: 'src/index.ts',\n * customizeWebpackConfig: (config) => merge(config, {\n * module: {\n * rules: [\n * {\n * test: /\\.wasm$/,\n * type: 'assets/resource',\n * },\n * ],\n * },\n * }),\n * };\n *\n * export default config;\n * ```\n */\n customizeWebpackConfig?: (\n config: WebpackConfiguration,\n ) => WebpackConfiguration;\n\n /**\n * Experimental features that can be enabled. These features are not\n * guaranteed to be stable, and may be removed or changed in a future release.\n */\n experimental?: {\n /**\n * Whether to enable WebAssembly support. If `true`, the Webpack\n * configuration will be modified to support WebAssembly. If `false`, the\n * Webpack configuration will not be modified.\n *\n * @default false\n */\n wasm?: boolean;\n };\n};\n\ntype SnapsWebpackCustomizeWebpackConfigFunction = (\n config: WebpackConfiguration,\n) => WebpackConfiguration;\n\n// This struct is essentially the same as the `func` struct, but it's defined\n// separately so that we include the function type in the inferred TypeScript\n// type definitions.\nconst SnapsWebpackCustomizeWebpackConfigFunctionStruct =\n define<SnapsWebpackCustomizeWebpackConfigFunction>(\n 'function',\n func().validator,\n );\n\nexport const SnapsConfigStruct = object({\n input: defaulted(file(), resolve(process.cwd(), 'src/index.js')),\n sourceMap: defaulted(union([boolean(), literal('inline')]), false),\n evaluate: defaulted(boolean(), true),\n\n output: defaulted(\n object({\n path: defaulted(file(), resolve(process.cwd(), 'dist')),\n filename: defaulted(string(), 'bundle.js'),\n clean: defaulted(boolean(), false),\n minimize: defaulted(boolean(), true),\n }),\n {},\n ),\n\n manifest: defaulted(\n object({\n path: defaulted(file(), resolve(process.cwd(), 'snap.manifest.json')),\n update: defaulted(boolean(), true),\n }),\n {},\n ),\n\n server: defaulted(\n object({\n enabled: defaulted(boolean(), true),\n root: defaulted(file(), process.cwd()),\n port: defaulted(number(), 8081),\n }),\n {},\n ),\n\n environment: defaulted(record(string(), unknown()), {}),\n\n stats: defaulted(\n object({\n verbose: defaulted(boolean(), false),\n builtIns: defaulted(\n union([\n object({ ignore: defaulted(array(string()), []) }),\n literal(false),\n ]),\n {},\n ),\n buffer: defaulted(boolean(), true),\n }),\n {},\n ),\n\n polyfills: defaulted(\n union([\n boolean(),\n object({\n assert: defaulted(boolean(), false),\n buffer: defaulted(boolean(), false),\n console: defaulted(boolean(), false),\n constants: defaulted(boolean(), false),\n crypto: defaulted(boolean(), false),\n domain: defaulted(boolean(), false),\n events: defaulted(boolean(), false),\n http: defaulted(boolean(), false),\n https: defaulted(boolean(), false),\n os: defaulted(boolean(), false),\n path: defaulted(boolean(), false),\n punycode: defaulted(boolean(), false),\n process: defaulted(boolean(), false),\n querystring: defaulted(boolean(), false),\n stream: defaulted(boolean(), false),\n /* eslint-disable @typescript-eslint/naming-convention */\n _stream_duplex: defaulted(boolean(), false),\n _stream_passthrough: defaulted(boolean(), false),\n _stream_readable: defaulted(boolean(), false),\n _stream_transform: defaulted(boolean(), false),\n _stream_writable: defaulted(boolean(), false),\n string_decoder: defaulted(boolean(), false),\n /* eslint-enable @typescript-eslint/naming-convention */\n sys: defaulted(boolean(), false),\n timers: defaulted(boolean(), false),\n tty: defaulted(boolean(), false),\n url: defaulted(boolean(), false),\n util: defaulted(boolean(), false),\n vm: defaulted(boolean(), false),\n zlib: defaulted(boolean(), false),\n }),\n ]),\n false,\n ),\n\n typescript: defaulted(\n object({\n enabled: defaulted(boolean(), false),\n configFile: defaulted(file(), 'tsconfig.json'),\n }),\n {},\n ),\n\n features: defaulted(\n object({\n images: defaulted(boolean(), true),\n }),\n {},\n ),\n\n customizeWebpackConfig: optional(\n SnapsWebpackCustomizeWebpackConfigFunctionStruct,\n ),\n\n experimental: defaulted(\n object({\n wasm: defaulted(boolean(), false),\n }),\n {},\n ),\n});\n\nexport type ProcessedConfig = Infer<typeof SnapsConfigStruct>;\n\n/**\n * Get a validated snap config. This validates the config and adds default\n * values for any missing properties.\n *\n * @param config - The config to validate.\n * @returns The validated config.\n */\nexport function getConfig(config: unknown): ProcessedConfig {\n const prefix = 'The snap config file is invalid';\n const suffix = dim(\n 'Refer to the documentation for more information: https://docs.metamask.io/snaps/reference/cli/options/',\n );\n\n return createFromStruct(config, SnapsConfigStruct, prefix, suffix);\n}\n\n/**\n * Load a snap config from a file. This supports both JavaScript and TypeScript\n * config files, in the CommonJS module format and the ES module format.\n *\n * This assumes that the config file exports a default object, either through\n * `module.exports` or `export default`.\n *\n * @param path - The full path to the config file.\n * @returns The validated config.\n * @throws If the config file is invalid, or if the config file does not have a\n * default export.\n */\nexport async function loadConfig(path: string) {\n try {\n const contents = await readFile(path, 'utf8');\n const source = await transform(contents, {\n swcrc: false,\n jsc: {\n parser: {\n syntax: 'typescript',\n },\n },\n module: {\n type: 'commonjs',\n },\n });\n\n const config = new Module(path);\n\n // @ts-expect-error - This function is not typed.\n config.paths = Module._nodeModulePaths(dirname(path));\n\n // @ts-expect-error - This function is not typed.\n config._compile(source.code, path);\n\n if (!hasProperty(config.exports, 'default')) {\n return getConfig(config.exports);\n }\n\n return getConfig(config.exports.default);\n } catch (error) {\n if (error instanceof SnapsStructError) {\n throw new ConfigError(error.message);\n }\n\n throw new ConfigError(\n `Unable to load snap config file at \"${path}\".\\n\\n${indent(\n error.message,\n )}`,\n );\n }\n}\n\n/**\n * Resolve a snap config. This function will look for a `snap.config.js` or\n * `snap.config.ts` file in the current or specified directory.\n *\n * @param path - The path to resolve the snap config from. Defaults to the\n * current working directory.\n * @returns The resolved and validated snap config.\n * @throws If a snap config could not be found.\n */\nexport async function resolveConfig(path: string) {\n for (const configFile of CONFIG_FILES) {\n const filePath = resolve(path, configFile);\n if (await isFile(filePath)) {\n return await loadConfig(filePath);\n }\n }\n\n throw new ConfigError(\n `Could not find a \"snap.config.js\" or \"snap.config.ts\" file in the current or specified directory (\"${path}\").`,\n );\n}\n\n/**\n * Get a snap config from the CLI arguments. This will either load the config\n * from the specified config file, or resolve the config from the current\n * working directory.\n *\n * @param argv - The CLI arguments.\n * @param cwd - The current working directory. Defaults to `process.cwd()`.\n * @returns The resolved and validated snap config.\n */\nexport async function getConfigByArgv(\n argv: YargsArgs,\n cwd: string = process.cwd(),\n) {\n if (argv.config) {\n if (!(await isFile(argv.config))) {\n throw new ConfigError(\n `Could not find a config file at \"${argv.config}\". Make sure that the path is correct.`,\n );\n }\n\n return await loadConfig(argv.config);\n }\n\n return await resolveConfig(cwd);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"config.cjs","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAqD;AACrD,qDAKoC;AACpC,uDAY+B;AAE/B,2CAA8C;AAC9C,oCAAsC;AACtC,iCAA4B;AAC5B,0CAAuC;AACvC,oDAA4B;AAC5B,+BAAwC;AAGxC,yCAAuC;AACvC,2CAAiC;AAEjC,6CAAsD;AAEtD,MAAM,YAAY,GAAG,CAAC,mBAAW,EAAE,sBAAc,CAAC,CAAC;AAmVnD,6EAA6E;AAC7E,6EAA6E;AAC7E,oBAAoB;AACpB,MAAM,gDAAgD,GACpD,IAAA,oBAAM,EACJ,UAAU,EACV,IAAA,kBAAI,GAAE,CAAC,SAAS,CACjB,CAAC;AAES,QAAA,iBAAiB,GAAG,IAAA,oBAAM,EAAC;IACtC,KAAK,EAAE,IAAA,uBAAS,EAAC,IAAA,cAAI,GAAE,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAChE,SAAS,EAAE,IAAA,uBAAS,EAAC,IAAA,iBAAK,EAAC,CAAC,IAAA,qBAAO,GAAE,EAAE,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAClE,QAAQ,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;IAEpC,MAAM,EAAE,IAAA,uBAAS,EACf,IAAA,oBAAM,EAAC;QACL,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,cAAI,GAAE,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QACvD,QAAQ,EAAE,IAAA,uBAAS,EAAC,IAAA,oBAAM,GAAE,EAAE,WAAW,CAAC;QAC1C,KAAK,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;QAClC,QAAQ,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;KACrC,CAAC,EACF,EAAE,CACH;IAED,QAAQ,EAAE,IAAA,uBAAS,EACjB,IAAA,oBAAM,EAAC;QACL,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,cAAI,GAAE,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACrE,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;KACnC,CAAC,EACF,EAAE,CACH;IAED,MAAM,EAAE,IAAA,uBAAS,EACf,IAAA,oBAAM,EAAC;QACL,OAAO,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;QACnC,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,cAAI,GAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAI,CAAC;KAChC,CAAC,EACF,EAAE,CACH;IAED,WAAW,EAAE,IAAA,uBAAS,EAAC,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,qBAAO,GAAE,CAAC,EAAE,EAAE,CAAC;IAEvD,KAAK,EAAE,IAAA,uBAAS,EACd,IAAA,oBAAM,EAAC;QACL,OAAO,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;QACpC,QAAQ,EAAE,IAAA,uBAAS,EACjB,IAAA,iBAAK,EAAC;YACJ,IAAA,oBAAM,EAAC,EAAE,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAClD,IAAA,mBAAO,EAAC,KAAK,CAAC;SACf,CAAC,EACF,EAAE,CACH;QACD,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;KACnC,CAAC,EACF,EAAE,CACH;IAED,SAAS,EAAE,IAAA,uBAAS,EAClB,IAAA,iBAAK,EAAC;QACJ,IAAA,qBAAO,GAAE;QACT,IAAA,oBAAM,EAAC;YACL,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,OAAO,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACpC,SAAS,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACtC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACjC,KAAK,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAClC,EAAE,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC/B,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACjC,QAAQ,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACrC,OAAO,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACpC,WAAW,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACxC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,yDAAyD;YACzD,cAAc,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC3C,mBAAmB,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAChD,gBAAgB,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC7C,iBAAiB,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC9C,gBAAgB,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC7C,cAAc,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC3C,wDAAwD;YACxD,GAAG,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAChC,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACnC,GAAG,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAChC,GAAG,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAChC,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YACjC,EAAE,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;YAC/B,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;SAClC,CAAC;KACH,CAAC,EACF,KAAK,CACN;IAED,YAAY,EAAE,IAAA,uBAAS,EACrB,IAAA,oBAAM,EAAC;QACL,gBAAgB,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;QAC7C,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;QACnC,SAAS,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;KACvC,CAAC,EACF,EAAE,CACH;IAED,UAAU,EAAE,IAAA,uBAAS,EACnB,IAAA,oBAAM,EAAC;QACL,OAAO,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;QACpC,UAAU,EAAE,IAAA,uBAAS,EAAC,IAAA,cAAI,GAAE,EAAE,eAAe,CAAC;KAC/C,CAAC,EACF,EAAE,CACH;IAED,QAAQ,EAAE,IAAA,uBAAS,EACjB,IAAA,oBAAM,EAAC;QACL,MAAM,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,IAAI,CAAC;KACnC,CAAC,EACF,EAAE,CACH;IAED,sBAAsB,EAAE,IAAA,sBAAQ,EAC9B,gDAAgD,CACjD;IAED,YAAY,EAAE,IAAA,uBAAS,EACrB,IAAA,oBAAM,EAAC;QACL,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,qBAAO,GAAE,EAAE,KAAK,CAAC;KAClC,CAAC,EACF,EAAE,CACH;CACF,CAAC,CAAC;AAIH;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,MAAe;IACvC,MAAM,MAAM,GAAG,iCAAiC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,WAAG,EAChB,wGAAwG,CACzG,CAAC;IAEF,OAAO,IAAA,uBAAgB,EAAC,MAAM,EAAE,yBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAPD,8BAOC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE;gBACH,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;iBACrB;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,UAAU;aACjB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,iDAAiD;QACjD,MAAM,CAAC,KAAK,GAAG,gBAAM,CAAC,gBAAgB,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,iDAAiD;QACjD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAgB,EAAE,CAAC;YACtC,MAAM,IAAI,oBAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,oBAAW,CACnB,uCAAuC,IAAI,SAAS,IAAA,aAAM,EACxD,KAAK,CAAC,OAAO,CACd,EAAE,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAvCD,gCAuCC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAA,aAAM,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,oBAAW,CACnB,sGAAsG,IAAI,KAAK,CAChH,CAAC;AACJ,CAAC;AAXD,sCAWC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,eAAe,CACnC,IAAe,EACf,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,oBAAW,CACnB,oCAAoC,IAAI,CAAC,MAAM,wCAAwC,CACxF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAfD,0CAeC","sourcesContent":["import { literal, union } from '@metamask/snaps-sdk';\nimport {\n createFromStruct,\n indent,\n isFile,\n SnapsStructError,\n} from '@metamask/snaps-utils/node';\nimport {\n array,\n boolean,\n defaulted,\n define,\n func,\n number,\n object,\n optional,\n record,\n string,\n unknown,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\nimport { hasProperty } from '@metamask/utils';\nimport { transform } from '@swc/core';\nimport { dim } from 'chalk';\nimport { readFile } from 'fs/promises';\nimport Module from 'module';\nimport { dirname, resolve } from 'path';\nimport type { Configuration as WebpackConfiguration } from 'webpack';\n\nimport { ConfigError } from './errors';\nimport { file } from './structs';\nimport type { YargsArgs } from './types/yargs';\nimport { CONFIG_FILE, TS_CONFIG_FILE } from './utils';\n\nconst CONFIG_FILES = [CONFIG_FILE, TS_CONFIG_FILE];\n\n/**\n * The configuration for the Snaps CLI, stored as `snap.config.js` or\n * `snap.config.ts` in the root of the project.\n */\nexport type SnapConfig = {\n /**\n * The path to the snap entry point. This should be a JavaScript or TypeScript\n * file.\n */\n input: string;\n\n /**\n * Whether to generate source maps for the snap. If `true`, source maps will\n * be generated as separate files. If `'inline'`, source maps will be\n * inlined in the generated JavaScript bundle.\n *\n * @default true\n */\n sourceMap?: boolean | 'inline';\n\n /**\n * Whether to attempt to evaluate the snap in SES. This can catch some errors\n * that would otherwise only be caught at runtime.\n *\n * @default true\n */\n evaluate?: boolean;\n\n output?: {\n /**\n * The path to the directory where the snap will be built. This directory\n * will be created if it doesn't exist.\n *\n * If the path is relative, it will be resolved relative to the current\n * working directory.\n *\n * @default 'dist'\n */\n path?: string;\n\n /**\n * The name of the JavaScript bundle file.\n *\n * @default 'bundle.js'\n */\n filename?: string;\n\n /**\n * Whether to clean the output directory before building the snap. If\n * `true`, the output directory will be deleted and recreated. Otherwise,\n * the output directory will be left as-is.\n *\n * @default false\n */\n clean?: boolean;\n\n /**\n * Whether to minimize the snap bundle. If `true`, the bundle will be\n * minified. Otherwise, the bundle will be left as-is.\n *\n * @default true\n */\n minimize?: boolean;\n };\n\n manifest?: {\n /**\n * The path to the snap manifest file. If the path is relative, it will be\n * resolved relative to the current working directory.\n *\n * @default 'snap.manifest.json'\n */\n path?: string;\n\n /**\n * Whether to automatically update the manifest. If `true`, the manifest\n * will be updated with the latest shasum of the snap bundle, and some\n * common fields will be updated if they are missing or incorrect. If\n * `false`, the manifest will be left as-is.\n *\n * @default true\n */\n update?: boolean;\n };\n\n server?: {\n /**\n * Whether to enable the local server. If `true`, the snap will be served\n * from a local server, when running the `watch` command. If `false`, the\n * snap will not be served.\n *\n * @default true\n */\n enabled?: boolean;\n\n /**\n * The root directory to serve the snap from. If the path is relative, it\n * will be resolved relative to the current working directory.\n *\n * @default `process.cwd()`\n */\n root?: string;\n\n /**\n * The port to run the server on.\n *\n * @default 8081\n */\n port?: number;\n };\n\n /**\n * The environment variables to set when building the snap. These will be\n * available in the snap as `process.env`. In addition to these environment\n * variables, the following environment variables will always be set:\n *\n * - `NODE_DEBUG`: `false`\n * - `NODE_ENV`: `'production'`\n * - `DEBUG`: `false`\n *\n * Any environment variables specified here will override these defaults. You\n * can also override any variables here by setting them in your shell when\n * running the CLI.\n */\n environment?: Record<string, unknown>;\n\n /**\n * Options that control the logging output of the CLI.\n */\n stats?: {\n /**\n * Whether to enable verbose logging.\n *\n * @default false\n */\n verbose?: boolean;\n\n /**\n * Whether to log warnings about unresolved built-in modules. If `false`,\n * warnings will not be logged.\n */\n builtIns?:\n | {\n /**\n * The built-in modules to ignore when resolving modules. If a module\n * is ignored, no warning will be logged if it is not resolved.\n */\n ignore?: string[];\n }\n | false;\n\n /**\n * Whether to log warnings about the use of the `Buffer` global. If `false`,\n * warnings will not be logged. If `true`, the CLI will warn if the `Buffer`\n * global is used, but not provided by Webpack's `DefinePlugin`.\n */\n buffer?: boolean;\n };\n\n /**\n * Whether to provide polyfills for node builtins. If `true`, all the available\n * polyfills will be provided. If `false` no polyfills will be provided. If a\n * configuration object is passed only the polyfills set to `true` will be provided.\n *\n * @default false\n * @example\n * ```ts\n * polyfills: true\n *\n * // or\n *\n * polyfills: {\n * assert: true,\n * buffer: true\n * }\n * ```\n */\n polyfills?:\n | boolean\n | {\n assert?: boolean;\n buffer?: boolean;\n console?: boolean;\n constants?: boolean;\n crypto?: boolean;\n domain?: boolean;\n events?: boolean;\n http?: boolean;\n https?: boolean;\n os?: boolean;\n path?: boolean;\n punycode?: boolean;\n process?: boolean;\n querystring?: boolean;\n stream?: boolean;\n /* eslint-disable @typescript-eslint/naming-convention */\n _stream_duplex?: boolean;\n _stream_passthrough?: boolean;\n _stream_readable?: boolean;\n _stream_transform?: boolean;\n _stream_writable?: boolean;\n string_decoder?: boolean;\n /* eslint-enable @typescript-eslint/naming-convention */\n sys?: boolean;\n timers?: boolean;\n tty?: boolean;\n url?: boolean;\n util?: boolean;\n vm?: boolean;\n zlib?: boolean;\n };\n\n /**\n * Options for preinstalled Snaps. These options are added to the preinstalled\n * Snap bundle.\n *\n * These options do not affect regular Snaps that are installed by users.\n */\n preinstalled?: {\n /**\n * Whether to hide branding specific to Snaps in the client UI.\n */\n hideSnapBranding?: boolean;\n\n /**\n * Whether the Snap should be hidden from the user in the client UI.\n */\n hidden?: boolean;\n\n /**\n * Whether the Snap can be removed from the client.\n */\n removable?: boolean;\n };\n\n /**\n * Support for TypeScript type-checking feature.\n *\n * @example\n * {\n * enabled: true;\n * configFile: './path/to/tsconfig.json'\n * }\n */\n typescript?: {\n /**\n * Whether to enable TypeScript type-checking feature.\n *\n * @default false\n */\n enabled?: boolean;\n /**\n * Path to tsconfig.json file for the Snap.\n *\n * @default 'tsconfig.json'\n */\n configFile?: string;\n };\n\n /**\n * Optional features to enable in the CLI.\n *\n * @example\n * {\n * features: {\n * images: true,\n * }\n * }\n */\n features?: {\n /**\n * Whether to enable support for images. If `true`, the Webpack\n * configuration will be modified to support images. If `false`, the\n * Webpack configuration will not be modified.\n *\n * @default true\n */\n images?: boolean;\n };\n\n /**\n * A function to customize the Webpack configuration used to build the snap.\n * This function will be called with the default Webpack configuration, and\n * should return the modified configuration. If not specified, the default\n * configuration will be used.\n *\n * It's recommended to use the `webpack-merge` package to merge the default\n * configuration with your customizations. The merge function is exported as\n * `merge` from the `@metamask/snaps-cli` package.\n *\n * @example\n * ```ts\n * import type { SnapsConfig } from '@metamask/snaps-cli';\n * import { merge } from '@metamask/snaps-cli';\n *\n * const config: SnapsConfig = {\n * bundler: 'webpack',\n * entry: 'src/index.ts',\n * customizeWebpackConfig: (config) => merge(config, {\n * module: {\n * rules: [\n * {\n * test: /\\.wasm$/,\n * type: 'assets/resource',\n * },\n * ],\n * },\n * }),\n * };\n *\n * export default config;\n * ```\n */\n customizeWebpackConfig?: (\n config: WebpackConfiguration,\n ) => WebpackConfiguration;\n\n /**\n * Experimental features that can be enabled. These features are not\n * guaranteed to be stable, and may be removed or changed in a future release.\n */\n experimental?: {\n /**\n * Whether to enable WebAssembly support. If `true`, the Webpack\n * configuration will be modified to support WebAssembly. If `false`, the\n * Webpack configuration will not be modified.\n *\n * @default false\n */\n wasm?: boolean;\n };\n};\n\ntype SnapsWebpackCustomizeWebpackConfigFunction = (\n config: WebpackConfiguration,\n) => WebpackConfiguration;\n\n// This struct is essentially the same as the `func` struct, but it's defined\n// separately so that we include the function type in the inferred TypeScript\n// type definitions.\nconst SnapsWebpackCustomizeWebpackConfigFunctionStruct =\n define<SnapsWebpackCustomizeWebpackConfigFunction>(\n 'function',\n func().validator,\n );\n\nexport const SnapsConfigStruct = object({\n input: defaulted(file(), resolve(process.cwd(), 'src/index.js')),\n sourceMap: defaulted(union([boolean(), literal('inline')]), false),\n evaluate: defaulted(boolean(), true),\n\n output: defaulted(\n object({\n path: defaulted(file(), resolve(process.cwd(), 'dist')),\n filename: defaulted(string(), 'bundle.js'),\n clean: defaulted(boolean(), false),\n minimize: defaulted(boolean(), true),\n }),\n {},\n ),\n\n manifest: defaulted(\n object({\n path: defaulted(file(), resolve(process.cwd(), 'snap.manifest.json')),\n update: defaulted(boolean(), true),\n }),\n {},\n ),\n\n server: defaulted(\n object({\n enabled: defaulted(boolean(), true),\n root: defaulted(file(), process.cwd()),\n port: defaulted(number(), 8081),\n }),\n {},\n ),\n\n environment: defaulted(record(string(), unknown()), {}),\n\n stats: defaulted(\n object({\n verbose: defaulted(boolean(), false),\n builtIns: defaulted(\n union([\n object({ ignore: defaulted(array(string()), []) }),\n literal(false),\n ]),\n {},\n ),\n buffer: defaulted(boolean(), true),\n }),\n {},\n ),\n\n polyfills: defaulted(\n union([\n boolean(),\n object({\n assert: defaulted(boolean(), false),\n buffer: defaulted(boolean(), false),\n console: defaulted(boolean(), false),\n constants: defaulted(boolean(), false),\n crypto: defaulted(boolean(), false),\n domain: defaulted(boolean(), false),\n events: defaulted(boolean(), false),\n http: defaulted(boolean(), false),\n https: defaulted(boolean(), false),\n os: defaulted(boolean(), false),\n path: defaulted(boolean(), false),\n punycode: defaulted(boolean(), false),\n process: defaulted(boolean(), false),\n querystring: defaulted(boolean(), false),\n stream: defaulted(boolean(), false),\n /* eslint-disable @typescript-eslint/naming-convention */\n _stream_duplex: defaulted(boolean(), false),\n _stream_passthrough: defaulted(boolean(), false),\n _stream_readable: defaulted(boolean(), false),\n _stream_transform: defaulted(boolean(), false),\n _stream_writable: defaulted(boolean(), false),\n string_decoder: defaulted(boolean(), false),\n /* eslint-enable @typescript-eslint/naming-convention */\n sys: defaulted(boolean(), false),\n timers: defaulted(boolean(), false),\n tty: defaulted(boolean(), false),\n url: defaulted(boolean(), false),\n util: defaulted(boolean(), false),\n vm: defaulted(boolean(), false),\n zlib: defaulted(boolean(), false),\n }),\n ]),\n false,\n ),\n\n preinstalled: defaulted(\n object({\n hideSnapBranding: defaulted(boolean(), false),\n hidden: defaulted(boolean(), false),\n removable: defaulted(boolean(), false),\n }),\n {},\n ),\n\n typescript: defaulted(\n object({\n enabled: defaulted(boolean(), false),\n configFile: defaulted(file(), 'tsconfig.json'),\n }),\n {},\n ),\n\n features: defaulted(\n object({\n images: defaulted(boolean(), true),\n }),\n {},\n ),\n\n customizeWebpackConfig: optional(\n SnapsWebpackCustomizeWebpackConfigFunctionStruct,\n ),\n\n experimental: defaulted(\n object({\n wasm: defaulted(boolean(), false),\n }),\n {},\n ),\n});\n\nexport type ProcessedConfig = Infer<typeof SnapsConfigStruct>;\n\n/**\n * Get a validated snap config. This validates the config and adds default\n * values for any missing properties.\n *\n * @param config - The config to validate.\n * @returns The validated config.\n */\nexport function getConfig(config: unknown): ProcessedConfig {\n const prefix = 'The snap config file is invalid';\n const suffix = dim(\n 'Refer to the documentation for more information: https://docs.metamask.io/snaps/reference/cli/options/',\n );\n\n return createFromStruct(config, SnapsConfigStruct, prefix, suffix);\n}\n\n/**\n * Load a snap config from a file. This supports both JavaScript and TypeScript\n * config files, in the CommonJS module format and the ES module format.\n *\n * This assumes that the config file exports a default object, either through\n * `module.exports` or `export default`.\n *\n * @param path - The full path to the config file.\n * @returns The validated config.\n * @throws If the config file is invalid, or if the config file does not have a\n * default export.\n */\nexport async function loadConfig(path: string) {\n try {\n const contents = await readFile(path, 'utf8');\n const source = await transform(contents, {\n swcrc: false,\n jsc: {\n parser: {\n syntax: 'typescript',\n },\n },\n module: {\n type: 'commonjs',\n },\n });\n\n const config = new Module(path);\n\n // @ts-expect-error - This function is not typed.\n config.paths = Module._nodeModulePaths(dirname(path));\n\n // @ts-expect-error - This function is not typed.\n config._compile(source.code, path);\n\n if (!hasProperty(config.exports, 'default')) {\n return getConfig(config.exports);\n }\n\n return getConfig(config.exports.default);\n } catch (error) {\n if (error instanceof SnapsStructError) {\n throw new ConfigError(error.message);\n }\n\n throw new ConfigError(\n `Unable to load snap config file at \"${path}\".\\n\\n${indent(\n error.message,\n )}`,\n );\n }\n}\n\n/**\n * Resolve a snap config. This function will look for a `snap.config.js` or\n * `snap.config.ts` file in the current or specified directory.\n *\n * @param path - The path to resolve the snap config from. Defaults to the\n * current working directory.\n * @returns The resolved and validated snap config.\n * @throws If a snap config could not be found.\n */\nexport async function resolveConfig(path: string) {\n for (const configFile of CONFIG_FILES) {\n const filePath = resolve(path, configFile);\n if (await isFile(filePath)) {\n return await loadConfig(filePath);\n }\n }\n\n throw new ConfigError(\n `Could not find a \"snap.config.js\" or \"snap.config.ts\" file in the current or specified directory (\"${path}\").`,\n );\n}\n\n/**\n * Get a snap config from the CLI arguments. This will either load the config\n * from the specified config file, or resolve the config from the current\n * working directory.\n *\n * @param argv - The CLI arguments.\n * @param cwd - The current working directory. Defaults to `process.cwd()`.\n * @returns The resolved and validated snap config.\n */\nexport async function getConfigByArgv(\n argv: YargsArgs,\n cwd: string = process.cwd(),\n) {\n if (argv.config) {\n if (!(await isFile(argv.config))) {\n throw new ConfigError(\n `Could not find a config file at \"${argv.config}\". Make sure that the path is correct.`,\n );\n }\n\n return await loadConfig(argv.config);\n }\n\n return await resolveConfig(cwd);\n}\n"]}
|
package/dist/config.d.cts
CHANGED
|
@@ -190,6 +190,26 @@ export type SnapConfig = {
|
|
|
190
190
|
vm?: boolean;
|
|
191
191
|
zlib?: boolean;
|
|
192
192
|
};
|
|
193
|
+
/**
|
|
194
|
+
* Options for preinstalled Snaps. These options are added to the preinstalled
|
|
195
|
+
* Snap bundle.
|
|
196
|
+
*
|
|
197
|
+
* These options do not affect regular Snaps that are installed by users.
|
|
198
|
+
*/
|
|
199
|
+
preinstalled?: {
|
|
200
|
+
/**
|
|
201
|
+
* Whether to hide branding specific to Snaps in the client UI.
|
|
202
|
+
*/
|
|
203
|
+
hideSnapBranding?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Whether the Snap should be hidden from the user in the client UI.
|
|
206
|
+
*/
|
|
207
|
+
hidden?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Whether the Snap can be removed from the client.
|
|
210
|
+
*/
|
|
211
|
+
removable?: boolean;
|
|
212
|
+
};
|
|
193
213
|
/**
|
|
194
214
|
* Support for TypeScript type-checking feature.
|
|
195
215
|
*
|
|
@@ -285,6 +305,15 @@ export type SnapConfig = {
|
|
|
285
305
|
type SnapsWebpackCustomizeWebpackConfigFunction = (config: WebpackConfiguration) => WebpackConfiguration;
|
|
286
306
|
export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
287
307
|
input: string;
|
|
308
|
+
manifest: {
|
|
309
|
+
path: string;
|
|
310
|
+
update: boolean;
|
|
311
|
+
};
|
|
312
|
+
preinstalled: {
|
|
313
|
+
hidden: boolean;
|
|
314
|
+
hideSnapBranding: boolean;
|
|
315
|
+
removable: boolean;
|
|
316
|
+
};
|
|
288
317
|
sourceMap: boolean | "inline";
|
|
289
318
|
evaluate: boolean;
|
|
290
319
|
output: {
|
|
@@ -293,10 +322,6 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
293
322
|
clean: boolean;
|
|
294
323
|
minimize: boolean;
|
|
295
324
|
};
|
|
296
|
-
manifest: {
|
|
297
|
-
path: string;
|
|
298
|
-
update: boolean;
|
|
299
|
-
};
|
|
300
325
|
server: {
|
|
301
326
|
port: number;
|
|
302
327
|
root: string;
|
|
@@ -311,7 +336,6 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
311
336
|
buffer: boolean;
|
|
312
337
|
};
|
|
313
338
|
polyfills: boolean | {
|
|
314
|
-
stream: boolean;
|
|
315
339
|
path: boolean;
|
|
316
340
|
buffer: boolean;
|
|
317
341
|
assert: boolean;
|
|
@@ -326,6 +350,7 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
326
350
|
punycode: boolean;
|
|
327
351
|
process: boolean;
|
|
328
352
|
querystring: boolean;
|
|
353
|
+
stream: boolean;
|
|
329
354
|
_stream_duplex: boolean;
|
|
330
355
|
_stream_passthrough: boolean;
|
|
331
356
|
_stream_readable: boolean;
|
|
@@ -401,7 +426,6 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
401
426
|
buffer: import("@metamask/superstruct").Struct<boolean, null>;
|
|
402
427
|
}>;
|
|
403
428
|
polyfills: import("@metamask/superstruct").Struct<boolean | {
|
|
404
|
-
stream: boolean;
|
|
405
429
|
path: boolean;
|
|
406
430
|
buffer: boolean;
|
|
407
431
|
assert: boolean;
|
|
@@ -416,6 +440,7 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
416
440
|
punycode: boolean;
|
|
417
441
|
process: boolean;
|
|
418
442
|
querystring: boolean;
|
|
443
|
+
stream: boolean;
|
|
419
444
|
_stream_duplex: boolean;
|
|
420
445
|
_stream_passthrough: boolean;
|
|
421
446
|
_stream_readable: boolean;
|
|
@@ -430,7 +455,6 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
430
455
|
vm: boolean;
|
|
431
456
|
zlib: boolean;
|
|
432
457
|
}, [head: import("@metamask/superstruct").Struct<boolean, null>, import("@metamask/superstruct").Struct<{
|
|
433
|
-
stream: boolean;
|
|
434
458
|
path: boolean;
|
|
435
459
|
buffer: boolean;
|
|
436
460
|
assert: boolean;
|
|
@@ -445,6 +469,7 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
445
469
|
punycode: boolean;
|
|
446
470
|
process: boolean;
|
|
447
471
|
querystring: boolean;
|
|
472
|
+
stream: boolean;
|
|
448
473
|
_stream_duplex: boolean;
|
|
449
474
|
_stream_passthrough: boolean;
|
|
450
475
|
_stream_readable: boolean;
|
|
@@ -488,6 +513,15 @@ export declare const SnapsConfigStruct: import("@metamask/superstruct").Struct<{
|
|
|
488
513
|
vm: import("@metamask/superstruct").Struct<boolean, null>;
|
|
489
514
|
zlib: import("@metamask/superstruct").Struct<boolean, null>;
|
|
490
515
|
}>]>;
|
|
516
|
+
preinstalled: import("@metamask/superstruct").Struct<{
|
|
517
|
+
hidden: boolean;
|
|
518
|
+
hideSnapBranding: boolean;
|
|
519
|
+
removable: boolean;
|
|
520
|
+
}, {
|
|
521
|
+
hideSnapBranding: import("@metamask/superstruct").Struct<boolean, null>;
|
|
522
|
+
hidden: import("@metamask/superstruct").Struct<boolean, null>;
|
|
523
|
+
removable: import("@metamask/superstruct").Struct<boolean, null>;
|
|
524
|
+
}>;
|
|
491
525
|
typescript: import("@metamask/superstruct").Struct<{
|
|
492
526
|
enabled: boolean;
|
|
493
527
|
configFile: string;
|
|
@@ -530,6 +564,15 @@ export declare function getConfig(config: unknown): ProcessedConfig;
|
|
|
530
564
|
*/
|
|
531
565
|
export declare function loadConfig(path: string): Promise<{
|
|
532
566
|
input: string;
|
|
567
|
+
manifest: {
|
|
568
|
+
path: string;
|
|
569
|
+
update: boolean;
|
|
570
|
+
};
|
|
571
|
+
preinstalled: {
|
|
572
|
+
hidden: boolean;
|
|
573
|
+
hideSnapBranding: boolean;
|
|
574
|
+
removable: boolean;
|
|
575
|
+
};
|
|
533
576
|
sourceMap: boolean | "inline";
|
|
534
577
|
evaluate: boolean;
|
|
535
578
|
output: {
|
|
@@ -538,10 +581,6 @@ export declare function loadConfig(path: string): Promise<{
|
|
|
538
581
|
clean: boolean;
|
|
539
582
|
minimize: boolean;
|
|
540
583
|
};
|
|
541
|
-
manifest: {
|
|
542
|
-
path: string;
|
|
543
|
-
update: boolean;
|
|
544
|
-
};
|
|
545
584
|
server: {
|
|
546
585
|
port: number;
|
|
547
586
|
root: string;
|
|
@@ -556,7 +595,6 @@ export declare function loadConfig(path: string): Promise<{
|
|
|
556
595
|
buffer: boolean;
|
|
557
596
|
};
|
|
558
597
|
polyfills: boolean | {
|
|
559
|
-
stream: boolean;
|
|
560
598
|
path: boolean;
|
|
561
599
|
buffer: boolean;
|
|
562
600
|
assert: boolean;
|
|
@@ -571,6 +609,7 @@ export declare function loadConfig(path: string): Promise<{
|
|
|
571
609
|
punycode: boolean;
|
|
572
610
|
process: boolean;
|
|
573
611
|
querystring: boolean;
|
|
612
|
+
stream: boolean;
|
|
574
613
|
_stream_duplex: boolean;
|
|
575
614
|
_stream_passthrough: boolean;
|
|
576
615
|
_stream_readable: boolean;
|
|
@@ -608,6 +647,15 @@ export declare function loadConfig(path: string): Promise<{
|
|
|
608
647
|
*/
|
|
609
648
|
export declare function resolveConfig(path: string): Promise<{
|
|
610
649
|
input: string;
|
|
650
|
+
manifest: {
|
|
651
|
+
path: string;
|
|
652
|
+
update: boolean;
|
|
653
|
+
};
|
|
654
|
+
preinstalled: {
|
|
655
|
+
hidden: boolean;
|
|
656
|
+
hideSnapBranding: boolean;
|
|
657
|
+
removable: boolean;
|
|
658
|
+
};
|
|
611
659
|
sourceMap: boolean | "inline";
|
|
612
660
|
evaluate: boolean;
|
|
613
661
|
output: {
|
|
@@ -616,10 +664,6 @@ export declare function resolveConfig(path: string): Promise<{
|
|
|
616
664
|
clean: boolean;
|
|
617
665
|
minimize: boolean;
|
|
618
666
|
};
|
|
619
|
-
manifest: {
|
|
620
|
-
path: string;
|
|
621
|
-
update: boolean;
|
|
622
|
-
};
|
|
623
667
|
server: {
|
|
624
668
|
port: number;
|
|
625
669
|
root: string;
|
|
@@ -634,7 +678,6 @@ export declare function resolveConfig(path: string): Promise<{
|
|
|
634
678
|
buffer: boolean;
|
|
635
679
|
};
|
|
636
680
|
polyfills: boolean | {
|
|
637
|
-
stream: boolean;
|
|
638
681
|
path: boolean;
|
|
639
682
|
buffer: boolean;
|
|
640
683
|
assert: boolean;
|
|
@@ -649,6 +692,7 @@ export declare function resolveConfig(path: string): Promise<{
|
|
|
649
692
|
punycode: boolean;
|
|
650
693
|
process: boolean;
|
|
651
694
|
querystring: boolean;
|
|
695
|
+
stream: boolean;
|
|
652
696
|
_stream_duplex: boolean;
|
|
653
697
|
_stream_passthrough: boolean;
|
|
654
698
|
_stream_readable: boolean;
|
|
@@ -686,6 +730,15 @@ export declare function resolveConfig(path: string): Promise<{
|
|
|
686
730
|
*/
|
|
687
731
|
export declare function getConfigByArgv(argv: YargsArgs, cwd?: string): Promise<{
|
|
688
732
|
input: string;
|
|
733
|
+
manifest: {
|
|
734
|
+
path: string;
|
|
735
|
+
update: boolean;
|
|
736
|
+
};
|
|
737
|
+
preinstalled: {
|
|
738
|
+
hidden: boolean;
|
|
739
|
+
hideSnapBranding: boolean;
|
|
740
|
+
removable: boolean;
|
|
741
|
+
};
|
|
689
742
|
sourceMap: boolean | "inline";
|
|
690
743
|
evaluate: boolean;
|
|
691
744
|
output: {
|
|
@@ -694,10 +747,6 @@ export declare function getConfigByArgv(argv: YargsArgs, cwd?: string): Promise<
|
|
|
694
747
|
clean: boolean;
|
|
695
748
|
minimize: boolean;
|
|
696
749
|
};
|
|
697
|
-
manifest: {
|
|
698
|
-
path: string;
|
|
699
|
-
update: boolean;
|
|
700
|
-
};
|
|
701
750
|
server: {
|
|
702
751
|
port: number;
|
|
703
752
|
root: string;
|
|
@@ -712,7 +761,6 @@ export declare function getConfigByArgv(argv: YargsArgs, cwd?: string): Promise<
|
|
|
712
761
|
buffer: boolean;
|
|
713
762
|
};
|
|
714
763
|
polyfills: boolean | {
|
|
715
|
-
stream: boolean;
|
|
716
764
|
path: boolean;
|
|
717
765
|
buffer: boolean;
|
|
718
766
|
assert: boolean;
|
|
@@ -727,6 +775,7 @@ export declare function getConfigByArgv(argv: YargsArgs, cwd?: string): Promise<
|
|
|
727
775
|
punycode: boolean;
|
|
728
776
|
process: boolean;
|
|
729
777
|
querystring: boolean;
|
|
778
|
+
stream: boolean;
|
|
730
779
|
_stream_duplex: boolean;
|
|
731
780
|
_stream_passthrough: boolean;
|
|
732
781
|
_stream_readable: boolean;
|
package/dist/config.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.cts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.cts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|