presetter 3.5.5 → 4.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/LICENSE +21 -0
- package/README.md +3 -3
- package/bin/cli.js +5 -0
- package/bin/run-p.js +6 -0
- package/bin/run-s.js +6 -0
- package/bin/{run → run.js} +4 -2
- package/lib/content.d.ts +1 -1
- package/lib/content.js +58 -66
- package/lib/directive.d.ts +3 -3
- package/lib/directive.js +12 -17
- package/lib/error.js +2 -6
- package/lib/executable/entry.d.ts +1 -1
- package/lib/executable/entry.js +57 -24
- package/lib/executable/error.js +12 -19
- package/lib/executable/index.js +5 -6
- package/lib/index.d.ts +6 -6
- package/lib/index.js +7 -23
- package/lib/io.d.ts +7 -4
- package/lib/io.js +53 -57
- package/lib/package.d.ts +3 -5
- package/lib/package.js +18 -31
- package/lib/preset/content.d.ts +6 -0
- package/lib/preset/content.js +13 -0
- package/lib/preset/context.d.ts +2 -0
- package/lib/preset/context.js +14 -0
- package/lib/preset/graph.d.ts +4 -0
- package/lib/preset/graph.js +20 -0
- package/lib/preset/index.d.ts +3 -0
- package/lib/preset/index.js +4 -0
- package/lib/preset/mapping.d.ts +2 -0
- package/lib/preset/mapping.js +15 -0
- package/lib/preset/presetterRC.d.ts +5 -0
- package/lib/preset/presetterRC.js +38 -0
- package/lib/preset/scripts.d.ts +1 -0
- package/lib/preset/scripts.js +10 -0
- package/lib/preset/setup.d.ts +6 -0
- package/lib/preset/setup.js +43 -0
- package/lib/preset/unset.d.ts +1 -0
- package/lib/preset/unset.js +14 -0
- package/lib/resolution.d.ts +1 -1
- package/lib/resolution.js +11 -17
- package/lib/run.d.ts +5 -1
- package/lib/run.js +68 -74
- package/lib/scripts.d.ts +3 -3
- package/lib/scripts.js +13 -15
- package/lib/task.d.ts +8 -0
- package/lib/task.js +37 -0
- package/lib/template.d.ts +6 -6
- package/lib/template.js +25 -35
- package/lib/utilities/index.d.ts +1 -0
- package/lib/utilities/index.js +2 -0
- package/lib/utilities/mapValues.d.ts +1 -0
- package/lib/utilities/mapValues.js +4 -0
- package/package.json +35 -43
- package/bin/cli +0 -3
- package/lib/preset.d.ts +0 -15
- package/lib/preset.js +0 -188
- package/lib/types.d.ts +0 -73
- package/lib/types.js +0 -3
package/package.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "presetter",
|
3
|
-
"version": "
|
3
|
+
"version": "4.0.0",
|
4
4
|
"engines": {
|
5
|
-
"node": ">=
|
5
|
+
"node": ">=16.0.0"
|
6
6
|
},
|
7
7
|
"description": "Make project configurations clean with presets",
|
8
8
|
"keywords": [
|
@@ -21,62 +21,54 @@
|
|
21
21
|
"license": "MIT",
|
22
22
|
"author": "Alvis HT Tang <alvis@hilbert.space>",
|
23
23
|
"bin": {
|
24
|
-
"presetter": "./bin/cli",
|
25
|
-
"run": "./bin/run"
|
24
|
+
"presetter": "./bin/cli.js",
|
25
|
+
"run": "./bin/run.js",
|
26
|
+
"run-s": "./bin/run-s.js",
|
27
|
+
"run-p": "./bin/run-p.js"
|
26
28
|
},
|
27
29
|
"main": "lib/index.js",
|
28
|
-
"module": "lib/index.mjs",
|
29
30
|
"types": "lib/index.d.ts",
|
30
|
-
"
|
31
|
-
".": {
|
32
|
-
"require": "./lib/index.js",
|
33
|
-
"import": "./lib/index.mjs"
|
34
|
-
},
|
35
|
-
"./package.json": "./package.json"
|
36
|
-
},
|
31
|
+
"type": "module",
|
37
32
|
"repository": {
|
38
33
|
"type": "git",
|
39
34
|
"url": "git+https://github.com/alvis/presetter.git"
|
40
35
|
},
|
41
|
-
"scripts": {
|
42
|
-
"bootstrap": "npm run ts-node -- --eval \"require('./source/preset.ts').bootstrapPreset()\" && npm run script -- prepare",
|
43
|
-
"build": "npm run script -- build",
|
44
|
-
"clean": "npm run script -- clean",
|
45
|
-
"coverage": "npm run script -- coverage",
|
46
|
-
"lint": "npm run script -- lint",
|
47
|
-
"prepublishOnly": "npm run bootstrap && npm run script -- prepublishOnly",
|
48
|
-
"script": "npm run ts-node -- --eval \"process.argv = [...process.argv.slice(0, 2), 'run', ...process.argv.slice(2)]; require('./source/executable');\" -- run ",
|
49
|
-
"stage": "npm run script -- stage --",
|
50
|
-
"ts-node": "ts-node --cwd-mode --compiler-options=\"{\\\"esModuleInterop\\\":true,\\\"target\\\":\\\"es6\\\"}\" --transpile-only --require tsconfig-paths/register",
|
51
|
-
"test": "npm run script -- test --",
|
52
|
-
"watch": "npm run script -- watch --"
|
53
|
-
},
|
54
36
|
"devDependencies": {
|
55
37
|
"@types/js-yaml": "^4.0.0",
|
56
|
-
"@types/lodash": "^4.0.0",
|
57
38
|
"@types/node": "*",
|
58
39
|
"@types/yargs": "^17.0.0",
|
59
|
-
"
|
60
|
-
"
|
61
|
-
"tsconfig-paths": "^4.0.0",
|
62
|
-
"type-fest": "^2.0.0",
|
63
|
-
"typescript": "^4.0.0"
|
40
|
+
"type-fest": "^3.12.0",
|
41
|
+
"presetter-preset-strict": "4.0.0"
|
64
42
|
},
|
65
43
|
"dependencies": {
|
66
|
-
"@npmcli/arborist": "^
|
67
|
-
"@npmcli/config": "^
|
44
|
+
"@npmcli/arborist": "^6.0.0",
|
45
|
+
"@npmcli/config": "^6.0.0",
|
46
|
+
"@npmcli/run-script": "^6.0.0",
|
68
47
|
"callsite-record": "^4.0.0",
|
69
|
-
"chalk": "^
|
70
|
-
"execa": "^
|
71
|
-
"js-yaml": "^4.
|
72
|
-
"
|
48
|
+
"chalk": "^5.2.0",
|
49
|
+
"execa": "^7.1.0",
|
50
|
+
"js-yaml": "^4.1.0",
|
51
|
+
"listr2": "^6.6.0",
|
73
52
|
"mvdan-sh": "^0.10.0",
|
74
|
-
"pupa": "^
|
75
|
-
"read-pkg": "^
|
76
|
-
"read-pkg-up": "^
|
53
|
+
"pupa": "^3.1.0",
|
54
|
+
"read-pkg": "^8.0.0",
|
55
|
+
"read-pkg-up": "^9.1.0",
|
77
56
|
"resolve-pkg": "^2.0.0",
|
78
57
|
"source-map-support": "^0.5.0",
|
79
|
-
"write-pkg": "^
|
80
|
-
"yargs": "^17.0.0"
|
58
|
+
"write-pkg": "^5.1.0",
|
59
|
+
"yargs": "^17.0.0",
|
60
|
+
"yargs-parser": "^21.0.0",
|
61
|
+
"presetter-types": "4.0.0"
|
62
|
+
},
|
63
|
+
"scripts": {
|
64
|
+
"bootstrap": "tsx --eval \"require('./source/preset').bootstrapPreset()\" && npm run prepare",
|
65
|
+
"build": "npm run script -- build",
|
66
|
+
"clean": "npm run script -- clean",
|
67
|
+
"coverage": "npm run script -- coverage --",
|
68
|
+
"lint": "npm run script -- lint",
|
69
|
+
"script": "tsx --eval \"process.argv = [...process.argv.slice(0, 2), 'run', ...process.argv.slice(2)]; require('./source/executable');\" -- run --template",
|
70
|
+
"stage": "npm run script -- stage --",
|
71
|
+
"test": "npm run script -- test --",
|
72
|
+
"watch": "npm run script -- watch --"
|
81
73
|
}
|
82
|
-
}
|
74
|
+
}
|
package/bin/cli
DELETED
package/lib/preset.d.ts
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
import type { PresetAsset, PresetContext, PresetGraph, PresetNode, PresetterConfig, ResolvedPresetContext, Template } from './types';
|
2
|
-
export declare function getPresetterRCPaths(base: string): Promise<string[]>;
|
3
|
-
export declare function getPresetterRC(root: string): Promise<PresetterConfig>;
|
4
|
-
export declare function updatePresetterRC(root: string, config: PresetterConfig): Promise<void>;
|
5
|
-
export declare function assertPresetterRC(value: unknown): asserts value is PresetterConfig;
|
6
|
-
export declare function getPresetAsset(name: string, context: PresetContext): Promise<PresetAsset>;
|
7
|
-
export declare function getPresetNode(name: string, context: PresetContext): Promise<PresetNode>;
|
8
|
-
export declare function getPresetGraph(context: PresetContext): Promise<PresetGraph>;
|
9
|
-
export declare function getScripts(): Promise<Record<string, string>>;
|
10
|
-
export declare function setupPreset(...uris: string[]): Promise<void>;
|
11
|
-
export declare function bootstrapPreset(): Promise<void>;
|
12
|
-
export declare function bootstrapContent(context: PresetContext): Promise<void>;
|
13
|
-
export declare function unsetPreset(): Promise<void>;
|
14
|
-
export declare function getContext(): Promise<PresetContext>;
|
15
|
-
export declare function getDestinationMap(template: Record<string, Template>, context: ResolvedPresetContext<'noSymlinks'>): Promise<Record<string, string>>;
|
package/lib/preset.js
DELETED
@@ -1,188 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.getDestinationMap = exports.getContext = exports.unsetPreset = exports.bootstrapContent = exports.bootstrapPreset = exports.setupPreset = exports.getScripts = exports.getPresetGraph = exports.getPresetNode = exports.getPresetAsset = exports.assertPresetterRC = exports.updatePresetterRC = exports.getPresetterRC = exports.getPresetterRCPaths = void 0;
|
30
|
-
const console_1 = require("console");
|
31
|
-
const fs_1 = require("fs");
|
32
|
-
const lodash_1 = require("lodash");
|
33
|
-
const path_1 = require("path");
|
34
|
-
const read_pkg_1 = __importDefault(require("read-pkg"));
|
35
|
-
const read_pkg_up_1 = __importDefault(require("read-pkg-up"));
|
36
|
-
const resolve_pkg_1 = __importDefault(require("resolve-pkg"));
|
37
|
-
const write_pkg_1 = __importDefault(require("write-pkg"));
|
38
|
-
const content_1 = require("./content");
|
39
|
-
const io_1 = require("./io");
|
40
|
-
const package_1 = require("./package");
|
41
|
-
const template_1 = require("./template");
|
42
|
-
const PRESETTERRC = '.presetterrc';
|
43
|
-
const JSON_INDENT = 2;
|
44
|
-
async function getPresetterRCPaths(base) {
|
45
|
-
const filesFromBase = ['', '.json']
|
46
|
-
.map((ext) => (0, path_1.resolve)(base, `${PRESETTERRC}${ext}`))
|
47
|
-
.filter(fs_1.existsSync);
|
48
|
-
const parent = await (0, read_pkg_up_1.default)({ cwd: (0, path_1.dirname)(base) });
|
49
|
-
const filesFromParent = (parent === null || parent === void 0 ? void 0 : parent.path)
|
50
|
-
? await getPresetterRCPaths((0, path_1.dirname)(parent.path))
|
51
|
-
: [];
|
52
|
-
return [...filesFromParent, ...filesFromBase];
|
53
|
-
}
|
54
|
-
exports.getPresetterRCPaths = getPresetterRCPaths;
|
55
|
-
async function getPresetterRC(root) {
|
56
|
-
const paths = await getPresetterRCPaths(root);
|
57
|
-
const path = paths.pop();
|
58
|
-
if (path) {
|
59
|
-
const custom = (0, io_1.loadFile)(path, 'json');
|
60
|
-
assertPresetterRC(custom);
|
61
|
-
return custom;
|
62
|
-
}
|
63
|
-
throw new Error('Missing preset defined in .presetterrc');
|
64
|
-
}
|
65
|
-
exports.getPresetterRC = getPresetterRC;
|
66
|
-
async function updatePresetterRC(root, config) {
|
67
|
-
const existingPresetterRC = await getPresetterRC(root).catch(() => ({}));
|
68
|
-
(0, fs_1.writeFileSync)((0, path_1.resolve)(root, `${PRESETTERRC}.json`), JSON.stringify((0, template_1.merge)(existingPresetterRC, config), null, JSON_INDENT));
|
69
|
-
}
|
70
|
-
exports.updatePresetterRC = updatePresetterRC;
|
71
|
-
function assertPresetterRC(value) {
|
72
|
-
if (!(0, template_1.isJSON)(value) ||
|
73
|
-
(typeof value['preset'] !== 'string' && !Array.isArray(value['preset']))) {
|
74
|
-
throw new Error(`invalid presetter configuration file`);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
exports.assertPresetterRC = assertPresetterRC;
|
78
|
-
async function getPresetAsset(name, context) {
|
79
|
-
try {
|
80
|
-
const module = (0, resolve_pkg_1.default)(name, {
|
81
|
-
cwd: context.target.root,
|
82
|
-
});
|
83
|
-
const { default: presetPresetAsset } = (await Promise.resolve().then(() => __importStar(require(module))));
|
84
|
-
return await presetPresetAsset(context);
|
85
|
-
}
|
86
|
-
catch (_a) {
|
87
|
-
throw new Error(`cannot resolve preset ${name}`);
|
88
|
-
}
|
89
|
-
}
|
90
|
-
exports.getPresetAsset = getPresetAsset;
|
91
|
-
async function getPresetNode(name, context) {
|
92
|
-
var _a;
|
93
|
-
const asset = await getPresetAsset(name, context);
|
94
|
-
const nodes = await Promise.all(((_a = asset.extends) !== null && _a !== void 0 ? _a : []).map(async (extension) => getPresetNode(extension, context)));
|
95
|
-
return { name, asset, nodes };
|
96
|
-
}
|
97
|
-
exports.getPresetNode = getPresetNode;
|
98
|
-
async function getPresetGraph(context) {
|
99
|
-
const { preset } = context.custom;
|
100
|
-
const presets = Array.isArray(preset) ? preset : [preset];
|
101
|
-
return Promise.all(presets.map(async (name) => getPresetNode(name, context)));
|
102
|
-
}
|
103
|
-
exports.getPresetGraph = getPresetGraph;
|
104
|
-
async function getScripts() {
|
105
|
-
const context = await getContext();
|
106
|
-
const graph = await getPresetGraph(context);
|
107
|
-
const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
|
108
|
-
return (0, content_1.resolveScripts)({ graph, context: resolvedContext });
|
109
|
-
}
|
110
|
-
exports.getScripts = getScripts;
|
111
|
-
async function setupPreset(...uris) {
|
112
|
-
const { path } = await (0, package_1.getPackage)();
|
113
|
-
const root = (0, path_1.dirname)(path);
|
114
|
-
const packageBefore = (await (0, read_pkg_1.default)({ cwd: root })).devDependencies;
|
115
|
-
(0, console_1.info)(`Installing ${uris.join(' ')}... it may take a few moment...`);
|
116
|
-
await (0, package_1.reifyDependencies)({
|
117
|
-
root,
|
118
|
-
add: ['presetter', ...uris],
|
119
|
-
saveAs: 'dev',
|
120
|
-
lockFile: true,
|
121
|
-
});
|
122
|
-
const packageAfter = (await (0, read_pkg_1.default)({ cwd: root })).devDependencies;
|
123
|
-
const newPackages = getNewPackages(Object.assign({}, packageBefore), Object.assign({}, packageAfter));
|
124
|
-
const preset = newPackages.filter((name) => name !== 'presetter');
|
125
|
-
(0, console_1.info)('Updating .presetterrc.json & package.json');
|
126
|
-
await updatePresetterRC(root, { preset });
|
127
|
-
const context = await getContext();
|
128
|
-
await bootstrapContent(context);
|
129
|
-
await (0, write_pkg_1.default)(root, (0, lodash_1.defaultsDeep)(context.target.package, {
|
130
|
-
scripts: { prepare: 'presetter bootstrap' },
|
131
|
-
}));
|
132
|
-
(0, console_1.info)('Done. Enjoy coding!');
|
133
|
-
}
|
134
|
-
exports.setupPreset = setupPreset;
|
135
|
-
async function bootstrapPreset() {
|
136
|
-
const context = await getContext();
|
137
|
-
if (!(0, package_1.arePeerPackagesAutoInstalled)()) {
|
138
|
-
await (0, package_1.reifyDependencies)({ root: context.target.root });
|
139
|
-
}
|
140
|
-
await bootstrapContent(context);
|
141
|
-
}
|
142
|
-
exports.bootstrapPreset = bootstrapPreset;
|
143
|
-
async function bootstrapContent(context) {
|
144
|
-
const graph = await getPresetGraph(context);
|
145
|
-
const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
|
146
|
-
const content = await (0, content_1.resolveTemplate)({ graph, context: resolvedContext });
|
147
|
-
const destinationMap = await getDestinationMap(content, resolvedContext);
|
148
|
-
(0, io_1.writeFiles)(context.target.root, content, destinationMap);
|
149
|
-
(0, io_1.linkFiles)(context.target.root, destinationMap);
|
150
|
-
}
|
151
|
-
exports.bootstrapContent = bootstrapContent;
|
152
|
-
async function unsetPreset() {
|
153
|
-
const context = await getContext();
|
154
|
-
const graph = await getPresetGraph(context);
|
155
|
-
const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
|
156
|
-
const content = await (0, content_1.resolveTemplate)({ graph, context: resolvedContext });
|
157
|
-
const configurationLink = await getDestinationMap(content, resolvedContext);
|
158
|
-
(0, io_1.unlinkFiles)(context.target.root, configurationLink);
|
159
|
-
}
|
160
|
-
exports.unsetPreset = unsetPreset;
|
161
|
-
async function getContext() {
|
162
|
-
const { json, path } = await (0, package_1.getPackage)();
|
163
|
-
const root = (0, path_1.dirname)(path);
|
164
|
-
const target = { name: json.name, root, package: json };
|
165
|
-
const custom = await getPresetterRC(root);
|
166
|
-
return {
|
167
|
-
target,
|
168
|
-
custom,
|
169
|
-
};
|
170
|
-
}
|
171
|
-
exports.getContext = getContext;
|
172
|
-
async function getDestinationMap(template, context) {
|
173
|
-
const { custom: { noSymlinks }, target: { root }, } = context;
|
174
|
-
const presetterDir = (0, resolve_pkg_1.default)('presetter', { cwd: root });
|
175
|
-
const outDir = (0, path_1.resolve)(presetterDir, 'generated', context.target.name);
|
176
|
-
const relativePaths = [...Object.keys(template)];
|
177
|
-
return Object.fromEntries([
|
178
|
-
...relativePaths.map((relativePath) => [
|
179
|
-
relativePath,
|
180
|
-
(0, path_1.resolve)(noSymlinks.includes(relativePath) ? context.target.root : outDir, relativePath),
|
181
|
-
]),
|
182
|
-
]);
|
183
|
-
}
|
184
|
-
exports.getDestinationMap = getDestinationMap;
|
185
|
-
function getNewPackages(before, after) {
|
186
|
-
return Object.keys(after).filter((name) => !before[name]);
|
187
|
-
}
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3ByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLHFDQUErQjtBQUMvQiwyQkFBK0M7QUFDL0MsbUNBQXNDO0FBQ3RDLCtCQUF3QztBQUN4Qyx3REFBbUM7QUFDbkMsOERBQXdDO0FBQ3hDLDhEQUF5QztBQUN6QywwREFBcUM7QUFFckMsdUNBQTRFO0FBQzVFLDZCQUFvRTtBQUNwRSx1Q0FJbUI7QUFDbkIseUNBQTJDO0FBYzNDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQztBQUVuQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFrQmYsS0FBSyxVQUFVLG1CQUFtQixDQUFDLElBQVk7SUFDcEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDO1NBQ2hDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBQSxjQUFPLEVBQUMsSUFBSSxFQUFFLEdBQUcsV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDbkQsTUFBTSxDQUFDLGVBQVUsQ0FBQyxDQUFDO0lBRXRCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxxQkFBYSxFQUFDLEVBQUUsR0FBRyxFQUFFLElBQUEsY0FBTyxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUczRCxNQUFNLGVBQWUsR0FBRyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJO1FBQ2xDLENBQUMsQ0FBQyxNQUFNLG1CQUFtQixDQUFDLElBQUEsY0FBTyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsT0FBTyxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQWJELGtEQWFDO0FBT00sS0FB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
|
package/lib/types.d.ts
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
import type { PackageJson } from 'read-pkg-up';
|
2
|
-
import type { JsonObject } from 'type-fest';
|
3
|
-
export declare type PresetGraph = PresetNode[];
|
4
|
-
export declare type PresetNode = {
|
5
|
-
name: string;
|
6
|
-
asset: PresetAsset;
|
7
|
-
nodes: PresetGraph;
|
8
|
-
};
|
9
|
-
export declare type PresetterConfig = {
|
10
|
-
preset: string | string[];
|
11
|
-
config?: Record<string, JsonObject | string[]>;
|
12
|
-
scripts?: Record<string, string>;
|
13
|
-
variable?: Record<string, string>;
|
14
|
-
ignores?: IgnoreRule[];
|
15
|
-
noSymlinks?: string[];
|
16
|
-
};
|
17
|
-
export interface PresetAsset {
|
18
|
-
extends?: string[];
|
19
|
-
template?: TemplateMap | TemplateMapGenerator;
|
20
|
-
noSymlinks?: string[] | Generator<string[], 'variable'>;
|
21
|
-
scripts?: Record<string, string> | string;
|
22
|
-
variable?: Record<string, string>;
|
23
|
-
supplementaryConfig?: ConfigMap | ConfigMapGenerator;
|
24
|
-
supplementaryIgnores?: IgnoreRule[] | IgnoreRulesGenerator;
|
25
|
-
supplementaryScripts?: Record<string, string> | string;
|
26
|
-
}
|
27
|
-
export interface ResolvedPresetAsset extends Omit<PresetAsset, 'extends'> {
|
28
|
-
template?: Record<string, Template>;
|
29
|
-
noSymlinks?: string[];
|
30
|
-
scripts?: Record<string, string>;
|
31
|
-
variable?: Record<string, string>;
|
32
|
-
supplementaryConfig?: Record<string, Config>;
|
33
|
-
supplementaryIgnores?: Array<string | Record<string, IgnorePath>>;
|
34
|
-
supplementaryScripts?: Record<string, string>;
|
35
|
-
}
|
36
|
-
export interface TargetContext {
|
37
|
-
name: string;
|
38
|
-
root: string;
|
39
|
-
package: PackageJson;
|
40
|
-
}
|
41
|
-
export interface PresetContext {
|
42
|
-
target: TargetContext;
|
43
|
-
custom: PresetterConfig;
|
44
|
-
}
|
45
|
-
export interface ResolvedPresetContext<F extends keyof PresetterConfig = 'config' | 'noSymlinks' | 'variable'> extends PresetContext {
|
46
|
-
custom: PresetterConfig & {
|
47
|
-
[K in keyof Pick<PresetterConfig, F>]-?: PresetterConfig[K];
|
48
|
-
} & {
|
49
|
-
[K in keyof Pick<PresetterConfig, Exclude<keyof PresetterConfig, F>>]: PresetterConfig[K];
|
50
|
-
};
|
51
|
-
}
|
52
|
-
declare type Path = string;
|
53
|
-
export declare type Template = string | JsonObject;
|
54
|
-
export declare type TemplateGenerator = Generator<Template>;
|
55
|
-
export declare type TemplateMap = Record<string, Path | Template | TemplateGenerator>;
|
56
|
-
export declare type TemplateMapGenerator = Generator<TemplateMap>;
|
57
|
-
export declare type Config = string[] | JsonObject;
|
58
|
-
export declare type ConfigGenerator = Generator<Config>;
|
59
|
-
export declare type ConfigMap = Record<string, Path | Config | ConfigGenerator>;
|
60
|
-
export declare type ConfigMapGenerator = Generator<ConfigMap, 'variable'>;
|
61
|
-
export declare type IgnoreRule = string | number | Record<string, IgnorePath>;
|
62
|
-
export declare type IgnorePath = string[] | number[] | {
|
63
|
-
[key: string]: IgnorePath;
|
64
|
-
};
|
65
|
-
export declare type IgnoreRulesGenerator = Generator<IgnoreRule[], 'variable'>;
|
66
|
-
export declare type Generator<R, K extends keyof PresetterConfig = 'config' | 'noSymlinks' | 'variable'> = (args: ResolvedPresetContext<K>) => PotentiallyPromise<R>;
|
67
|
-
export declare type DynamicAssetField = {
|
68
|
-
[F in keyof PresetAsset]-?: Generator<any, never> extends PresetAsset[F] ? Record<string, any> extends PresetAsset[F] ? F : never : never;
|
69
|
-
}[keyof PresetAsset];
|
70
|
-
export declare type DynamicAsset<F extends DynamicAssetField> = Exclude<PresetAsset[F], undefined | Generator<any>>[string] extends infer R ? R extends Generator<infer V> ? V : never : never;
|
71
|
-
export declare type PotentiallyPromise<T> = T | PromiseLike<T>;
|
72
|
-
export declare type RequiredResolution<F extends DynamicAssetField = DynamicAssetField> = PresetAsset[F] extends infer R ? R extends Generator<any, infer K> ? K : never : never;
|
73
|
-
export {};
|
package/lib/types.js
DELETED