@git.zone/tspublish 1.11.7 → 1.14.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/.smartconfig.json +23 -7
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.packagepreparer.d.ts +10 -0
- package/dist_ts/classes.packagepreparer.js +154 -0
- package/dist_ts/classes.publishmodule.d.ts +2 -1
- package/dist_ts/classes.publishmodule.js +30 -58
- package/dist_ts/classes.tspublish.d.ts +5 -3
- package/dist_ts/classes.tspublish.js +15 -2
- package/dist_ts/functions.packageplan.d.ts +4 -0
- package/dist_ts/functions.packageplan.js +225 -0
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +14 -2
- package/dist_ts/interfaces/tspublish.d.ts +73 -0
- package/dist_ts/plugins.d.ts +5 -2
- package/dist_ts/plugins.js +6 -3
- package/package.json +15 -14
- package/readme.md +167 -246
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.packagepreparer.ts +141 -0
- package/ts/classes.publishmodule.ts +27 -61
- package/ts/classes.tspublish.ts +16 -1
- package/ts/functions.packageplan.ts +217 -0
- package/ts/index.ts +11 -1
- package/ts/interfaces/tspublish.ts +68 -0
- package/ts/plugins.ts +5 -2
- package/readme.hints.md +0 -22
- /package/{license → license.md} +0 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
const packageNamePattern = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/;
|
|
3
|
+
const folderPattern = /^ts(?:_[a-z0-9_]+)?$/;
|
|
4
|
+
export const assertPackagePath = (value) => {
|
|
5
|
+
if (typeof value !== 'string' || !value || value.includes('\\')
|
|
6
|
+
|| value.split('/').some((part) => !part || part === '.' || part === '..')
|
|
7
|
+
|| /[\x00-\x1f\x7f*?]/.test(value) || plugins.path.isAbsolute(value)) {
|
|
8
|
+
throw new Error(`Invalid package-relative path: ${value}`);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const record = (value, label) => {
|
|
12
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
13
|
+
throw new Error(`Invalid ${label}.`);
|
|
14
|
+
return value;
|
|
15
|
+
};
|
|
16
|
+
const dependencyNames = (value, label) => {
|
|
17
|
+
if (!Array.isArray(value) || value.some((name) => typeof name !== 'string' || !packageNamePattern.test(name))
|
|
18
|
+
|| new Set(value).size !== value.length)
|
|
19
|
+
throw new Error(`Invalid ${label}.`);
|
|
20
|
+
return value;
|
|
21
|
+
};
|
|
22
|
+
const assertVersionReference = (value, name) => {
|
|
23
|
+
if (typeof value !== 'string' || !value.trim() || /^(?:file|link|workspace):/.test(value)) {
|
|
24
|
+
throw new Error(`Missing or unsupported published dependency version for ${name}.`);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
const stringRecord = (value, label) => {
|
|
29
|
+
const result = record(value, label);
|
|
30
|
+
if (Object.values(result).some((entry) => typeof entry !== 'string' || !entry.trim()))
|
|
31
|
+
throw new Error(`Invalid ${label}.`);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
const platformSelectors = (value, label) => {
|
|
35
|
+
if (!Array.isArray(value) || !value.length || new Set(value).size !== value.length
|
|
36
|
+
|| value.some((entry) => typeof entry !== 'string' || !/^!?[a-z0-9][a-z0-9._-]*$/.test(entry))) {
|
|
37
|
+
throw new Error(`Invalid ${label} platform selectors.`);
|
|
38
|
+
}
|
|
39
|
+
return [...value];
|
|
40
|
+
};
|
|
41
|
+
const legacyEntry = (value, kind) => {
|
|
42
|
+
if (typeof value === 'string')
|
|
43
|
+
return kind === 'main' ? value : undefined;
|
|
44
|
+
if (value === null)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (kind === 'types' && typeof value.types === 'string')
|
|
47
|
+
return value.types;
|
|
48
|
+
for (const condition of ['node', 'import', 'default']) {
|
|
49
|
+
if (value[condition] !== undefined) {
|
|
50
|
+
const result = legacyEntry(value[condition], kind);
|
|
51
|
+
if (result)
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
};
|
|
57
|
+
export const orderPublishModules = (modules) => {
|
|
58
|
+
const names = new Map();
|
|
59
|
+
for (const [folder, config] of Object.entries(modules)) {
|
|
60
|
+
if (config.order !== undefined && !Number.isFinite(config.order))
|
|
61
|
+
throw new Error(`Invalid order for ${folder}.`);
|
|
62
|
+
if (config.name) {
|
|
63
|
+
if (!packageNamePattern.test(config.name) || names.has(config.name))
|
|
64
|
+
throw new Error(`Invalid or duplicate package name: ${config.name}`);
|
|
65
|
+
names.set(config.name, folder);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const pending = new Set(Object.keys(modules));
|
|
69
|
+
const ordered = {};
|
|
70
|
+
while (pending.size) {
|
|
71
|
+
const ready = [...pending].filter((folder) => [...(modules[folder].dependencies ?? []), ...(modules[folder].optionalDependencies ?? [])]
|
|
72
|
+
.every((name) => !names.has(name) || !pending.has(names.get(name)))).sort((a, b) => (modules[a].order ?? Number.MAX_SAFE_INTEGER) - (modules[b].order ?? Number.MAX_SAFE_INTEGER)
|
|
73
|
+
|| a.localeCompare(b, 'en'));
|
|
74
|
+
if (!ready.length)
|
|
75
|
+
throw new Error(`Cyclic publish dependencies: ${[...pending].join(', ')}`);
|
|
76
|
+
const folder = ready[0];
|
|
77
|
+
ordered[folder] = modules[folder];
|
|
78
|
+
pending.delete(folder);
|
|
79
|
+
}
|
|
80
|
+
return ordered;
|
|
81
|
+
};
|
|
82
|
+
const validateExport = (value, folders) => {
|
|
83
|
+
if (value === null)
|
|
84
|
+
return;
|
|
85
|
+
if (typeof value === 'string') {
|
|
86
|
+
if (!value.startsWith('./'))
|
|
87
|
+
throw new Error('Package export targets must be relative.');
|
|
88
|
+
assertPackagePath(value.slice(2));
|
|
89
|
+
if (!folders.some((folder) => value.startsWith(`./dist_${folder}/`))) {
|
|
90
|
+
throw new Error(`Export target is outside this package's compiled folders: ${value}`);
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
for (const child of Object.values(record(value, 'export conditions')))
|
|
95
|
+
validateExport(child, folders);
|
|
96
|
+
};
|
|
97
|
+
export const createPackagePlan = async (directory, discovered) => {
|
|
98
|
+
const root = record(JSON.parse(await plugins.fs.readFile(plugins.path.join(directory, 'package.json'), 'utf8')), 'root manifest');
|
|
99
|
+
if (typeof root.version !== 'string' || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(root.version)) {
|
|
100
|
+
throw new Error('The repository requires a concrete package version.');
|
|
101
|
+
}
|
|
102
|
+
const ordered = orderPublishModules(discovered);
|
|
103
|
+
const names = new Set(Object.values(ordered).map((config) => config.name).filter(Boolean));
|
|
104
|
+
const owners = new Set();
|
|
105
|
+
const rootDependencies = record(root.dependencies ?? {}, 'root dependencies');
|
|
106
|
+
const version = root.version;
|
|
107
|
+
let licenseFile = 'license.md';
|
|
108
|
+
try {
|
|
109
|
+
await plugins.fs.access(plugins.path.join(directory, licenseFile));
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (error.code !== 'ENOENT')
|
|
113
|
+
throw error;
|
|
114
|
+
licenseFile = 'license';
|
|
115
|
+
await plugins.fs.access(plugins.path.join(directory, licenseFile));
|
|
116
|
+
}
|
|
117
|
+
const modules = [];
|
|
118
|
+
for (const [folder, config] of Object.entries(ordered)) {
|
|
119
|
+
if (!config.name)
|
|
120
|
+
continue; // tsbuild also consumes order-only descriptors.
|
|
121
|
+
const folders = [folder, ...(config.folders ?? [])];
|
|
122
|
+
if (folders.some((name) => !folderPattern.test(name) || owners.has(name)) || new Set(folders).size !== folders.length) {
|
|
123
|
+
throw new Error(`Invalid or multiply owned source folder for ${config.name}.`);
|
|
124
|
+
}
|
|
125
|
+
folders.forEach((name) => owners.add(name));
|
|
126
|
+
const resolveDependencies = (value, label) => Object.fromEntries(dependencyNames(value, label).map((name) => [name, names.has(name)
|
|
127
|
+
? version : assertVersionReference(rootDependencies[name], name)]));
|
|
128
|
+
const dependencies = resolveDependencies(config.dependencies ?? [], `${config.name} dependencies`);
|
|
129
|
+
const optionalDependencies = config.optionalDependencies
|
|
130
|
+
? resolveDependencies(config.optionalDependencies, `${config.name} optional dependencies`) : undefined;
|
|
131
|
+
for (const [name, range] of Object.entries(stringRecord(config.peerDependencies ?? {}, 'peer dependencies'))) {
|
|
132
|
+
if (!packageNamePattern.test(name))
|
|
133
|
+
throw new Error(`Invalid peer dependency: ${name}`);
|
|
134
|
+
assertVersionReference(range, name);
|
|
135
|
+
}
|
|
136
|
+
for (const [name, metadataValue] of Object.entries(record(config.peerDependenciesMeta ?? {}, 'peer metadata'))) {
|
|
137
|
+
const metadata = record(metadataValue, 'peer metadata');
|
|
138
|
+
if (!(name in (config.peerDependencies ?? {})) || Object.keys(record(metadata, 'peer metadata')).some((key) => key !== 'optional')
|
|
139
|
+
|| (metadata.optional !== undefined && typeof metadata.optional !== 'boolean'))
|
|
140
|
+
throw new Error(`Invalid peer metadata for ${name}.`);
|
|
141
|
+
}
|
|
142
|
+
const exports = record(config.exports ?? { '.': { types: `./dist_${folder}/index.d.ts`, import: `./dist_${folder}/index.js` } }, 'package exports');
|
|
143
|
+
for (const [key, target] of Object.entries(exports)) {
|
|
144
|
+
if (key !== '.' && !key.startsWith('./'))
|
|
145
|
+
throw new Error(`Invalid package export: ${key}`);
|
|
146
|
+
if (key !== '.')
|
|
147
|
+
assertPackagePath(key.slice(2));
|
|
148
|
+
validateExport(target, folders);
|
|
149
|
+
}
|
|
150
|
+
if (!exports['.'])
|
|
151
|
+
throw new Error(`${config.name} requires a root export.`);
|
|
152
|
+
const include = config.include ?? [];
|
|
153
|
+
const externalRuntimeAssets = config.externalRuntimeAssets === undefined ? [] : config.externalRuntimeAssets;
|
|
154
|
+
for (const paths of [include, externalRuntimeAssets]) {
|
|
155
|
+
if (!Array.isArray(paths) || new Set(paths).size !== paths.length)
|
|
156
|
+
throw new Error('Invalid package asset paths.');
|
|
157
|
+
paths.forEach(assertPackagePath);
|
|
158
|
+
}
|
|
159
|
+
const assets = [...include, ...externalRuntimeAssets];
|
|
160
|
+
if (assets.some((path) => ['package.json', 'readme.md', 'cli.js', 'node_modules', '.git'].includes(path.split('/')[0])
|
|
161
|
+
|| folderPattern.test(path.split('/')[0]) || /^dist_ts(?:_[a-z0-9_]+)?$/.test(path.split('/')[0])
|
|
162
|
+
|| folders.some((folder) => path === folder || path.startsWith(`${folder}/`) || path === `dist_${folder}` || path.startsWith(`dist_${folder}/`)))) {
|
|
163
|
+
throw new Error('Explicit includes cannot replace generated package files or source folders.');
|
|
164
|
+
}
|
|
165
|
+
if (assets.some((path, index) => assets.some((other, otherIndex) => index !== otherIndex
|
|
166
|
+
&& (path === other || path.startsWith(`${other}/`))))) {
|
|
167
|
+
throw new Error('Package asset declarations cannot overlap.');
|
|
168
|
+
}
|
|
169
|
+
const bin = config.bin ?? [];
|
|
170
|
+
if (!Array.isArray(bin) || bin.some((name) => typeof name !== 'string' || !/^[a-z0-9][a-z0-9._-]*$/.test(name)))
|
|
171
|
+
throw new Error('Invalid package binaries.');
|
|
172
|
+
const metadata = Object.fromEntries(['author', 'license', 'repository', 'homepage', 'bugs', 'keywords', 'funding'].filter((key) => root[key] !== undefined).map((key) => [key, root[key]]));
|
|
173
|
+
const description = config.description ?? root.description ?? '';
|
|
174
|
+
if (typeof description !== 'string')
|
|
175
|
+
throw new Error('Invalid package description.');
|
|
176
|
+
const engines = config.engines ?? root.engines;
|
|
177
|
+
if (engines !== undefined)
|
|
178
|
+
stringRecord(engines, 'package engines');
|
|
179
|
+
if (config.sideEffects !== undefined && typeof config.sideEffects !== 'boolean'
|
|
180
|
+
&& (!Array.isArray(config.sideEffects) || config.sideEffects.some((value) => typeof value !== 'string' || !value.trim()))) {
|
|
181
|
+
throw new Error('Invalid sideEffects metadata.');
|
|
182
|
+
}
|
|
183
|
+
const platforms = Object.fromEntries(['os', 'cpu', 'libc'].filter((key) => config[key] !== undefined)
|
|
184
|
+
.map((key) => [key, platformSelectors(config[key], key)]));
|
|
185
|
+
let publishConfig;
|
|
186
|
+
if (config.publishConfig !== undefined) {
|
|
187
|
+
const metadata = record(config.publishConfig, 'publishConfig');
|
|
188
|
+
if (Object.keys(metadata).some((key) => key !== 'executableFiles')) {
|
|
189
|
+
throw new Error('Only executableFiles is supported in publishConfig.');
|
|
190
|
+
}
|
|
191
|
+
publishConfig = {};
|
|
192
|
+
if (metadata.executableFiles !== undefined) {
|
|
193
|
+
const paths = metadata.executableFiles;
|
|
194
|
+
if (!Array.isArray(paths) || new Set(paths).size !== paths.length)
|
|
195
|
+
throw new Error('Invalid executableFiles.');
|
|
196
|
+
paths.forEach(assertPackagePath);
|
|
197
|
+
publishConfig.executableFiles = [...paths];
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const main = legacyEntry(exports['.'], 'main');
|
|
201
|
+
const types = legacyEntry(exports['.'], 'types');
|
|
202
|
+
const manifest = {
|
|
203
|
+
...metadata, name: config.name, version, type: 'module', description,
|
|
204
|
+
...(main ? { main } : {}), ...(types ? { types } : {}), exports, dependencies,
|
|
205
|
+
...(optionalDependencies ? { optionalDependencies } : {}),
|
|
206
|
+
...(config.peerDependencies ? { peerDependencies: config.peerDependencies } : {}),
|
|
207
|
+
...(config.peerDependenciesMeta ? { peerDependenciesMeta: config.peerDependenciesMeta } : {}),
|
|
208
|
+
...(engines !== undefined ? { engines: engines } : {}),
|
|
209
|
+
...platforms,
|
|
210
|
+
...(publishConfig !== undefined ? { publishConfig } : {}),
|
|
211
|
+
...(config.sideEffects !== undefined ? { sideEffects: config.sideEffects } : {}),
|
|
212
|
+
...(bin.length ? { bin: Object.fromEntries(bin.map((name) => [name, './cli.js'])) } : {}),
|
|
213
|
+
files: [...folders.flatMap((name) => [name, `dist_${name}`]), ...assets, 'readme.md', licenseFile, ...(bin.length ? ['cli.js'] : [])],
|
|
214
|
+
};
|
|
215
|
+
if (config.registries !== undefined && (!Array.isArray(config.registries) || config.registries.some((registry) => typeof registry !== 'string' || !registry.trim() || registry !== registry.trim() || /[\x00-\x1f\x7f]/.test(registry)))) {
|
|
216
|
+
throw new Error(`Invalid registry declarations for ${config.name}.`);
|
|
217
|
+
}
|
|
218
|
+
modules.push({ folder, folders, name: config.name, version, order: modules.length, manifest, include,
|
|
219
|
+
...(externalRuntimeAssets.length ? { externalRuntimeAssets } : {}), licenseFile, registries: config.registries ?? [] });
|
|
220
|
+
}
|
|
221
|
+
if (!modules.length)
|
|
222
|
+
throw new Error('No named tspublish modules were found.');
|
|
223
|
+
return { schemaVersion: 1, version, modules };
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLnBhY2thZ2VwbGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZnVuY3Rpb25zLnBhY2thZ2VwbGFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBR3hDLE1BQU0sa0JBQWtCLEdBQUcsb0RBQW9ELENBQUM7QUFDaEYsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFhLEVBQVEsRUFBRTtJQUN2RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztXQUMxRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO1dBQ3ZFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBMkIsRUFBRTtJQUN4RSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3RHLE9BQU8sS0FBZ0MsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFRixNQUFN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
|
package/dist_ts/index.d.ts
CHANGED
package/dist_ts/index.js
CHANGED
|
@@ -5,6 +5,18 @@ export * from './classes.tspublish.js';
|
|
|
5
5
|
export const runCli = async () => {
|
|
6
6
|
logStart('tspublish');
|
|
7
7
|
const tspublish = new TsPublish();
|
|
8
|
-
|
|
8
|
+
const args = process.argv.slice(2);
|
|
9
|
+
if (args[0] === 'plan' && args.length === 1) {
|
|
10
|
+
console.log(JSON.stringify(await tspublish.plan(paths.cwd), null, 2));
|
|
11
|
+
}
|
|
12
|
+
else if (args[0] === 'prepare' && args.length === 2) {
|
|
13
|
+
console.log(JSON.stringify(await tspublish.prepare(paths.cwd, args[1]), null, 2));
|
|
14
|
+
}
|
|
15
|
+
else if (args.length === 0) {
|
|
16
|
+
await tspublish.publish(paths.cwd);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Error('Usage: tspublish [plan | prepare <new-output-directory>]');
|
|
20
|
+
}
|
|
9
21
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4QyxjQUFjLHdCQUF3QixDQUFDO0FBR3ZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7U0FBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQyxDQUFDIn0=
|
|
@@ -10,4 +10,77 @@ export interface ITsPublishJson {
|
|
|
10
10
|
* allows the sepcification of bin names that invoke cli scripts
|
|
11
11
|
*/
|
|
12
12
|
bin: string[];
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Additional source folders owned by this package, for example subpath exports. */
|
|
15
|
+
folders?: string[];
|
|
16
|
+
exports?: Record<string, TTsPublishExport>;
|
|
17
|
+
peerDependencies?: Record<string, string>;
|
|
18
|
+
peerDependenciesMeta?: Record<string, {
|
|
19
|
+
optional?: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
optionalDependencies?: string[];
|
|
22
|
+
engines?: Record<string, string>;
|
|
23
|
+
/** npm platform selectors, including !-prefixed exclusions. */
|
|
24
|
+
os?: string[];
|
|
25
|
+
cpu?: string[];
|
|
26
|
+
libc?: string[];
|
|
27
|
+
/** Only executable-file metadata is delegated to the package manager. */
|
|
28
|
+
publishConfig?: {
|
|
29
|
+
executableFiles?: string[];
|
|
30
|
+
};
|
|
31
|
+
sideEffects?: boolean | string[];
|
|
32
|
+
/** Explicit repository-relative asset files/directories to include unchanged. */
|
|
33
|
+
include?: string[];
|
|
34
|
+
/** Assets executed by a separate runtime; its owner validates their imports. */
|
|
35
|
+
externalRuntimeAssets?: string[];
|
|
36
|
+
}
|
|
37
|
+
export type TTsPublishExport = string | null | {
|
|
38
|
+
[condition: string]: TTsPublishExport;
|
|
39
|
+
};
|
|
40
|
+
export interface ITsPublishManifest {
|
|
41
|
+
name: string;
|
|
42
|
+
version: string;
|
|
43
|
+
type: 'module';
|
|
44
|
+
description: string;
|
|
45
|
+
main?: string;
|
|
46
|
+
types?: string;
|
|
47
|
+
exports: Record<string, TTsPublishExport>;
|
|
48
|
+
dependencies: Record<string, string>;
|
|
49
|
+
optionalDependencies?: Record<string, string>;
|
|
50
|
+
peerDependencies?: Record<string, string>;
|
|
51
|
+
peerDependenciesMeta?: Record<string, {
|
|
52
|
+
optional?: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
engines?: Record<string, string>;
|
|
55
|
+
os?: string[];
|
|
56
|
+
cpu?: string[];
|
|
57
|
+
libc?: string[];
|
|
58
|
+
publishConfig?: {
|
|
59
|
+
executableFiles?: string[];
|
|
60
|
+
};
|
|
61
|
+
sideEffects?: boolean | string[];
|
|
62
|
+
bin?: Record<string, string>;
|
|
63
|
+
files: string[];
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
export interface ITsPublishModulePlan {
|
|
67
|
+
folder: string;
|
|
68
|
+
folders: string[];
|
|
69
|
+
name: string;
|
|
70
|
+
version: string;
|
|
71
|
+
/** Position in the deterministic dependency order. */
|
|
72
|
+
order: number;
|
|
73
|
+
manifest: ITsPublishManifest;
|
|
74
|
+
include: string[];
|
|
75
|
+
externalRuntimeAssets?: string[];
|
|
76
|
+
licenseFile: string;
|
|
77
|
+
registries: string[];
|
|
78
|
+
}
|
|
79
|
+
export interface ITsPublishPlan {
|
|
80
|
+
schemaVersion: 1;
|
|
81
|
+
version: string;
|
|
82
|
+
modules: ITsPublishModulePlan[];
|
|
83
|
+
}
|
|
84
|
+
export interface ITsPublishPreparedModule extends ITsPublishModulePlan {
|
|
85
|
+
directory: string;
|
|
13
86
|
}
|
package/dist_ts/plugins.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
2
|
-
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import { isBuiltin } from 'node:module';
|
|
4
|
+
import * as typescript from 'typescript';
|
|
5
|
+
export { path, fs, isBuiltin, typescript };
|
|
3
6
|
import * as consolecolor from '@push.rocks/consolecolor';
|
|
4
7
|
import * as smartconfig from '@push.rocks/smartconfig';
|
|
5
8
|
import * as smartfile from '@push.rocks/smartfile';
|
package/dist_ts/plugins.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// node native scope
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import { isBuiltin } from 'node:module';
|
|
5
|
+
import * as typescript from 'typescript';
|
|
6
|
+
export { path, fs, isBuiltin, typescript };
|
|
4
7
|
// @push.rocks scope
|
|
5
8
|
import * as consolecolor from '@push.rocks/consolecolor';
|
|
6
9
|
import * as smartconfig from '@push.rocks/smartconfig';
|
|
@@ -16,4 +19,4 @@ import * as smartshell from '@push.rocks/smartshell';
|
|
|
16
19
|
// Create a pre-configured SmartFs instance for Node.js filesystem operations
|
|
17
20
|
const smartfs = new SmartFs(new SmartFsProviderNode());
|
|
18
21
|
export { consolecolor, smartconfig, smartfile, smartfs, smartcli, smartdelay, smartlog, smartnpm, smartpath, smartrequest, smartshell };
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFFM0Msb0JBQW9CO0FBQ3BCLE9BQU8sS0FBSyxZQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELDZFQUE2RTtBQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tspublish",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A tool to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -8,20 +8,15 @@
|
|
|
8
8
|
"type": "module",
|
|
9
9
|
"author": "Task Venture Capital GmbH",
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"scripts": {
|
|
12
|
-
"test": "(tstest test/ --verbose --logfile --timeout 30)",
|
|
13
|
-
"build": "(tsbuild --web)",
|
|
14
|
-
"buildDocs": "(tsdoc)"
|
|
15
|
-
},
|
|
16
11
|
"bin": {
|
|
17
12
|
"tspublish": "./cli.js"
|
|
18
13
|
},
|
|
19
14
|
"devDependencies": {
|
|
20
|
-
"@git.zone/tsbuild": "^4.4.
|
|
21
|
-
"@git.zone/tsbundle": "^2.
|
|
22
|
-
"@git.zone/tsrun": "^2.0.
|
|
23
|
-
"@git.zone/tstest": "
|
|
24
|
-
"@types/node": "
|
|
15
|
+
"@git.zone/tsbuild": "^4.4.2",
|
|
16
|
+
"@git.zone/tsbundle": "^2.13.0",
|
|
17
|
+
"@git.zone/tsrun": "^2.0.6",
|
|
18
|
+
"@git.zone/tstest": "6.0.0",
|
|
19
|
+
"@types/node": "26.4.1"
|
|
25
20
|
},
|
|
26
21
|
"repository": {
|
|
27
22
|
"type": "git",
|
|
@@ -44,6 +39,7 @@
|
|
|
44
39
|
"assets/**/*",
|
|
45
40
|
"cli.js",
|
|
46
41
|
".smartconfig.json",
|
|
42
|
+
"license.md",
|
|
47
43
|
"readme.md"
|
|
48
44
|
],
|
|
49
45
|
"dependencies": {
|
|
@@ -57,7 +53,8 @@
|
|
|
57
53
|
"@push.rocks/smartnpm": "^2.1.0",
|
|
58
54
|
"@push.rocks/smartpath": "^6.0.0",
|
|
59
55
|
"@push.rocks/smartrequest": "^5.0.3",
|
|
60
|
-
"@push.rocks/smartshell": "^3.3.8"
|
|
56
|
+
"@push.rocks/smartshell": "^3.3.8",
|
|
57
|
+
"typescript": "^6.0.3"
|
|
61
58
|
},
|
|
62
59
|
"keywords": [
|
|
63
60
|
"typescript",
|
|
@@ -71,5 +68,9 @@
|
|
|
71
68
|
"module-management",
|
|
72
69
|
"developer-tools"
|
|
73
70
|
],
|
|
74
|
-
"
|
|
75
|
-
|
|
71
|
+
"scripts": {
|
|
72
|
+
"test": "(tstest test/ --verbose --logfile --timeout 30)",
|
|
73
|
+
"build": "(tsbuild --web)",
|
|
74
|
+
"buildDocs": "(tsdoc)"
|
|
75
|
+
}
|
|
76
|
+
}
|