filedist 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +631 -0
- package/dist/cli/actions/check.d.ts +6 -0
- package/dist/cli/actions/check.d.ts.map +1 -0
- package/dist/cli/actions/check.js +36 -0
- package/dist/cli/actions/check.js.map +1 -0
- package/dist/cli/actions/extract.d.ts +7 -0
- package/dist/cli/actions/extract.d.ts.map +1 -0
- package/dist/cli/actions/extract.js +60 -0
- package/dist/cli/actions/extract.js.map +1 -0
- package/dist/cli/actions/init.d.ts +6 -0
- package/dist/cli/actions/init.d.ts.map +1 -0
- package/dist/cli/actions/init.js +30 -0
- package/dist/cli/actions/init.js.map +1 -0
- package/dist/cli/actions/list.d.ts +7 -0
- package/dist/cli/actions/list.d.ts.map +1 -0
- package/dist/cli/actions/list.js +30 -0
- package/dist/cli/actions/list.js.map +1 -0
- package/dist/cli/actions/presets.d.ts +7 -0
- package/dist/cli/actions/presets.d.ts.map +1 -0
- package/dist/cli/actions/presets.js +34 -0
- package/dist/cli/actions/presets.js.map +1 -0
- package/dist/cli/actions/purge.d.ts +6 -0
- package/dist/cli/actions/purge.d.ts.map +1 -0
- package/dist/cli/actions/purge.js +39 -0
- package/dist/cli/actions/purge.js.map +1 -0
- package/dist/cli/argv.d.ts +52 -0
- package/dist/cli/argv.d.ts.map +1 -0
- package/dist/cli/argv.js +172 -0
- package/dist/cli/argv.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +10 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/binpkg.d.ts +13 -0
- package/dist/cli/binpkg.d.ts.map +1 -0
- package/dist/cli/binpkg.js +38 -0
- package/dist/cli/binpkg.js.map +1 -0
- package/dist/cli/cli.d.ts +11 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +118 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/progress.d.ts +6 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +12 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/usage.d.ts +6 -0
- package/dist/cli/usage.d.ts.map +1 -0
- package/dist/cli/usage.js +151 -0
- package/dist/cli/usage.js.map +1 -0
- package/dist/fileset/check.d.ts +15 -0
- package/dist/fileset/check.d.ts.map +1 -0
- package/dist/fileset/check.js +70 -0
- package/dist/fileset/check.js.map +1 -0
- package/dist/fileset/constants.d.ts +18 -0
- package/dist/fileset/constants.d.ts.map +1 -0
- package/dist/fileset/constants.js +30 -0
- package/dist/fileset/constants.js.map +1 -0
- package/dist/fileset/diff.d.ts +16 -0
- package/dist/fileset/diff.d.ts.map +1 -0
- package/dist/fileset/diff.js +111 -0
- package/dist/fileset/diff.js.map +1 -0
- package/dist/fileset/execute.d.ts +29 -0
- package/dist/fileset/execute.d.ts.map +1 -0
- package/dist/fileset/execute.js +153 -0
- package/dist/fileset/execute.js.map +1 -0
- package/dist/fileset/gitignore.d.ts +20 -0
- package/dist/fileset/gitignore.d.ts.map +1 -0
- package/dist/fileset/gitignore.js +94 -0
- package/dist/fileset/gitignore.js.map +1 -0
- package/dist/fileset/index.d.ts +5 -0
- package/dist/fileset/index.d.ts.map +1 -0
- package/dist/fileset/index.js +22 -0
- package/dist/fileset/index.js.map +1 -0
- package/dist/fileset/markers.d.ts +22 -0
- package/dist/fileset/markers.d.ts.map +1 -0
- package/dist/fileset/markers.js +74 -0
- package/dist/fileset/markers.js.map +1 -0
- package/dist/fileset/package-files.d.ts +21 -0
- package/dist/fileset/package-files.d.ts.map +1 -0
- package/dist/fileset/package-files.js +102 -0
- package/dist/fileset/package-files.js.map +1 -0
- package/dist/fileset/purge.d.ts +18 -0
- package/dist/fileset/purge.d.ts.map +1 -0
- package/dist/fileset/purge.js +94 -0
- package/dist/fileset/purge.js.map +1 -0
- package/dist/fileset/test-utils.d.ts +21 -0
- package/dist/fileset/test-utils.d.ts.map +1 -0
- package/dist/fileset/test-utils.js +94 -0
- package/dist/fileset/test-utils.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/package/action-check.d.ts +20 -0
- package/dist/package/action-check.d.ts.map +1 -0
- package/dist/package/action-check.js +65 -0
- package/dist/package/action-check.js.map +1 -0
- package/dist/package/action-extract.d.ts +20 -0
- package/dist/package/action-extract.d.ts.map +1 -0
- package/dist/package/action-extract.js +280 -0
- package/dist/package/action-extract.js.map +1 -0
- package/dist/package/action-init.d.ts +13 -0
- package/dist/package/action-init.d.ts.map +1 -0
- package/dist/package/action-init.js +83 -0
- package/dist/package/action-init.js.map +1 -0
- package/dist/package/action-list.d.ts +11 -0
- package/dist/package/action-list.d.ts.map +1 -0
- package/dist/package/action-list.js +12 -0
- package/dist/package/action-list.js.map +1 -0
- package/dist/package/action-purge.d.ts +19 -0
- package/dist/package/action-purge.d.ts.map +1 -0
- package/dist/package/action-purge.js +135 -0
- package/dist/package/action-purge.js.map +1 -0
- package/dist/package/calculate-diff.d.ts +12 -0
- package/dist/package/calculate-diff.d.ts.map +1 -0
- package/dist/package/calculate-diff.js +129 -0
- package/dist/package/calculate-diff.js.map +1 -0
- package/dist/package/config-merge.d.ts +19 -0
- package/dist/package/config-merge.d.ts.map +1 -0
- package/dist/package/config-merge.js +65 -0
- package/dist/package/config-merge.js.map +1 -0
- package/dist/package/config.d.ts +24 -0
- package/dist/package/config.d.ts.map +1 -0
- package/dist/package/config.js +86 -0
- package/dist/package/config.js.map +1 -0
- package/dist/package/content-replacements.d.ts +21 -0
- package/dist/package/content-replacements.d.ts.map +1 -0
- package/dist/package/content-replacements.js +94 -0
- package/dist/package/content-replacements.js.map +1 -0
- package/dist/package/index.d.ts +10 -0
- package/dist/package/index.d.ts.map +1 -0
- package/dist/package/index.js +16 -0
- package/dist/package/index.js.map +1 -0
- package/dist/package/resolve-files.d.ts +29 -0
- package/dist/package/resolve-files.d.ts.map +1 -0
- package/dist/package/resolve-files.js +225 -0
- package/dist/package/resolve-files.js.map +1 -0
- package/dist/package/source.d.ts +20 -0
- package/dist/package/source.d.ts.map +1 -0
- package/dist/package/source.js +193 -0
- package/dist/package/source.js.map +1 -0
- package/dist/package/symlinks.d.ts +25 -0
- package/dist/package/symlinks.d.ts.map +1 -0
- package/dist/package/symlinks.js +203 -0
- package/dist/package/symlinks.js.map +1 -0
- package/dist/types.d.ts +345 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +60 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +341 -0
- package/dist/utils.js.map +1 -0
- package/package.json +58 -0
package/dist/utils.js
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parsePackageSpec = parsePackageSpec;
|
|
7
|
+
exports.hashFile = hashFile;
|
|
8
|
+
exports.hashBuffer = hashBuffer;
|
|
9
|
+
exports.hashFileSync = hashFileSync;
|
|
10
|
+
exports.isBinaryFile = isBinaryFile;
|
|
11
|
+
exports.getInstalledIfSatisfies = getInstalledIfSatisfies;
|
|
12
|
+
exports.installOrUpgradePackage = installOrUpgradePackage;
|
|
13
|
+
exports.getInstalledPackagePath = getInstalledPackagePath;
|
|
14
|
+
exports.ensureDir = ensureDir;
|
|
15
|
+
exports.formatDisplayPath = formatDisplayPath;
|
|
16
|
+
exports.filterEntriesByPresets = filterEntriesByPresets;
|
|
17
|
+
exports.initTempPackageJson = initTempPackageJson;
|
|
18
|
+
exports.cleanupTempPackageJson = cleanupTempPackageJson;
|
|
19
|
+
exports.spawnWithLog = spawnWithLog;
|
|
20
|
+
/* eslint-disable no-console */
|
|
21
|
+
/* eslint-disable no-undefined */
|
|
22
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
23
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
24
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
25
|
+
const node_child_process_1 = require("node:child_process");
|
|
26
|
+
const semver_1 = __importDefault(require("semver"));
|
|
27
|
+
const detect_1 = require("package-manager-detector/detect");
|
|
28
|
+
const commands_1 = require("package-manager-detector/commands");
|
|
29
|
+
const PACKAGE_MANAGER_LOCK_FILES = [
|
|
30
|
+
'package-lock.json',
|
|
31
|
+
'npm-shrinkwrap.json',
|
|
32
|
+
'pnpm-lock.yaml',
|
|
33
|
+
'yarn.lock',
|
|
34
|
+
'bun.lock',
|
|
35
|
+
'bun.lockb',
|
|
36
|
+
'deno.lock',
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Parse a package spec like "my-pkg@^1.2.3" or "@scope/pkg@2.x" into name and version.
|
|
40
|
+
* The version separator is the LAST "@" so that scoped packages ("@scope/name") are handled.
|
|
41
|
+
*/
|
|
42
|
+
function parsePackageSpec(spec) {
|
|
43
|
+
const atIdx = spec.lastIndexOf('@');
|
|
44
|
+
if (atIdx > 0) {
|
|
45
|
+
return { name: spec.slice(0, atIdx), version: spec.slice(atIdx + 1) || undefined };
|
|
46
|
+
}
|
|
47
|
+
return { name: spec, version: undefined };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Compute the SHA-256 hash of a file.
|
|
51
|
+
*/
|
|
52
|
+
async function hashFile(filePath) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
const hash = node_crypto_1.default.createHash('sha256');
|
|
55
|
+
const stream = node_fs_1.default.createReadStream(filePath);
|
|
56
|
+
stream.on('data', (data) => hash.update(data));
|
|
57
|
+
stream.on('end', () => resolve(hash.digest('hex')));
|
|
58
|
+
stream.on('error', reject);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Compute the SHA-256 hash of an in-memory buffer or string.
|
|
63
|
+
* Used to hash content that has been transformed in memory before comparison.
|
|
64
|
+
*/
|
|
65
|
+
function hashBuffer(content) {
|
|
66
|
+
return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Synchronous file hash (SHA-256).
|
|
70
|
+
*/
|
|
71
|
+
function hashFileSync(filePath) {
|
|
72
|
+
const content = node_fs_1.default.readFileSync(filePath);
|
|
73
|
+
return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Detect whether a file is binary by scanning it for null bytes.
|
|
77
|
+
* Reads up to the first 8 KB only.
|
|
78
|
+
*/
|
|
79
|
+
function isBinaryFile(filePath) {
|
|
80
|
+
try {
|
|
81
|
+
const fd = node_fs_1.default.openSync(filePath, 'r');
|
|
82
|
+
const buf = Buffer.alloc(8192);
|
|
83
|
+
const bytesRead = node_fs_1.default.readSync(fd, buf, 0, 8192, 0);
|
|
84
|
+
node_fs_1.default.closeSync(fd);
|
|
85
|
+
return buf.slice(0, bytesRead).includes(0x00);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Return the installed package path if already present and satisfies the requested version.
|
|
93
|
+
*/
|
|
94
|
+
function getInstalledIfSatisfies(name, version, workDir) {
|
|
95
|
+
const installedPath = node_path_1.default.join(workDir, 'node_modules', name, 'package.json');
|
|
96
|
+
if (!node_fs_1.default.existsSync(installedPath)) {
|
|
97
|
+
// eslint-disable-next-line unicorn/no-null
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const installedPkg = JSON.parse(node_fs_1.default.readFileSync(installedPath).toString());
|
|
101
|
+
const installedVersion = installedPkg.version ?? '';
|
|
102
|
+
if (!version || semver_1.default.satisfies(installedVersion, version)) {
|
|
103
|
+
return node_path_1.default.dirname(installedPath);
|
|
104
|
+
}
|
|
105
|
+
// eslint-disable-next-line unicorn/no-null
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Run the package-manager install/upgrade command for a given spec.
|
|
110
|
+
* Detects the package manager in use and executes the appropriate CLI command.
|
|
111
|
+
*/
|
|
112
|
+
async function runPackageManagerCommand(spec, commandType, workDir, verbose) {
|
|
113
|
+
if (verbose) {
|
|
114
|
+
console.log(`[verbose] Running package manager command for spec "${spec}" with type "${commandType}" in directory "${formatDisplayPath(workDir, workDir)}"`);
|
|
115
|
+
}
|
|
116
|
+
const detected = await (0, detect_1.detect)({ cwd: workDir });
|
|
117
|
+
const agent = detected?.agent ?? 'npm';
|
|
118
|
+
if (verbose) {
|
|
119
|
+
console.log(`[verbose] Detected package manager: ${agent}`);
|
|
120
|
+
}
|
|
121
|
+
const resolved = (0, commands_1.resolveCommand)(agent, commandType, [spec]);
|
|
122
|
+
if (!resolved) {
|
|
123
|
+
throw new Error(`Could not resolve "${commandType}" command for package manager "${agent}"`);
|
|
124
|
+
}
|
|
125
|
+
const extraArgs = [];
|
|
126
|
+
// Always install as a dev dependency
|
|
127
|
+
if (commandType === 'add') {
|
|
128
|
+
extraArgs.push(agent === 'deno' ? '-d' : '-D');
|
|
129
|
+
}
|
|
130
|
+
// pnpm in a workspace root requires --workspace-root so it doesn't refuse to install
|
|
131
|
+
if (agent === 'pnpm' && node_fs_1.default.existsSync(node_path_1.default.join(workDir, 'pnpm-workspace.yaml'))) {
|
|
132
|
+
extraArgs.push('--workspace-root');
|
|
133
|
+
}
|
|
134
|
+
spawnWithLog(resolved.command, [...resolved.args, ...extraArgs], workDir, verbose, true);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Install and/or upgrade a package using the detected package manager.
|
|
138
|
+
* Returns the installed package path under node_modules.
|
|
139
|
+
* If no package.json exists in the working directory, one is initialised automatically.
|
|
140
|
+
*/
|
|
141
|
+
async function installOrUpgradePackage(name, version, upgrade, cwd, verbose) {
|
|
142
|
+
const workDir = cwd ?? process.cwd();
|
|
143
|
+
if (verbose) {
|
|
144
|
+
console.log(`[verbose] installing/upgrading package="${name}", version="${version}", upgrade=${upgrade}, cwd="${formatDisplayPath(workDir, workDir)}"`);
|
|
145
|
+
}
|
|
146
|
+
const spec = version ? `${name}@${version}` : `${name}@latest`;
|
|
147
|
+
// Check if already installed with a satisfying version (skip install if not upgrading)
|
|
148
|
+
if (!upgrade) {
|
|
149
|
+
const cached = getInstalledIfSatisfies(name, version, workDir);
|
|
150
|
+
if (cached) {
|
|
151
|
+
if (verbose) {
|
|
152
|
+
console.log(`[verbose] installed package is already up to date`);
|
|
153
|
+
}
|
|
154
|
+
return cached;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Ensure a package.json exists so the package manager can operate
|
|
158
|
+
// this happens when filedist is used as npx without a package.json in the current directory, for example
|
|
159
|
+
const pkgJsonPath = node_path_1.default.join(workDir, 'package.json');
|
|
160
|
+
if (!node_fs_1.default.existsSync(pkgJsonPath)) {
|
|
161
|
+
if (verbose) {
|
|
162
|
+
console.log(`[verbose] No package.json found in ${formatDisplayPath(workDir, workDir)}, initializing one`);
|
|
163
|
+
}
|
|
164
|
+
initTempPackageJson(workDir, verbose);
|
|
165
|
+
// reinstall itself to ensure it's present in node_modules for later use (e.g. to access its own package.json)
|
|
166
|
+
// this might happen if using npx, for example, which runs the package without installing it in the local node_modules
|
|
167
|
+
const selfPkgJsonPath = node_path_1.default.join(__dirname, '..', 'package.json');
|
|
168
|
+
const selfPkg = JSON.parse(node_fs_1.default.readFileSync(selfPkgJsonPath).toString());
|
|
169
|
+
const selfSpec = `${selfPkg.name}@${selfPkg.version}`;
|
|
170
|
+
if (verbose) {
|
|
171
|
+
console.log(`[verbose] reinstalling self (${selfSpec}) in dir ${formatDisplayPath(workDir, workDir)} to ensure it's upgraded`);
|
|
172
|
+
}
|
|
173
|
+
await runPackageManagerCommand(selfSpec, 'add', workDir, verbose);
|
|
174
|
+
}
|
|
175
|
+
// install or upgrade the requested package
|
|
176
|
+
// make sure it's in package.json dependencies (needed before "upgrade")
|
|
177
|
+
await runPackageManagerCommand(spec, 'add', workDir, verbose);
|
|
178
|
+
if (upgrade) {
|
|
179
|
+
await runPackageManagerCommand(spec, 'upgrade', workDir, verbose);
|
|
180
|
+
}
|
|
181
|
+
let pkgPath = node_path_1.default.join(workDir, 'node_modules', name);
|
|
182
|
+
if (!node_fs_1.default.existsSync(pkgPath)) {
|
|
183
|
+
// Fall back to Node.js module resolution, which handles pnpm workspaces where the
|
|
184
|
+
// package may be installed in the workspace root's node_modules rather than locally.
|
|
185
|
+
if (verbose) {
|
|
186
|
+
console.warn(`[verbose] ${formatDisplayPath(pkgPath, workDir)} not found, trying require.resolve fallback`);
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
const resolved = require.resolve(`${name}/package.json`, { paths: [workDir] });
|
|
190
|
+
pkgPath = node_path_1.default.dirname(resolved);
|
|
191
|
+
if (verbose) {
|
|
192
|
+
console.log(`[verbose] resolved ${name} via require.resolve to ${formatDisplayPath(pkgPath, workDir)}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
throw new Error(`Package "${name}" was not found at "${node_path_1.default.join(workDir, 'node_modules', name)}" after installation. ` +
|
|
197
|
+
`Ensure you are running from a directory that has a package.json file.`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return pkgPath;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Return the installed package path under cwd/node_modules, or null if not installed.
|
|
204
|
+
*/
|
|
205
|
+
function getInstalledPackagePath(name, cwd) {
|
|
206
|
+
const workDir = cwd ?? process.cwd();
|
|
207
|
+
const pkgJsonPath = node_path_1.default.join(workDir, 'node_modules', name, 'package.json');
|
|
208
|
+
if (node_fs_1.default.existsSync(pkgJsonPath)) {
|
|
209
|
+
return node_path_1.default.dirname(pkgJsonPath);
|
|
210
|
+
}
|
|
211
|
+
// eslint-disable-next-line unicorn/no-null
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Ensure a directory exists, creating it recursively if needed.
|
|
216
|
+
*/
|
|
217
|
+
function ensureDir(dir) {
|
|
218
|
+
if (!node_fs_1.default.existsSync(dir)) {
|
|
219
|
+
node_fs_1.default.mkdirSync(dir, { recursive: true });
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Format a path for logs relative to the current working directory used by the action.
|
|
224
|
+
*/
|
|
225
|
+
function formatDisplayPath(targetPath, cwd) {
|
|
226
|
+
const baseDir = node_path_1.default.resolve(cwd ?? process.cwd());
|
|
227
|
+
const resolvedTarget = node_path_1.default.isAbsolute(targetPath)
|
|
228
|
+
? node_path_1.default.normalize(targetPath)
|
|
229
|
+
: node_path_1.default.resolve(baseDir, targetPath);
|
|
230
|
+
const relativePath = node_path_1.default.relative(baseDir, resolvedTarget);
|
|
231
|
+
return relativePath.length === 0 ? '.' : relativePath;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Filter entries by requested presets.
|
|
235
|
+
* When no presets are requested, all entries pass through.
|
|
236
|
+
*/
|
|
237
|
+
function filterEntriesByPresets(entries, presets) {
|
|
238
|
+
if (!presets || presets.length === 0)
|
|
239
|
+
return entries;
|
|
240
|
+
return entries.filter((entry) => {
|
|
241
|
+
// entry.presets tags the set for consumer-side --presets filtering;
|
|
242
|
+
// entry.selector.presets is forwarded to the target package's own nested sets filtering.
|
|
243
|
+
// Both are valid selectors so that ad-hoc --packages + --presets CLI usage also works.
|
|
244
|
+
const entryPresets = new Set([...(entry.presets ?? []), ...(entry.selector?.presets ?? [])]);
|
|
245
|
+
return presets.some((p) => entryPresets.has(p));
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Initialise a minimal package.json and ensure node_modules is listed in .gitignore
|
|
250
|
+
* for the given working directory.
|
|
251
|
+
*/
|
|
252
|
+
function initTempPackageJson(workDir, verbose) {
|
|
253
|
+
const pkgJsonPath = node_path_1.default.join(workDir, 'package.json');
|
|
254
|
+
if (verbose) {
|
|
255
|
+
console.log(`[verbose] extract: creating temporary package.json at ${formatDisplayPath(pkgJsonPath, workDir)} for this extraction`);
|
|
256
|
+
}
|
|
257
|
+
node_fs_1.default.writeFileSync(pkgJsonPath, JSON.stringify({ name: 'filedist-tmp', version: '99.99.99', private: true }, undefined, 2));
|
|
258
|
+
// Ensure node_modules is ignored in .gitignore
|
|
259
|
+
const gitignorePath = node_path_1.default.join(workDir, '.gitignore');
|
|
260
|
+
const gitignoreEntry = 'node_modules';
|
|
261
|
+
if (node_fs_1.default.existsSync(gitignorePath)) {
|
|
262
|
+
const existing = node_fs_1.default.readFileSync(gitignorePath, 'utf8');
|
|
263
|
+
const lines = existing.split('\n').map((l) => l.trim());
|
|
264
|
+
if (!lines.includes(gitignoreEntry)) {
|
|
265
|
+
node_fs_1.default.appendFileSync(gitignorePath, `\n${gitignoreEntry}\n`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
node_fs_1.default.writeFileSync(gitignorePath, `${gitignoreEntry}\n`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
function cleanupTempPackageJson(cwd, verbose) {
|
|
273
|
+
const tempPkgJsonPath = node_path_1.default.join(cwd, 'package.json');
|
|
274
|
+
if (!node_fs_1.default.existsSync(tempPkgJsonPath))
|
|
275
|
+
return;
|
|
276
|
+
// verify if this package.json was created by us (filedist) by checking its name and version
|
|
277
|
+
const tempPkgJsonContent = JSON.parse(node_fs_1.default.readFileSync(tempPkgJsonPath).toString());
|
|
278
|
+
if (tempPkgJsonContent.name !== 'filedist-tmp' || tempPkgJsonContent.version !== '99.99.99')
|
|
279
|
+
return;
|
|
280
|
+
if (verbose) {
|
|
281
|
+
console.log(`[verbose] extract: removing temporary package.json and node_modules at ${formatDisplayPath(tempPkgJsonPath, cwd)} created for this extraction`);
|
|
282
|
+
}
|
|
283
|
+
// remove package.json
|
|
284
|
+
node_fs_1.default.unlinkSync(tempPkgJsonPath);
|
|
285
|
+
// remove node_modules
|
|
286
|
+
const tempNodeModulesPath = node_path_1.default.join(cwd, 'node_modules');
|
|
287
|
+
if (node_fs_1.default.existsSync(tempNodeModulesPath)) {
|
|
288
|
+
node_fs_1.default.rmSync(tempNodeModulesPath, { recursive: true, force: true });
|
|
289
|
+
}
|
|
290
|
+
for (const lockFileName of PACKAGE_MANAGER_LOCK_FILES) {
|
|
291
|
+
const lockFilePath = node_path_1.default.join(cwd, lockFileName);
|
|
292
|
+
if (node_fs_1.default.existsSync(lockFilePath)) {
|
|
293
|
+
node_fs_1.default.rmSync(lockFilePath, { force: true });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// cleanup .gitignore if it only contains node_modules (optional, can be left as is)
|
|
297
|
+
const gitignorePath = node_path_1.default.join(cwd, '.gitignore');
|
|
298
|
+
if (node_fs_1.default.existsSync(gitignorePath)) {
|
|
299
|
+
const existing = node_fs_1.default.readFileSync(gitignorePath, 'utf8');
|
|
300
|
+
const lines = existing.split('\n').map((l) => l.trim());
|
|
301
|
+
if (lines.length === 1 && lines[0] === 'node_modules') {
|
|
302
|
+
if (verbose) {
|
|
303
|
+
console.log(`[verbose] Removing .gitignore entries`);
|
|
304
|
+
}
|
|
305
|
+
node_fs_1.default.unlinkSync(gitignorePath);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
function spawnWithLog(command, args, workDir, verbose, failOnError) {
|
|
310
|
+
const scriptCmd = `${command} ${args.join(' ')}`;
|
|
311
|
+
if (verbose) {
|
|
312
|
+
console.log(`[verbose] Running command: ${scriptCmd} in ${formatDisplayPath(workDir, workDir)}`);
|
|
313
|
+
}
|
|
314
|
+
const result = (0, node_child_process_1.spawnSync)(scriptCmd, undefined, {
|
|
315
|
+
cwd: workDir,
|
|
316
|
+
shell: true,
|
|
317
|
+
stdio: 'pipe',
|
|
318
|
+
encoding: 'utf8',
|
|
319
|
+
});
|
|
320
|
+
if (verbose || result.status !== 0) {
|
|
321
|
+
if (result.stdout.toString().length > 0) {
|
|
322
|
+
console.log(result.stdout.toString());
|
|
323
|
+
}
|
|
324
|
+
if (result.stderr.toString().length > 0) {
|
|
325
|
+
console.error(result.stderr.toString());
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
if (result.error) {
|
|
329
|
+
if (verbose) {
|
|
330
|
+
console.error(`[verbose] Error: ${result.error.message}`);
|
|
331
|
+
}
|
|
332
|
+
if (failOnError) {
|
|
333
|
+
throw result.error;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (result.status !== 0 && failOnError) {
|
|
337
|
+
throw new Error(`Command "${scriptCmd}" failed with exit code ${result.status}`);
|
|
338
|
+
}
|
|
339
|
+
return result;
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "filedist",
|
|
3
|
+
"version": "0.21.2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": "dist/cli/bin.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/**/*.js",
|
|
10
|
+
"dist/**/*.ts",
|
|
11
|
+
"dist/**/*.map",
|
|
12
|
+
"package.json",
|
|
13
|
+
"README.md",
|
|
14
|
+
"bin/filedist.js"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/flaviostutz/filedist.git"
|
|
20
|
+
},
|
|
21
|
+
"author": "flaviostutz",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/flaviostutz/filedist/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/flaviostutz/filedist#readme",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@babel/preset-typescript": "^7.21.0",
|
|
29
|
+
"@jest/globals": "^30.3.0",
|
|
30
|
+
"@stutzlab/eslint-config": "^4.2.1",
|
|
31
|
+
"@tsconfig/node20": "^20.1.4",
|
|
32
|
+
"@types/archiver": "^6.0.2",
|
|
33
|
+
"@types/jest": "^29.4.0",
|
|
34
|
+
"@types/node": "^20.14.8",
|
|
35
|
+
"@types/semver": "^7.7.1",
|
|
36
|
+
"archiver": "^6.0.2",
|
|
37
|
+
"esbuild": "^0.25.9",
|
|
38
|
+
"esbuild-jest": "^0.5.0",
|
|
39
|
+
"eslint": "^9.39.4",
|
|
40
|
+
"jest": "^29.4.2",
|
|
41
|
+
"typescript": "^5.5.4"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"cosmiconfig": "^9.0.1",
|
|
45
|
+
"ignore": "^7.0.5",
|
|
46
|
+
"minimatch": "^10.2.2",
|
|
47
|
+
"mypkg": "^1.0.0",
|
|
48
|
+
"package-manager-detector": "^1.6.0",
|
|
49
|
+
"semver": "^7.7.4"
|
|
50
|
+
},
|
|
51
|
+
"pnpm": {
|
|
52
|
+
"overrides": {
|
|
53
|
+
"braces@<3.0.3": ">=3.0.3",
|
|
54
|
+
"rollup@<3.29.5": ">=3.29.5",
|
|
55
|
+
"eslint-plugin-import>minimatch": "^3.1.2"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|