presetter 5.0.0 → 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/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 -15
- package/lib/executable/index.js +1 -15
- package/lib/index.d.ts +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -20
- 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 +3 -17
- 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 +6 -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 +5 -22
- 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 +4 -19
- package/lib/scripts.d.ts.map +1 -1
- package/lib/scripts.js +3 -18
- 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 +1 -16
- 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 +4 -16
- 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 +10 -7
- package/lib/content.d.ts +0 -123
- package/lib/content.d.ts.map +0 -1
- package/lib/content.js +0 -244
- 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 -41
- package/lib/preset/presetterRC.d.ts +0 -25
- package/lib/preset/presetterRC.d.ts.map +0 -1
- package/lib/preset/presetterRC.js +0 -76
- 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
@@ -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,29 +1,17 @@
|
|
1
1
|
/* v8 ignore start */
|
2
|
-
/*
|
3
|
-
* *** MIT LICENSE ***
|
4
|
-
* -------------------------------------------------------------------------
|
5
|
-
* This code may be modified and distributed under the MIT license.
|
6
|
-
* See the LICENSE file for details.
|
7
|
-
* -------------------------------------------------------------------------
|
8
|
-
*
|
9
|
-
* @summary Collection of helpers for setting up a project
|
10
|
-
*
|
11
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
12
|
-
* @license MIT
|
13
|
-
* @copyright Copyright (c) 2020 - All Rights Reserved.
|
14
|
-
* -------------------------------------------------------------------------
|
15
|
-
*/
|
16
2
|
// NOTE on resolution steps
|
17
3
|
// STEP 1 build a dependency tree of presets
|
18
4
|
// STEP 2 resolve variables from the tree
|
19
5
|
//
|
20
6
|
// for template resolution
|
21
7
|
// STEP 3 resolve template content from resolved variables
|
22
|
-
// STEP 4 resolve noSimlinks from resolved variables
|
23
8
|
//
|
24
9
|
// for script resolution
|
25
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';
|
26
16
|
export * from './scripts.js';
|
27
|
-
|
28
|
-
export * from './unset.js';
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvcHJlc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUVyQjs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsMkJBQTJCO0FBQzNCLDRDQUE0QztBQUM1Qyx5Q0FBeUM7QUFDekMsRUFBRTtBQUNGLDBCQUEwQjtBQUMxQiwwREFBMEQ7QUFDMUQsb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix3QkFBd0I7QUFDeEIsd0RBQXdEO0FBRXhELGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDIn0=
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,oBAAoB,GAC5B,CAAC,CAEH"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* resolve an object
|
3
|
+
* @param object the object to resolve
|
4
|
+
* @param context the context in which the object is being resolved
|
5
|
+
* @returns the resolved object
|
6
|
+
*/
|
7
|
+
export function resolveObject(object, context) {
|
8
|
+
return object instanceof Function ? object(context) : object;
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3ByZXNldC9yZXNvbHV0aW9uL29iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQXVCLEVBQ3ZCLE9BQTZCO0lBRTdCLE9BQU8sTUFBTSxZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDL0QsQ0FBQyJ9
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { Preset, PresetContext, PresetNode } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolve a preset
|
4
|
+
* @param preset the preset to resolve
|
5
|
+
* @param context the context in which the preset is being resolved
|
6
|
+
* @returns the resolved preset node
|
7
|
+
*/
|
8
|
+
export declare function resolvePreset(preset: Preset, context: PresetContext): Promise<PresetNode>;
|
9
|
+
//# sourceMappingURL=preset.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,UAAU,CAAC,CAiBrB"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import debug from './debugger.js';
|
2
|
+
/**
|
3
|
+
* resolve a preset
|
4
|
+
* @param preset the preset to resolve
|
5
|
+
* @param context the context in which the preset is being resolved
|
6
|
+
* @returns the resolved preset node
|
7
|
+
*/
|
8
|
+
export async function resolvePreset(preset, context) {
|
9
|
+
debug(`resolving node ${preset.id}`);
|
10
|
+
const definition = preset instanceof Function
|
11
|
+
? { id: preset.id, ...(await preset(context)) }
|
12
|
+
: preset;
|
13
|
+
const nodes = await Promise.all((definition.extends ?? []).map(async (preset) => resolvePreset(preset, context)));
|
14
|
+
debug(`preset ${preset.id} resolved`);
|
15
|
+
return { definition, nodes };
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3ByZXNldC9yZXNvbHV0aW9uL3ByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFJL0I7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FDakMsTUFBYyxFQUNkLE9BQXNCO0lBRXRCLEtBQUssQ0FBQyxrQkFBa0IsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFckMsTUFBTSxVQUFVLEdBQ2QsTUFBTSxZQUFZLFFBQVE7UUFDeEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7UUFDL0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUViLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDN0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FDOUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FDL0IsQ0FDRixDQUFDO0lBRUYsS0FBSyxDQUFDLFVBQVUsTUFBTSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUMvQixDQUFDIn0=
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { PresetContext, PresetNode, Scripts } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolves all scripts for a given preset node
|
4
|
+
* @param node the preset node
|
5
|
+
* @param context the context in which the node is being resolved
|
6
|
+
* @returns a promise that resolves to the RESOLVED scripts
|
7
|
+
*/
|
8
|
+
export declare function resolveScripts(node: PresetNode, context: PresetContext): Promise<Scripts>;
|
9
|
+
//# sourceMappingURL=script.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/script.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1E;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAoClB"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { substitute } from '../../template/index.js';
|
2
|
+
import { resolveNodeContent } from './content.js';
|
3
|
+
import Debug from './debugger.js';
|
4
|
+
import { resolveVariables } from './variable.js';
|
5
|
+
/**
|
6
|
+
* resolves all scripts for a given preset node
|
7
|
+
* @param node the preset node
|
8
|
+
* @param context the context in which the node is being resolved
|
9
|
+
* @returns a promise that resolves to the RESOLVED scripts
|
10
|
+
*/
|
11
|
+
export async function resolveScripts(node, context) {
|
12
|
+
const name = 'SCRIPTS';
|
13
|
+
const debug = Debug.extend(name);
|
14
|
+
// resolve variables for the node
|
15
|
+
const variables = await resolveVariables(node, context);
|
16
|
+
debug('RESOLVING SCRIPTS (INITIAL PASS)');
|
17
|
+
// resolve the initial value of the scripts
|
18
|
+
const initial = await resolveNodeContent({
|
19
|
+
name,
|
20
|
+
node,
|
21
|
+
context,
|
22
|
+
variables,
|
23
|
+
select: ({ scripts }) => scripts,
|
24
|
+
});
|
25
|
+
debug('RESOLVED SCRIPTS (INITIAL PASS)\n%O', initial);
|
26
|
+
debug('RESOLVING SCRIPTS (FINAL PASS)');
|
27
|
+
// resolve the final value of the scripts, considering overrides
|
28
|
+
const final = (await resolveNodeContent({
|
29
|
+
name,
|
30
|
+
node,
|
31
|
+
context,
|
32
|
+
initial,
|
33
|
+
variables,
|
34
|
+
select: ({ override }) => override?.scripts,
|
35
|
+
})) ?? {};
|
36
|
+
debug('RESOLVED SCRIPTS (FINAL PASS)\n%O', final);
|
37
|
+
return substitute(final, variables);
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3ByZXNldC9yZXNvbHV0aW9uL3NjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJOUM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsSUFBZ0IsRUFDaEIsT0FBc0I7SUFFdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3ZCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsaUNBQWlDO0lBQ2pDLE1BQU0sU0FBUyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXhELEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRTFDLDJDQUEyQztJQUMzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO1FBQ3ZDLElBQUk7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLFNBQVM7UUFDVCxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPO0tBQ2pDLENBQUMsQ0FBQztJQUVILEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV0RCxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUV4QyxnRUFBZ0U7SUFDaEUsTUFBTSxLQUFLLEdBQ1QsQ0FBQyxNQUFNLGtCQUFrQixDQUFDO1FBQ3hCLElBQUk7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxTQUFTO1FBQ1QsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU87S0FDNUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRVosS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWxELE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUN0QyxDQUFDIn0=
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { PresetContext, PresetNode, Variables } from 'presetter-types';
|
2
|
+
/**
|
3
|
+
* resolves all variables for a given preset node
|
4
|
+
* @param node the preset node
|
5
|
+
* @param context the context in which the node is being resolved
|
6
|
+
* @returns a promise that resolves to the RESOLVED variables
|
7
|
+
*/
|
8
|
+
export declare function resolveVariables(node: PresetNode, context: PresetContext): Promise<Variables>;
|
9
|
+
//# sourceMappingURL=variable.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../source/preset/resolution/variable.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,SAAS,CAAC,CA+BpB"}
|