presetter 3.5.5 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.1",
|
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.1"
|
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.1"
|
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