presetter 4.7.2 → 6.0.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/README.md +5 -5
- package/lib/debugger.d.ts +4 -0
- package/lib/debugger.d.ts.map +1 -0
- package/lib/debugger.js +4 -0
- package/lib/executable/entry.d.ts.map +1 -1
- package/lib/executable/entry.js +4 -43
- package/lib/executable/error.d.ts.map +1 -1
- package/lib/executable/error.js +1 -16
- package/lib/executable/index.js +2 -16
- package/lib/index.d.ts +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -21
- package/lib/io.d.ts +8 -42
- package/lib/io.d.ts.map +1 -1
- package/lib/io.js +24 -156
- package/lib/package.d.ts +2 -2
- package/lib/package.d.ts.map +1 -1
- package/lib/package.js +5 -20
- package/lib/preset/bootstrap.d.ts +5 -0
- package/lib/preset/bootstrap.d.ts.map +1 -0
- package/lib/preset/bootstrap.js +32 -0
- package/lib/preset/config/index.d.ts +3 -0
- package/lib/preset/config/index.d.ts.map +1 -0
- package/lib/preset/config/index.js +4 -0
- package/lib/preset/config/resolve.d.ts +8 -0
- package/lib/preset/config/resolve.d.ts.map +1 -0
- package/lib/preset/config/resolve.js +25 -0
- package/lib/preset/config/search.d.ts +7 -0
- package/lib/preset/config/search.d.ts.map +1 -0
- package/lib/preset/config/search.js +25 -0
- package/lib/preset/context.d.ts +2 -1
- package/lib/preset/context.d.ts.map +1 -1
- package/lib/preset/context.js +5 -24
- package/lib/preset/index.d.ts +5 -2
- package/lib/preset/index.d.ts.map +1 -1
- package/lib/preset/index.js +7 -18
- package/lib/preset/project.d.ts +8 -0
- package/lib/preset/project.d.ts.map +1 -0
- package/lib/preset/project.js +28 -0
- package/lib/preset/resolution/asset.d.ts +31 -0
- package/lib/preset/resolution/asset.d.ts.map +1 -0
- package/lib/preset/resolution/asset.js +78 -0
- package/lib/preset/resolution/content.d.ts +37 -0
- package/lib/preset/resolution/content.d.ts.map +1 -0
- package/lib/preset/resolution/content.js +55 -0
- package/lib/preset/resolution/debugger.d.ts +3 -0
- package/lib/preset/resolution/debugger.d.ts.map +1 -0
- package/lib/preset/resolution/debugger.js +3 -0
- package/lib/preset/resolution/index.d.ts +6 -0
- package/lib/preset/resolution/index.d.ts.map +1 -0
- package/lib/preset/resolution/index.js +7 -0
- package/lib/preset/resolution/object.d.ts +9 -0
- package/lib/preset/resolution/object.d.ts.map +1 -0
- package/lib/preset/resolution/object.js +10 -0
- package/lib/preset/resolution/preset.d.ts +9 -0
- package/lib/preset/resolution/preset.d.ts.map +1 -0
- package/lib/preset/resolution/preset.js +17 -0
- package/lib/preset/resolution/script.d.ts +9 -0
- package/lib/preset/resolution/script.d.ts.map +1 -0
- package/lib/preset/resolution/script.js +39 -0
- package/lib/preset/resolution/variable.d.ts +9 -0
- package/lib/preset/resolution/variable.d.ts.map +1 -0
- package/lib/preset/resolution/variable.js +33 -0
- package/lib/preset/scripts.d.ts.map +1 -1
- package/lib/preset/scripts.js +6 -20
- package/lib/resolve.d.ts +7 -0
- package/lib/resolve.d.ts.map +1 -0
- package/lib/resolve.js +27 -0
- package/lib/run.d.ts.map +1 -1
- package/lib/run.js +7 -19
- package/lib/scripts.d.ts.map +1 -1
- package/lib/scripts.js +8 -19
- package/lib/serialization.d.ts +15 -0
- package/lib/serialization.d.ts.map +1 -0
- package/lib/serialization.js +48 -0
- package/lib/task.d.ts.map +1 -1
- package/lib/task.js +5 -17
- package/lib/template/index.d.ts +3 -0
- package/lib/template/index.d.ts.map +1 -0
- package/lib/template/index.js +4 -0
- package/lib/template/merge.d.ts +33 -0
- package/lib/template/merge.d.ts.map +1 -0
- package/lib/template/merge.js +84 -0
- package/lib/template/substitute.d.ts +11 -0
- package/lib/template/substitute.d.ts.map +1 -0
- package/lib/template/substitute.js +19 -0
- package/lib/utilities/display.d.ts +15 -0
- package/lib/utilities/display.d.ts.map +1 -0
- package/lib/utilities/display.js +51 -0
- package/lib/utilities/index.d.ts +3 -1
- package/lib/utilities/index.d.ts.map +1 -1
- package/lib/utilities/index.js +5 -17
- package/lib/utilities/{mapValues.d.ts → mapping.d.ts} +1 -1
- package/lib/utilities/mapping.d.ts.map +1 -0
- package/lib/utilities/mapping.js +10 -0
- package/lib/utilities/object.d.ts +20 -0
- package/lib/utilities/object.d.ts.map +1 -0
- package/lib/utilities/object.js +37 -0
- package/package.json +21 -16
- package/lib/content.d.ts +0 -123
- package/lib/content.d.ts.map +0 -1
- package/lib/content.js +0 -241
- package/lib/directive.d.ts +0 -34
- package/lib/directive.d.ts.map +0 -1
- package/lib/directive.js +0 -172
- package/lib/error.d.ts +0 -8
- package/lib/error.d.ts.map +0 -1
- package/lib/error.js +0 -32
- package/lib/preset/content.d.ts +0 -14
- package/lib/preset/content.d.ts.map +0 -1
- package/lib/preset/content.js +0 -32
- package/lib/preset/graph.d.ts +0 -22
- package/lib/preset/graph.d.ts.map +0 -1
- package/lib/preset/graph.js +0 -53
- package/lib/preset/mapping.d.ts +0 -9
- package/lib/preset/mapping.d.ts.map +0 -1
- package/lib/preset/mapping.js +0 -38
- package/lib/preset/presetterRC.d.ts +0 -25
- package/lib/preset/presetterRC.d.ts.map +0 -1
- package/lib/preset/presetterRC.js +0 -74
- package/lib/preset/setup.d.ts +0 -17
- package/lib/preset/setup.d.ts.map +0 -1
- package/lib/preset/setup.js +0 -80
- package/lib/preset/unset.d.ts +0 -5
- package/lib/preset/unset.d.ts.map +0 -1
- package/lib/preset/unset.js +0 -31
- package/lib/resolution.d.ts +0 -22
- package/lib/resolution.d.ts.map +0 -1
- package/lib/resolution.js +0 -61
- package/lib/template.d.ts +0 -64
- package/lib/template.d.ts.map +0 -1
- package/lib/template.js +0 -199
- package/lib/utilities/mapValues.d.ts.map +0 -1
- package/lib/utilities/mapValues.js +0 -24
package/lib/package.js
CHANGED
@@ -1,22 +1,8 @@
|
|
1
|
-
/*
|
2
|
-
* *** MIT LICENSE ***
|
3
|
-
* -------------------------------------------------------------------------
|
4
|
-
* This code may be modified and distributed under the MIT license.
|
5
|
-
* See the LICENSE file for details.
|
6
|
-
* -------------------------------------------------------------------------
|
7
|
-
*
|
8
|
-
* @summary Helpers for handling a package
|
9
|
-
*
|
10
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
11
|
-
* @license MIT
|
12
|
-
* @copyright Copyright (c) 2019 - All Rights Reserved.
|
13
|
-
* -------------------------------------------------------------------------
|
14
|
-
*/
|
15
1
|
import { homedir } from 'node:os';
|
16
2
|
import { resolve } from 'node:path';
|
3
|
+
import { readPackageUp } from 'read-pkg-up';
|
17
4
|
import { Arborist } from '@npmcli/arborist';
|
18
5
|
import Config from '@npmcli/config';
|
19
|
-
import { readPackageUp } from 'read-pkg-up';
|
20
6
|
const NPM_VERSION_FOR_PEER_INSTALLATION = 7;
|
21
7
|
/**
|
22
8
|
* indicate whether peer packages would be installed automatically
|
@@ -24,11 +10,10 @@ const NPM_VERSION_FOR_PEER_INSTALLATION = 7;
|
|
24
10
|
*/
|
25
11
|
export function arePeerPackagesAutoInstalled() {
|
26
12
|
// NOTE npm_config_user_agent should be in the form of 'npm/7.3.0 node/v15.5.0 darwin x64'
|
27
|
-
|
28
|
-
|
29
|
-
/* istanbul ignore next */
|
13
|
+
const clientID = process.env.npm_config_user_agent?.split(' ')[0];
|
14
|
+
/* v8 ignore next */
|
30
15
|
const [name, version] = clientID?.split('/') ?? [];
|
31
|
-
/*
|
16
|
+
/* v8 ignore next */
|
32
17
|
const [major] = version?.split('.') ?? [];
|
33
18
|
const isNPM = name === 'npm';
|
34
19
|
const isNonNPM = name !== 'npm';
|
@@ -105,4 +90,4 @@ async function getNPMConfig() {
|
|
105
90
|
await config.load();
|
106
91
|
return config.flat;
|
107
92
|
}
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9wYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUlwQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsQ0FBQztBQVU1Qzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCO0lBQzFDLDBGQUEwRjtJQUUxRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsRSxvQkFBb0I7SUFDcEIsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFLLEVBQWtCLENBQUM7SUFFcEUsb0JBQW9CO0lBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFLLEVBQWtCLENBQUM7SUFFM0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEtBQUssQ0FBQztJQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBRWhDLE9BQU87SUFDTCxpRkFBaUY7SUFDakYsUUFBUTtRQUNSLENBQUMsS0FBSztZQUNKLEtBQUssS0FBSyxTQUFTO1lBQ25CLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQ0FBaUMsQ0FBQyxDQUN4RCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxJQUFhO0lBQzVDLGdEQUFnRDtJQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFbkUsa0RBQWtEO0lBQ2xELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBMEIsQ0FBQztJQUUvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLElBTXZDO0lBQ0MsTUFBTSxFQUNKLElBQUksRUFDSixHQUFHLEdBQUcsRUFBRSxFQUNSLE1BQU0sR0FBRyxFQUFFLEVBQ1gsTUFBTSxHQUFHLE1BQU0sRUFDZixRQUFRLEdBQUcsS0FBSyxHQUNqQixHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUVoQiw0Q0FBNEM7SUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLEVBQUUsQ0FBQztJQUNwQyxNQUFNLGlCQUFpQixHQUFHLDRCQUE0QixFQUFFLENBQUMsQ0FBQyw0QkFBNEI7SUFDdEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU1RSw4QkFBOEI7SUFDOUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3RDLEdBQUc7UUFDSCxFQUFFLEVBQUUsTUFBTTtRQUNWLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtLQUNoQixDQUFDLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsWUFBWTtJQUN6QixpQkFBaUI7SUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDeEIsV0FBVyxFQUFFO1lBQ1gsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ25FLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1NBQ2xFO1FBQ0QsT0FBTyxFQUFFLEdBQUc7UUFDWixPQUFPLEVBQUUsQ0FDUCxNQUE4QixFQUM5QixlQUF1QyxFQUNqQyxFQUFFO1lBQ1IscUhBQXFIO1lBRXJILDBEQUEwRDtZQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFcEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ3JCLENBQUMifQ==
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../source/preset/bootstrap.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB/C"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { info } from 'node:console';
|
2
|
+
import { resolve } from 'node:path';
|
3
|
+
import { ensureFile } from '../io.js';
|
4
|
+
import { arePeerPackagesAutoInstalled, reifyDependencies } from '../package.js';
|
5
|
+
import { serialize } from '../serialization.js';
|
6
|
+
import { getContext } from './context.js';
|
7
|
+
import { resolveProjectPreset } from './project.js';
|
8
|
+
import { resolveAssets } from './resolution/index.js';
|
9
|
+
/**
|
10
|
+
* generate files from templates and place them to the target project root
|
11
|
+
*/
|
12
|
+
export async function bootstrap() {
|
13
|
+
const context = await getContext();
|
14
|
+
// install all related packages first
|
15
|
+
if (!arePeerPackagesAutoInstalled()) {
|
16
|
+
await reifyDependencies({ root: context.root });
|
17
|
+
}
|
18
|
+
// generate configurations
|
19
|
+
const node = await resolveProjectPreset(context);
|
20
|
+
const assets = await resolveAssets(node, context);
|
21
|
+
for (const [name, asset] of Object.entries(assets)) {
|
22
|
+
if (asset === null) {
|
23
|
+
info(`Skipping ${name}`);
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
const destination = resolve(context.root, name);
|
27
|
+
info(`Generating ${name}`);
|
28
|
+
ensureFile(destination, serialize(destination, asset));
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL3ByZXNldC9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxTQUFTO0lBQzdCLE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxFQUFFLENBQUM7SUFFbkMscUNBQXFDO0lBQ3JDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWxELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7WUFFM0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/preset/config/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
/* v8 ignore start */
|
2
|
+
export * from './resolve.js';
|
3
|
+
export * from './search.js';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcHJlc2V0L2NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUI7QUFFckIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUMifQ==
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { Preset } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolve the presetter configuration from the project root
|
4
|
+
* @param root the root directory containing the project's package.json
|
5
|
+
* @returns the resolved presetter configuration
|
6
|
+
*/
|
7
|
+
export declare function resolvePresetterConfig(root: string): Promise<Preset>;
|
8
|
+
//# sourceMappingURL=resolve.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../source/preset/config/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB1E"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { createJiti } from 'jiti';
|
2
|
+
import debug from '../../debugger.js';
|
3
|
+
import { searchPresetterConfigs } from './search.js';
|
4
|
+
/**
|
5
|
+
* resolve the presetter configuration from the project root
|
6
|
+
* @param root the root directory containing the project's package.json
|
7
|
+
* @returns the resolved presetter configuration
|
8
|
+
*/
|
9
|
+
export async function resolvePresetterConfig(root) {
|
10
|
+
const configPaths = await searchPresetterConfigs(root);
|
11
|
+
if (configPaths.length === 0) {
|
12
|
+
throw new Error('no presetter configuration file found');
|
13
|
+
}
|
14
|
+
// NOTE: the priority is given to the configuration file closest to the project root, from mts, ts, mjs then js
|
15
|
+
const closestConfigPath = configPaths[0];
|
16
|
+
debug(`loading presetter configuration from ${closestConfigPath}`);
|
17
|
+
const jiti = createJiti(root, {
|
18
|
+
debug: !!process.env.DEBUG?.includes('presetter'),
|
19
|
+
});
|
20
|
+
// get the preset
|
21
|
+
return jiti.import(closestConfigPath, {
|
22
|
+
default: true,
|
23
|
+
});
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9wcmVzZXQvY29uZmlnL3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJbEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsSUFBWTtJQUN2RCxNQUFNLFdBQVcsR0FBRyxNQUFNLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELCtHQUErRztJQUMvRyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6QyxLQUFLLENBQUMsd0NBQXdDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztLQUNsRCxDQUFDLENBQUM7SUFFSCxpQkFBaUI7SUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFTLGlCQUFpQixFQUFFO1FBQzVDLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/**
|
2
|
+
* get all potential presetter configuration files by searching from the current base up to the monorepo root, if there is one
|
3
|
+
* @param base the base directory to start searching for the configuration file
|
4
|
+
* @returns list of presetter configuration files
|
5
|
+
*/
|
6
|
+
export declare function searchPresetterConfigs(base: string): Promise<string[]>;
|
7
|
+
//# sourceMappingURL=search.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../source/preset/config/search.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiB5E"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { existsSync } from 'node:fs';
|
2
|
+
import { dirname, resolve } from 'node:path';
|
3
|
+
import { readPackageUp } from 'read-pkg-up';
|
4
|
+
import debug from '../../debugger.js';
|
5
|
+
/** presetter configuration filename */
|
6
|
+
const PRESETTER_CONFIG = 'presetter.config';
|
7
|
+
/**
|
8
|
+
* get all potential presetter configuration files by searching from the current base up to the monorepo root, if there is one
|
9
|
+
* @param base the base directory to start searching for the configuration file
|
10
|
+
* @returns list of presetter configuration files
|
11
|
+
*/
|
12
|
+
export async function searchPresetterConfigs(base) {
|
13
|
+
debug(`searching for presetter configuration files from ${base}`);
|
14
|
+
const filesFromBase = ['.mts', '.ts', '.mjs', '.js']
|
15
|
+
.map((ext) => resolve(base, `${PRESETTER_CONFIG}${ext}`))
|
16
|
+
.filter(existsSync);
|
17
|
+
debug(`found ${filesFromBase.length} configuration files from ${base}`);
|
18
|
+
const parent = await readPackageUp({ cwd: dirname(base) });
|
19
|
+
// if the base is the root of a monorepo, stop searching
|
20
|
+
const filesFromParent = parent?.path
|
21
|
+
? await searchPresetterConfigs(dirname(base))
|
22
|
+
: [];
|
23
|
+
return [...filesFromBase, ...filesFromParent];
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3ByZXNldC9jb25maWcvc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyx1Q0FBdUM7QUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxJQUFZO0lBQ3ZELEtBQUssQ0FBQyxvREFBb0QsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVsRSxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNqRCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3hELE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QixLQUFLLENBQUMsU0FBUyxhQUFhLENBQUMsTUFBTSw2QkFBNkIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLGVBQWUsR0FBRyxNQUFNLEVBQUUsSUFBSTtRQUNsQyxDQUFDLENBQUMsTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVQLE9BQU8sQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO0FBQ2hELENBQUMifQ==
|
package/lib/preset/context.d.ts
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
import type { PresetContext } from 'presetter-types';
|
2
2
|
/**
|
3
3
|
* get context about the target project and any customization in .presetterrc
|
4
|
+
* @param cwd the current working directory
|
4
5
|
* @returns context about the target project and any customization in .presetterrc
|
5
6
|
*/
|
6
|
-
export declare function getContext(): Promise<PresetContext>;
|
7
|
+
export declare function getContext(cwd?: string): Promise<PresetContext>;
|
7
8
|
//# sourceMappingURL=context.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../source/preset/context.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../source/preset/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKrE"}
|
package/lib/preset/context.js
CHANGED
@@ -1,32 +1,13 @@
|
|
1
|
-
/*
|
2
|
-
* *** MIT LICENSE ***
|
3
|
-
* -------------------------------------------------------------------------
|
4
|
-
* This code may be modified and distributed under the MIT license.
|
5
|
-
* See the LICENSE file for details.
|
6
|
-
* -------------------------------------------------------------------------
|
7
|
-
*
|
8
|
-
* @summary Collection of helpers for concluding the target context
|
9
|
-
*
|
10
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
11
|
-
* @license MIT
|
12
|
-
* @copyright Copyright (c) 2020 - All Rights Reserved.
|
13
|
-
* -------------------------------------------------------------------------
|
14
|
-
*/
|
15
1
|
import { dirname } from 'node:path';
|
16
2
|
import { getPackage } from '../package.js';
|
17
|
-
import { getPresetterRC } from './presetterRC.js';
|
18
3
|
/**
|
19
4
|
* get context about the target project and any customization in .presetterrc
|
5
|
+
* @param cwd the current working directory
|
20
6
|
* @returns context about the target project and any customization in .presetterrc
|
21
7
|
*/
|
22
|
-
export async function getContext() {
|
23
|
-
const { json, path } = await getPackage();
|
8
|
+
export async function getContext(cwd) {
|
9
|
+
const { json, path } = await getPackage(cwd);
|
24
10
|
const root = dirname(path);
|
25
|
-
|
26
|
-
const custom = await getPresetterRC(root);
|
27
|
-
return {
|
28
|
-
target,
|
29
|
-
custom,
|
30
|
-
};
|
11
|
+
return { root, package: json };
|
31
12
|
}
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wcmVzZXQvY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJeEM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVSxDQUFDLEdBQVk7SUFDM0MsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFM0IsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDakMsQ0FBQyJ9
|
package/lib/preset/index.d.ts
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
+
export * from './bootstrap.js';
|
2
|
+
export * from './config/index.js';
|
3
|
+
export * from './context.js';
|
4
|
+
export * from './project.js';
|
5
|
+
export * from './resolution/index.js';
|
1
6
|
export * from './scripts.js';
|
2
|
-
export * from './setup.js';
|
3
|
-
export * from './unset.js';
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/preset/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/preset/index.ts"],"names":[],"mappings":"AAYA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
package/lib/preset/index.js
CHANGED
@@ -1,28 +1,17 @@
|
|
1
|
-
/*
|
2
|
-
* *** MIT LICENSE ***
|
3
|
-
* -------------------------------------------------------------------------
|
4
|
-
* This code may be modified and distributed under the MIT license.
|
5
|
-
* See the LICENSE file for details.
|
6
|
-
* -------------------------------------------------------------------------
|
7
|
-
*
|
8
|
-
* @summary Collection of helpers for setting up a project
|
9
|
-
*
|
10
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
11
|
-
* @license MIT
|
12
|
-
* @copyright Copyright (c) 2020 - All Rights Reserved.
|
13
|
-
* -------------------------------------------------------------------------
|
14
|
-
*/
|
1
|
+
/* v8 ignore start */
|
15
2
|
// NOTE on resolution steps
|
16
3
|
// STEP 1 build a dependency tree of presets
|
17
4
|
// STEP 2 resolve variables from the tree
|
18
5
|
//
|
19
6
|
// for template resolution
|
20
7
|
// STEP 3 resolve template content from resolved variables
|
21
|
-
// STEP 4 resolve noSimlinks from resolved variables
|
22
8
|
//
|
23
9
|
// for script resolution
|
24
10
|
// STEP 3 resolve script content from resolved variables
|
11
|
+
export * from './bootstrap.js';
|
12
|
+
export * from './config/index.js';
|
13
|
+
export * from './context.js';
|
14
|
+
export * from './project.js';
|
15
|
+
export * from './resolution/index.js';
|
25
16
|
export * from './scripts.js';
|
26
|
-
|
27
|
-
export * from './unset.js';
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvcHJlc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCwyQkFBMkI7QUFDM0IsNENBQTRDO0FBQzVDLHlDQUF5QztBQUN6QyxFQUFFO0FBQ0YsMEJBQTBCO0FBQzFCLDBEQUEwRDtBQUMxRCxvREFBb0Q7QUFDcEQsRUFBRTtBQUNGLHdCQUF3QjtBQUN4Qix3REFBd0Q7QUFFeEQsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUMifQ==
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvcHJlc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUVyQiwyQkFBMkI7QUFDM0IsNENBQTRDO0FBQzVDLHlDQUF5QztBQUN6QyxFQUFFO0FBQ0YsMEJBQTBCO0FBQzFCLDBEQUEwRDtBQUMxRCxFQUFFO0FBQ0Ysd0JBQXdCO0FBQ3hCLHdEQUF3RDtBQUV4RCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQyJ9
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { PresetContext, PresetNode } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolve the project preset
|
4
|
+
* @param context context about the target project and customization in .presetterrc
|
5
|
+
* @returns assets from the preset
|
6
|
+
*/
|
7
|
+
export declare function resolveProjectPreset(context: PresetContext): Promise<PresetNode>;
|
8
|
+
//# sourceMappingURL=project.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../source/preset/project.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,UAAU,CAAC,CAkBrB"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { xception } from 'xception';
|
2
|
+
import debug from '../debugger.js';
|
3
|
+
import { resolvePresetterConfig } from './config/index.js';
|
4
|
+
import { resolvePreset } from './resolution/index.js';
|
5
|
+
/**
|
6
|
+
* resolve the project preset
|
7
|
+
* @param context context about the target project and customization in .presetterrc
|
8
|
+
* @returns assets from the preset
|
9
|
+
*/
|
10
|
+
export async function resolveProjectPreset(context) {
|
11
|
+
try {
|
12
|
+
debug(`resolving preset at ${context.root}`);
|
13
|
+
// get the preset
|
14
|
+
const preset = await resolvePresetterConfig(context.root);
|
15
|
+
debug(`preset loaded, resolving nodes...`);
|
16
|
+
return await resolvePreset(preset, context);
|
17
|
+
}
|
18
|
+
catch (cause) {
|
19
|
+
throw xception(cause, {
|
20
|
+
meta: { project: context.package.name, root: context.root },
|
21
|
+
});
|
22
|
+
/* v8 ignore start */
|
23
|
+
}
|
24
|
+
finally {
|
25
|
+
debug(`all nodes resolved`);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wcmVzZXQvcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUk3Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsT0FBc0I7SUFFdEIsSUFBSSxDQUFDO1FBQ0gsS0FBSyxDQUFDLHVCQUF1QixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU3QyxpQkFBaUI7UUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUQsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFFM0MsT0FBTyxNQUFNLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDcEIsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFO1NBQzVELENBQUMsQ0FBQztRQUNILHFCQUFxQjtJQUN2QixDQUFDO1lBQVMsQ0FBQztRQUNULEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzlCLENBQUM7QUFDSCxDQUFDIn0=
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import type { PresetContentContext, PresetContext, PresetNode, ResolvedPresetAsset, ResolvedPresetAssets, Variables } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* lists all asset names in a preset node
|
4
|
+
* @param node the preset node
|
5
|
+
* @param context the context in which the node is being resolved
|
6
|
+
* @returns an array of asset names
|
7
|
+
*/
|
8
|
+
export declare function listAssetNames(node: PresetNode, context: PresetContentContext): string[];
|
9
|
+
/**
|
10
|
+
* resolves all assets for a given preset node
|
11
|
+
* @param node the preset node
|
12
|
+
* @param context the context in which the node is being resolved
|
13
|
+
* @returns a promise that resolves to the RESOLVED assets
|
14
|
+
*/
|
15
|
+
export declare function resolveAssets(node: PresetNode, context: PresetContext): Promise<ResolvedPresetAssets>;
|
16
|
+
/**
|
17
|
+
* resolves a specific asset for a given preset node
|
18
|
+
* @param _ collection of arguments
|
19
|
+
* @param _.name the name of the asset
|
20
|
+
* @param _.node the preset node
|
21
|
+
* @param _.context the context in which the node is being resolved
|
22
|
+
* @param _.variables the variables to use during resolution
|
23
|
+
* @returns a promise that resolves to the RESOLVED asset
|
24
|
+
*/
|
25
|
+
export declare function resolveAsset(_: {
|
26
|
+
name: string;
|
27
|
+
node: PresetNode;
|
28
|
+
context: PresetContext;
|
29
|
+
variables: Variables;
|
30
|
+
}): Promise<ResolvedPresetAsset | null | undefined>;
|
31
|
+
//# sourceMappingURL=asset.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/asset.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,EAAE,CAaV;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAmB/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,CAoClD"}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { prefixDisplay } from '../../utilities/index.js';
|
2
|
+
import { resolveNodeContent } from './content.js';
|
3
|
+
import Debug from './debugger.js';
|
4
|
+
import { resolveObject } from './object.js';
|
5
|
+
import { resolveVariables } from './variable.js';
|
6
|
+
/**
|
7
|
+
* lists all asset names in a preset node
|
8
|
+
* @param node the preset node
|
9
|
+
* @param context the context in which the node is being resolved
|
10
|
+
* @returns an array of asset names
|
11
|
+
*/
|
12
|
+
export function listAssetNames(node, context) {
|
13
|
+
const assetsResolver = node.definition.assets ?? {};
|
14
|
+
const assets = assetsResolver instanceof Function
|
15
|
+
? assetsResolver(context)
|
16
|
+
: assetsResolver;
|
17
|
+
return [
|
18
|
+
...new Set([
|
19
|
+
...Object.keys(assets),
|
20
|
+
...node.nodes.flatMap((node) => listAssetNames(node, context)),
|
21
|
+
]),
|
22
|
+
];
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* resolves all assets for a given preset node
|
26
|
+
* @param node the preset node
|
27
|
+
* @param context the context in which the node is being resolved
|
28
|
+
* @returns a promise that resolves to the RESOLVED assets
|
29
|
+
*/
|
30
|
+
export async function resolveAssets(node, context) {
|
31
|
+
const debug = Debug.extend('ASSETS').extend(node.definition.id);
|
32
|
+
// resolve variables for the node
|
33
|
+
const variables = await resolveVariables(node, context);
|
34
|
+
// list all asset names in the node
|
35
|
+
const names = listAssetNames(node, { ...context, variables });
|
36
|
+
debug('ASSET FILES\n%O', names);
|
37
|
+
// resolve each asset and return as an object
|
38
|
+
return Object.fromEntries(await Promise.all(names.map(async (name) => [
|
39
|
+
name,
|
40
|
+
await resolveAsset({ name, node, context, variables }),
|
41
|
+
])));
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* resolves a specific asset for a given preset node
|
45
|
+
* @param _ collection of arguments
|
46
|
+
* @param _.name the name of the asset
|
47
|
+
* @param _.node the preset node
|
48
|
+
* @param _.context the context in which the node is being resolved
|
49
|
+
* @param _.variables the variables to use during resolution
|
50
|
+
* @returns a promise that resolves to the RESOLVED asset
|
51
|
+
*/
|
52
|
+
export async function resolveAsset(_) {
|
53
|
+
const { name, node, context, variables } = _;
|
54
|
+
const debug = Debug.extend(name).extend(node.definition.id);
|
55
|
+
debug(`RESOLVING ASSET ${name} (INITIAL PASS)`);
|
56
|
+
// resolve the initial value of the asset
|
57
|
+
const initial = await resolveNodeContent({
|
58
|
+
name,
|
59
|
+
node,
|
60
|
+
context,
|
61
|
+
variables,
|
62
|
+
select: ({ assets }) => resolveObject(assets, { ...context, variables })?.[name],
|
63
|
+
});
|
64
|
+
debug(`RESOLVED ASSET ${name} (INITIAL PASS)\n${prefixDisplay('└─ ', initial)}`);
|
65
|
+
debug(`RESOLVING ASSET ${name} (FINAL PASS)`);
|
66
|
+
// resolve the final value of the asset, considering overrides
|
67
|
+
const final = await resolveNodeContent({
|
68
|
+
name,
|
69
|
+
node,
|
70
|
+
context,
|
71
|
+
initial,
|
72
|
+
variables,
|
73
|
+
select: ({ override }) => resolveObject(override?.assets, { ...context, variables })?.[name],
|
74
|
+
});
|
75
|
+
debug(`RESOLVED ASSET ${name} (FINAL PASS)\n${prefixDisplay('└─ ', final)}`);
|
76
|
+
return final;
|
77
|
+
}
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcHJlc2V0L3Jlc29sdXRpb24vYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXOUM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUFnQixFQUNoQixPQUE2QjtJQUU3QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQ1YsY0FBYyxZQUFZLFFBQVE7UUFDaEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUVyQixPQUFPO1FBQ0wsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNULEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMvRCxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUNqQyxJQUFnQixFQUNoQixPQUFzQjtJQUV0QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLGlDQUFpQztJQUNqQyxNQUFNLFNBQVMsR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV4RCxtQ0FBbUM7SUFDbkMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUQsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWhDLDZDQUE2QztJQUM3QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLElBQUk7UUFDSixNQUFNLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO0tBQ3ZELENBQUMsQ0FDSCxDQUNzQixDQUFDO0FBQzVCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLENBS2xDO0lBQ0MsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTVELEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDO0lBRWhELHlDQUF5QztJQUN6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO1FBQ3ZDLElBQUk7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLFNBQVM7UUFDVCxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDckIsYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FDM0QsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUNILGtCQUFrQixJQUFJLG9CQUFvQixhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQzFFLENBQUM7SUFFRixLQUFLLENBQUMsbUJBQW1CLElBQUksZUFBZSxDQUFDLENBQUM7SUFFOUMsOERBQThEO0lBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sa0JBQWtCLENBQXNCO1FBQzFELElBQUk7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxTQUFTO1FBQ1QsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQ3ZCLGFBQWEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztLQUNyRSxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsa0JBQWtCLElBQUksa0JBQWtCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTdFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyJ9
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import type { PresetContent, PresetContext, PresetDefinition, PresetNode, Variables } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* loads a potentially dynamic content
|
4
|
+
* @param _ collection of arguments
|
5
|
+
* @param _.content content to be loaded
|
6
|
+
* @param _.current the current content
|
7
|
+
* @param _.variables the variables to use during resolution
|
8
|
+
* @param _.context the context in which the content is being resolved
|
9
|
+
* @returns a promise that resolves to the RESOLVED content
|
10
|
+
*/
|
11
|
+
export declare function resolveContent<T>(_: {
|
12
|
+
content?: PresetContent<T>;
|
13
|
+
current?: T | null;
|
14
|
+
variables?: Variables;
|
15
|
+
context: PresetContext;
|
16
|
+
}): Promise<T | null | undefined>;
|
17
|
+
/**
|
18
|
+
* resolves the content of a node within a preset
|
19
|
+
* @template T the type of the content to be resolved
|
20
|
+
* @param _ collection of arguments
|
21
|
+
* @param _.name the name of the preset being resolved
|
22
|
+
* @param _.node the node to resolve
|
23
|
+
* @param _.context the context in which the node is being resolved
|
24
|
+
* @param _.initial an optional initial value to start the resolution with
|
25
|
+
* @param _.variables an optional record of variables to use during resolution
|
26
|
+
* @param _.select a function to select the content definition from the preset definition
|
27
|
+
* @returns a promise that resolves to the RESOLVED content of the node, which can be of type `T`, `null`, or `undefined`
|
28
|
+
*/
|
29
|
+
export declare function resolveNodeContent<T>(_: {
|
30
|
+
name: string;
|
31
|
+
node: PresetNode;
|
32
|
+
context: PresetContext;
|
33
|
+
initial?: T | null;
|
34
|
+
variables?: Variables;
|
35
|
+
select: (definition: PresetDefinition) => PresetContent<T> | undefined;
|
36
|
+
}): Promise<T | null | undefined>;
|
37
|
+
//# sourceMappingURL=content.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/content.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;IACzC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAchC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CA8BhC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { loadFile } from '../../io.js';
|
2
|
+
import { merge } from '../../template/index.js';
|
3
|
+
import { prefixDisplay } from '../../utilities/index.js';
|
4
|
+
import Debug from './debugger.js';
|
5
|
+
/**
|
6
|
+
* loads a potentially dynamic content
|
7
|
+
* @param _ collection of arguments
|
8
|
+
* @param _.content content to be loaded
|
9
|
+
* @param _.current the current content
|
10
|
+
* @param _.variables the variables to use during resolution
|
11
|
+
* @param _.context the context in which the content is being resolved
|
12
|
+
* @returns a promise that resolves to the RESOLVED content
|
13
|
+
*/
|
14
|
+
export async function resolveContent(_) {
|
15
|
+
const { content, current, variables = {}, context } = _;
|
16
|
+
// if content is a function, call it with the current content and context
|
17
|
+
if (content instanceof Function) {
|
18
|
+
return content(current, { ...context, variables });
|
19
|
+
}
|
20
|
+
// if content is a string, load the file content
|
21
|
+
const resolvedContent = typeof content === 'string' ? loadFile(content, variables) : content;
|
22
|
+
// merge the current content with the RESOLVED content
|
23
|
+
return merge(current, resolvedContent);
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* resolves the content of a node within a preset
|
27
|
+
* @template T the type of the content to be resolved
|
28
|
+
* @param _ collection of arguments
|
29
|
+
* @param _.name the name of the preset being resolved
|
30
|
+
* @param _.node the node to resolve
|
31
|
+
* @param _.context the context in which the node is being resolved
|
32
|
+
* @param _.initial an optional initial value to start the resolution with
|
33
|
+
* @param _.variables an optional record of variables to use during resolution
|
34
|
+
* @param _.select a function to select the content definition from the preset definition
|
35
|
+
* @returns a promise that resolves to the RESOLVED content of the node, which can be of type `T`, `null`, or `undefined`
|
36
|
+
*/
|
37
|
+
export async function resolveNodeContent(_) {
|
38
|
+
const { name, node, context, initial, variables, select } = _;
|
39
|
+
const { definition, nodes } = node;
|
40
|
+
const debug = Debug.extend(name).extend(node.definition.id);
|
41
|
+
debug(`INCOMING (${name})\n${prefixDisplay('└─ ', initial)}`);
|
42
|
+
const current = await nodes.reduce(async (merged, node) => {
|
43
|
+
const initial = await merged;
|
44
|
+
const next = await resolveNodeContent({ ..._, node, initial });
|
45
|
+
return merge(initial, next);
|
46
|
+
}, initial);
|
47
|
+
// select the content from the definition
|
48
|
+
const content = select(definition);
|
49
|
+
debug(`COMBINING (${name})\n${prefixDisplay('└─ ', current)}\n${prefixDisplay('└─ ', content)}`);
|
50
|
+
// resolve dynamic content
|
51
|
+
const out = await resolveContent({ content, current, variables, context });
|
52
|
+
debug(`RETURNING (${name})\n${prefixDisplay('└─ ', out)}`);
|
53
|
+
return out;
|
54
|
+
}
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9wcmVzZXQvcmVzb2x1dGlvbi9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFVL0I7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBSSxDQUt2QztJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRXhELHlFQUF5RTtJQUN6RSxJQUFJLE9BQU8sWUFBWSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsTUFBTSxlQUFlLEdBQ25CLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTlFLHNEQUFzRDtJQUN0RCxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUF5QixDQUFDO0FBQ2pFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUksQ0FPM0M7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDbkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU1RCxLQUFLLENBQUMsYUFBYSxJQUFJLE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUNoQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRCxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUF5QixDQUFDO0lBQ3RELENBQUMsRUFDRCxPQUF3QyxDQUN6QyxDQUFDO0lBRUYseUNBQXlDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVuQyxLQUFLLENBQ0gsY0FBYyxJQUFJLE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQzFGLENBQUM7SUFFRiwwQkFBMEI7SUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxjQUFjLENBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTlFLEtBQUssQ0FBQyxjQUFjLElBQUksTUFBTSxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUzRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMifQ==
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"debugger.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/debugger.ts"],"names":[],"mappings":";AAEA,wBAA0C"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import Debug from '../../debugger.js';
|
2
|
+
export default Debug.extend('resolution');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcHJlc2V0L3Jlc29sdXRpb24vZGVidWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsZUFBZSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDIn0=
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/index.ts"],"names":[],"mappings":"AAEA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/* v8 ignore start */
|
2
|
+
export * from './asset.js';
|
3
|
+
export * from './object.js';
|
4
|
+
export * from './preset.js';
|
5
|
+
export * from './script.js';
|
6
|
+
export * from './variable.js';
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcHJlc2V0L3Jlc29sdXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBRXJCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDIn0=
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { PresetContentContext, PresetObject } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolve an object
|
4
|
+
* @param object the object to resolve
|
5
|
+
* @param context the context in which the object is being resolved
|
6
|
+
* @returns the resolved object
|
7
|
+
*/
|
8
|
+
export declare function resolveObject<T>(object: PresetObject<T>, context: PresetContentContext): T;
|
9
|
+
//# sourceMappingURL=object.d.ts.map
|