npmdata 0.18.15 → 0.20.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/README.md +83 -46
- package/dist/cli/argv.d.ts +4 -1
- package/dist/cli/argv.d.ts.map +1 -1
- package/dist/cli/argv.js +13 -0
- package/dist/cli/argv.js.map +1 -1
- package/dist/cli/usage.d.ts.map +1 -1
- package/dist/cli/usage.js +4 -0
- package/dist/cli/usage.js.map +1 -1
- package/dist/fileset/constants.d.ts.map +1 -1
- package/dist/fileset/constants.js +3 -0
- package/dist/fileset/constants.js.map +1 -1
- package/dist/fileset/markers.d.ts.map +1 -1
- package/dist/fileset/markers.js +7 -1
- package/dist/fileset/markers.js.map +1 -1
- package/dist/fileset/test-utils.d.ts +9 -0
- package/dist/fileset/test-utils.d.ts.map +1 -1
- package/dist/fileset/test-utils.js +32 -1
- package/dist/fileset/test-utils.js.map +1 -1
- package/dist/package/action-check.d.ts.map +1 -1
- package/dist/package/action-check.js +8 -1
- package/dist/package/action-check.js.map +1 -1
- package/dist/package/action-extract.d.ts.map +1 -1
- package/dist/package/action-extract.js +56 -47
- package/dist/package/action-extract.js.map +1 -1
- package/dist/package/action-purge.d.ts.map +1 -1
- package/dist/package/action-purge.js +4 -0
- package/dist/package/action-purge.js.map +1 -1
- package/dist/package/config-merge.d.ts +1 -1
- package/dist/package/config-merge.d.ts.map +1 -1
- package/dist/package/config-merge.js +2 -1
- package/dist/package/config-merge.js.map +1 -1
- package/dist/package/config.d.ts +4 -0
- package/dist/package/config.d.ts.map +1 -1
- package/dist/package/config.js +36 -0
- package/dist/package/config.js.map +1 -1
- package/dist/package/resolve-files.d.ts +3 -0
- package/dist/package/resolve-files.d.ts.map +1 -1
- package/dist/package/resolve-files.js +35 -34
- package/dist/package/resolve-files.js.map +1 -1
- 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 +12 -4
- package/dist/package/symlinks.d.ts.map +1 -1
- package/dist/package/symlinks.js +87 -17
- package/dist/package/symlinks.js.map +1 -1
- package/dist/types.d.ts +17 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# npmdata
|
|
2
2
|
|
|
3
|
-
Publish folders as npm packages and extract them in any workspace. Use it to distribute shared assets — ML datasets, documentation, ADRs, configuration files — across multiple projects through any npm-compatible registry.
|
|
3
|
+
Publish folders as npm packages or git repositories and extract them in any workspace. Use it to distribute shared assets — ML datasets, documentation, ADRs, configuration files — across multiple projects through any npm-compatible registry or directly from git.
|
|
4
4
|
|
|
5
5
|
## How it works
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ Publish folders as npm packages and extract them in any workspace. Use it to dis
|
|
|
9
9
|
|
|
10
10
|
## Extraction patterns
|
|
11
11
|
|
|
12
|
-
There are
|
|
12
|
+
There are three ways to extract data with `npmdata`. Choose the one that fits your situation:
|
|
13
13
|
|
|
14
14
|
### Pattern 1 — Ad-hoc CLI extraction
|
|
15
15
|
|
|
@@ -17,8 +17,13 @@ Use `npx npmdata extract` directly from the command line whenever you need to pu
|
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
19
|
npx npmdata extract --packages my-shared-assets@^2.0.0 --output ./data
|
|
20
|
+
|
|
21
|
+
# or use a git repository as the source (auto-detected from the URL-like spec)
|
|
22
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs
|
|
20
23
|
```
|
|
21
24
|
|
|
25
|
+
Git sources are detected automatically when `package` uses a URL-like git spec (`https://`, `ssh://`, `git://`, `file://`, or `git@...`). Set `source: "git"` only when you want to force git resolution explicitly.
|
|
26
|
+
|
|
22
27
|
### Pattern 2 — Data packages with embedded configuration
|
|
23
28
|
|
|
24
29
|
Create a dedicated npm package whose `package.json` declares an `npmdata` config block. That config encodes the extraction sources, output directories, filtering rules, and any combination of upstream packages. Consumers install the data package and run its bundled script — they don't need to know the internals.
|
|
@@ -40,6 +45,11 @@ Create a dedicated npm package whose `package.json` declares an `npmdata` config
|
|
|
40
45
|
"package": "org-configs@^1.2.0",
|
|
41
46
|
"selector": { "contentRegexes": ["env: production"] },
|
|
42
47
|
"output": { "path": "./configs" }
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"package": "https://github.com/flaviostutz/xdrs-core@1.3.0",
|
|
51
|
+
"selector": { "files": ["docs/**"] },
|
|
52
|
+
"output": { "path": "./xdrs" }
|
|
43
53
|
}
|
|
44
54
|
]
|
|
45
55
|
}
|
|
@@ -73,6 +83,11 @@ Add an `npmdata` configuration directly to a project's own `package.json` (or a
|
|
|
73
83
|
"package": "base-datasets@^3.0.0",
|
|
74
84
|
"selector": { "files": ["datasets/**"] },
|
|
75
85
|
"output": { "path": "./data" }
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"package": "https://github.com/flaviostutz/xdrs-core@1.3.0",
|
|
89
|
+
"selector": { "files": ["docs/**"] },
|
|
90
|
+
"output": { "path": "./xdrs" }
|
|
76
91
|
}
|
|
77
92
|
]
|
|
78
93
|
}
|
|
@@ -88,6 +103,11 @@ Or write a standalone `.npmdatarc` (JSON object at the top level):
|
|
|
88
103
|
"package": "base-datasets@^3.0.0",
|
|
89
104
|
"selector": { "files": ["datasets/**"] },
|
|
90
105
|
"output": { "path": "./data" }
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"package": "file:///absolute/path/to/local-repo@v2.0.0",
|
|
109
|
+
"selector": { "files": ["conf/**"] },
|
|
110
|
+
"output": { "path": "./local-conf" }
|
|
91
111
|
}
|
|
92
112
|
]
|
|
93
113
|
}
|
|
@@ -114,6 +134,8 @@ Config is resolved using [cosmiconfig](https://github.com/cosmiconfig/cosmiconfi
|
|
|
114
134
|
|
|
115
135
|
All runner flags (`--dry-run`, `--silent`, `--verbose`, `--gitignore=false`, `--managed=false`, `--presets`, `--output`) work as usual.
|
|
116
136
|
|
|
137
|
+
Config-file mode can mix npm packages and git repositories in the same `sets` array. Git entries can omit `source` when the package spec is URL-like; npmdata auto-detects them as git.
|
|
138
|
+
|
|
117
139
|
**When to use:** When a consuming project wants to pin and automate a set of data extractions locally without publishing a separate data package. This is the lightest-weight approach — no extra package, no `init` step, just a config block and a single CLI call.
|
|
118
140
|
|
|
119
141
|
---
|
|
@@ -131,8 +153,8 @@ pnpm dlx npmdata init --files "docs/**,data/**,configs/**"
|
|
|
131
153
|
# also bundle an additional package so consumers get data from both sources
|
|
132
154
|
pnpm dlx npmdata init --files "docs/**" --packages shared-configs@^1.0.0
|
|
133
155
|
|
|
134
|
-
# share multiple
|
|
135
|
-
pnpm dlx npmdata init --files "docs/**" --packages "shared-configs@^1.0.0,
|
|
156
|
+
# share multiple upstream sources, including git
|
|
157
|
+
pnpm dlx npmdata init --files "docs/**" --packages "shared-configs@^1.0.0,https://github.com/flaviostutz/xdrs-core@1.3.0"
|
|
136
158
|
|
|
137
159
|
```
|
|
138
160
|
|
|
@@ -145,37 +167,29 @@ npm publish
|
|
|
145
167
|
### 2. Extract files in a consumer project
|
|
146
168
|
|
|
147
169
|
```sh
|
|
148
|
-
#
|
|
170
|
+
# npm package examples
|
|
149
171
|
npx npmdata extract --packages my-shared-assets --output ./data
|
|
150
|
-
|
|
151
|
-
# extract from a specific version
|
|
152
172
|
npx npmdata extract --packages my-shared-assets@^2.0.0 --output ./data
|
|
153
|
-
|
|
154
|
-
# extract from multiple packages at once
|
|
155
173
|
npx npmdata extract --packages "my-shared-assets@^2.0.0,another-pkg@1.x" --output ./data
|
|
156
|
-
|
|
157
|
-
# extract only markdown files
|
|
158
174
|
npx npmdata extract --packages my-shared-assets --files "**/*.md" --output ./docs
|
|
159
|
-
|
|
160
|
-
# extract only files whose content matches a regex
|
|
161
175
|
npx npmdata extract --packages my-shared-assets --content-regex "env: production" --output ./configs
|
|
162
|
-
|
|
163
|
-
# overwrite files that are not managed or owned by a different package;
|
|
164
|
-
# the new package takes ownership in the marker file
|
|
165
176
|
npx npmdata extract --packages my-shared-assets --output ./data --force
|
|
166
|
-
|
|
167
|
-
# skip .gitignore entries for managed files (gitignore is enabled by default)
|
|
168
177
|
npx npmdata extract --packages my-shared-assets --output ./data --gitignore=false
|
|
169
|
-
|
|
170
|
-
# write files without a .npmdata marker or .gitignore entry; files won't be read-only
|
|
171
|
-
# and won't be tracked by npmdata; existing files are left unchanged
|
|
172
178
|
npx npmdata extract --packages my-shared-assets --output ./data --managed=false
|
|
173
|
-
|
|
174
|
-
# preview what would change without writing any files
|
|
175
179
|
npx npmdata extract --packages my-shared-assets --output ./data --dry-run
|
|
176
|
-
|
|
177
|
-
# force-reinstall the package even if already installed (e.g. after a floating tag moves)
|
|
178
180
|
npx npmdata extract --packages my-shared-assets@latest --output ./data --upgrade
|
|
181
|
+
|
|
182
|
+
# git source examples
|
|
183
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs
|
|
184
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@main --output ./xdrs
|
|
185
|
+
npx npmdata extract --packages "https://github.com/org/repo-a@v1.0.0,file:///tmp/repo-b@main" --output ./git-data
|
|
186
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --files "docs/**/*.md" --output ./docs
|
|
187
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --content-regex "Decision Outcome" --output ./filtered-docs
|
|
188
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs --force
|
|
189
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs --gitignore=false
|
|
190
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs --managed=false
|
|
191
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@1.3.0 --output ./xdrs --dry-run
|
|
192
|
+
npx npmdata extract --packages https://github.com/flaviostutz/xdrs-core@main --output ./xdrs --upgrade
|
|
179
193
|
```
|
|
180
194
|
|
|
181
195
|
`extract` logs every file change as it happens:
|
|
@@ -226,6 +240,7 @@ When calling the bin script bundled in a data package, the following options are
|
|
|
226
240
|
|---|---|
|
|
227
241
|
| `--output, -o <dir>` | Base directory for resolving all `output.path` values (default: cwd). |
|
|
228
242
|
| `--presets <preset1,preset2>` | Limit to entries whose `presets` overlap with the given list (comma-separated). |
|
|
243
|
+
| `--nosync [bool]` | Keep stale managed files on disk during extract instead of deleting them. `check` still reports them as extra drift. |
|
|
229
244
|
| `--gitignore [bool]` | Disable `.gitignore` management for every entry when set to `false`, overriding each entry's `gitignore` field. |
|
|
230
245
|
| `--managed [bool]` | Run every entry in unmanaged mode when set to `false`, overriding each entry's `managed` field. Files are written without a `.npmdata` marker, without `.gitignore` updates, and without being made read-only. |
|
|
231
246
|
| `--dry-run` | Simulate changes without writing or deleting any files. |
|
|
@@ -235,6 +250,9 @@ When calling the bin script bundled in a data package, the following options are
|
|
|
235
250
|
# disable gitignore management across all entries
|
|
236
251
|
npx my-shared-assets --gitignore=false
|
|
237
252
|
|
|
253
|
+
# keep stale managed files on disk during extract
|
|
254
|
+
npx my-shared-assets --nosync
|
|
255
|
+
|
|
238
256
|
# write all files as not-managed (editable, not tracked)
|
|
239
257
|
npx my-shared-assets --managed=false
|
|
240
258
|
|
|
@@ -248,13 +266,15 @@ Each entry in the `npmdata.sets` array in `package.json` supports the following
|
|
|
248
266
|
|
|
249
267
|
| Option | Type | Default | Description |
|
|
250
268
|
|---|---|---|---|
|
|
251
|
-
| `package` | `string` | required |
|
|
269
|
+
| `package` | `string` | required | Source spec to install and extract. Either npm (`my-pkg`, `my-pkg@^1.2.3`) or git (`https://host/org/repo@ref`). |
|
|
270
|
+
| `source` | `auto \| npm \| git` | `auto` | Force the source type. `auto` detects git from URL-like specs and otherwise uses npm. |
|
|
252
271
|
| `output.path` | `string` | `.` (cwd) | Directory where files will be extracted, relative to where the consumer runs the command. |
|
|
253
272
|
| `selector.files` | `string[]` | all files | Glob patterns to filter which files are extracted (e.g. `["data/**", "*.json"]`). |
|
|
254
273
|
| `selector.exclude` | `string[]` | `["package.json","bin/**","README.md","node_modules/**"]` (when `files` is unset), none otherwise | Glob patterns to exclude files even when they match `selector.files` (e.g. `["test/**", "**/*.test.*"]`). |
|
|
255
274
|
| `selector.contentRegexes` | `string[]` | none | Regex patterns (as strings) to filter files by content. Only files matching at least one pattern are extracted. |
|
|
256
275
|
| `output.force` | `boolean` | `false` | Allow overwriting existing files or files owned by a different package. |
|
|
257
276
|
| `output.keepExisting` | `boolean` | `false` | Skip files that already exist but create them when absent. Cannot be combined with `force`. |
|
|
277
|
+
| `output.noSync` | `boolean` | `false` | Keep stale managed files on disk during extract instead of deleting them. `check` still reports them as extra drift until they are removed or synced. |
|
|
258
278
|
| `output.gitignore` | `boolean` | `true` | Create/update a `.gitignore` file alongside each `.npmdata` marker file. Set to `false` to disable. |
|
|
259
279
|
| `output.managed` | `boolean` | `true` | Write files with a `.npmdata` marker, `.gitignore` update, and read-only flag. Set to `false` to skip tracking. Existing files are skipped when set to `false`. |
|
|
260
280
|
| `output.dryRun` | `boolean` | `false` | Simulate extraction without writing anything to disk. |
|
|
@@ -287,26 +307,40 @@ Example with multiple options:
|
|
|
287
307
|
|
|
288
308
|
```json
|
|
289
309
|
{
|
|
290
|
-
"npmdata":
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
"
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
"
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
310
|
+
"npmdata": {
|
|
311
|
+
"sets": [
|
|
312
|
+
{
|
|
313
|
+
"package": "my-shared-assets@^2.0.0",
|
|
314
|
+
"selector": {
|
|
315
|
+
"files": ["docs/**", "configs/*.json"],
|
|
316
|
+
"upgrade": true
|
|
317
|
+
},
|
|
318
|
+
"output": {
|
|
319
|
+
"path": "./data",
|
|
320
|
+
"gitignore": true,
|
|
321
|
+
"symlinks": [
|
|
322
|
+
{ "source": "**\/skills\/**", "target": ".github/skills" }
|
|
323
|
+
],
|
|
324
|
+
"contentReplacements": [
|
|
325
|
+
{ "files": "docs/**\/*.md", "match": "<!-- version: .* -->", "replace": "<!-- version: 2.0.0 -->" }
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"presets": ["prod"]
|
|
306
329
|
},
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
330
|
+
{
|
|
331
|
+
"package": "https://github.com/flaviostutz/xdrs-core@1.3.0",
|
|
332
|
+
"selector": {
|
|
333
|
+
"files": ["docs/**"],
|
|
334
|
+
"upgrade": true
|
|
335
|
+
},
|
|
336
|
+
"output": {
|
|
337
|
+
"path": "./xdrs",
|
|
338
|
+
"gitignore": false
|
|
339
|
+
},
|
|
340
|
+
"presets": ["prod"]
|
|
341
|
+
}
|
|
342
|
+
]
|
|
343
|
+
}
|
|
310
344
|
}
|
|
311
345
|
```
|
|
312
346
|
|
|
@@ -368,7 +402,7 @@ After a purge, the corresponding entries are removed from the `.npmdata` marker
|
|
|
368
402
|
|
|
369
403
|
## Hierarchical package resolution
|
|
370
404
|
|
|
371
|
-
`extract`, `check`, and `purge` are all hierarchy-aware: when a target package carries its own `npmdata.sets` block in its `package.json
|
|
405
|
+
`extract`, `check`, and `purge` are all hierarchy-aware: when a target package or git repository carries its own `npmdata.sets` block in its `package.json` or `.npmdatarc*`, the command automatically recurses into those transitive dependencies.
|
|
372
406
|
|
|
373
407
|
This lets you build layered data package chains:
|
|
374
408
|
|
|
@@ -382,6 +416,8 @@ consumer project
|
|
|
382
416
|
|
|
383
417
|
Running `npx npmdata extract --packages my-org-configs --output ./data` will extract files from every package in the chain, not just `my-org-configs` itself.
|
|
384
418
|
|
|
419
|
+
When the source is git, npmdata clones repositories into `.npmdata-tmp` inside the working directory, adds that folder to `.gitignore` if needed, resolves nested config from the cloned repository, and removes `.npmdata-tmp` when the command ends.
|
|
420
|
+
|
|
385
421
|
### Output path resolution
|
|
386
422
|
|
|
387
423
|
Each level's `output.path` is resolved relative to the caller's own `output.path`. A package at depth 1 with `output.path: "./configs"` and a transitive dependency with `output.path: "./shared"` will land at `./configs/shared`.
|
|
@@ -453,6 +489,7 @@ Init options:
|
|
|
453
489
|
|
|
454
490
|
Extract options:
|
|
455
491
|
--packages <specs> Comma-separated package specs.
|
|
492
|
+
--source <kind> Source kind: auto, npm, or git.
|
|
456
493
|
When omitted, npmdata searches for a configuration file
|
|
457
494
|
(package.json "npmdata" key, .npmdatarc, etc.) and runs all
|
|
458
495
|
entries defined there.
|
package/dist/cli/argv.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PackageConfig, NpmdataConfig, NpmdataExtractEntry } from '../types';
|
|
1
|
+
import { PackageConfig, NpmdataConfig, NpmdataExtractEntry, SourceKind } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Parsed CLI flags for all commands.
|
|
4
4
|
* All flags are undefined when not supplied on the command line;
|
|
@@ -6,6 +6,7 @@ import { PackageConfig, NpmdataConfig, NpmdataExtractEntry } from '../types';
|
|
|
6
6
|
*/
|
|
7
7
|
export type ParsedArgv = {
|
|
8
8
|
packages?: PackageConfig[];
|
|
9
|
+
source?: SourceKind;
|
|
9
10
|
output?: string;
|
|
10
11
|
files?: string[];
|
|
11
12
|
exclude?: string[];
|
|
@@ -14,6 +15,8 @@ export type ParsedArgv = {
|
|
|
14
15
|
configFile?: string;
|
|
15
16
|
force?: boolean;
|
|
16
17
|
keepExisting?: boolean;
|
|
18
|
+
/** --nosync / --nosync=true|false */
|
|
19
|
+
nosync?: boolean;
|
|
17
20
|
/** --gitignore / --gitignore=true|false */
|
|
18
21
|
gitignore?: boolean;
|
|
19
22
|
/** --managed / --managed=true|false (false ≡ unmanaged mode) */
|
package/dist/cli/argv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,mBAAmB,
|
|
1
|
+
{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,mBAAmB,EAGnB,UAAU,EACX,MAAM,UAAU,CAAC;AAGlB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAqEpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB,EAAE,GAAG,IAAI,CAoCrF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,mBAAmB,EAAE,CA+BvB;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,GAAG,IAAI,EAC5B,IAAI,EAAE,MAAM,EAAE,GACb,mBAAmB,EAAE,CAcvB"}
|
package/dist/cli/argv.js
CHANGED
|
@@ -46,8 +46,16 @@ function parseArgv(argv) {
|
|
|
46
46
|
const packagesRaw = getCommaSplit('--packages');
|
|
47
47
|
const packages = packagesRaw?.map((s) => (0, utils_1.parsePackageSpec)(s));
|
|
48
48
|
const verboseFlag = getBoolFlag('--verbose');
|
|
49
|
+
const sourceValue = getValue('--source');
|
|
50
|
+
if (sourceValue !== undefined &&
|
|
51
|
+
sourceValue !== 'auto' &&
|
|
52
|
+
sourceValue !== 'npm' &&
|
|
53
|
+
sourceValue !== 'git') {
|
|
54
|
+
throw new Error('--source must be one of: auto, npm, git');
|
|
55
|
+
}
|
|
49
56
|
return {
|
|
50
57
|
packages,
|
|
58
|
+
source: sourceValue,
|
|
51
59
|
output: getValue('--output', '-o'),
|
|
52
60
|
files: getCommaSplit('--files'),
|
|
53
61
|
exclude: getCommaSplit('--exclude'),
|
|
@@ -56,6 +64,7 @@ function parseArgv(argv) {
|
|
|
56
64
|
configFile: getValue('--config'),
|
|
57
65
|
force,
|
|
58
66
|
keepExisting,
|
|
67
|
+
nosync: getBoolFlag('--nosync'),
|
|
59
68
|
gitignore: getBoolFlag('--gitignore'),
|
|
60
69
|
managed: getBoolFlag('--managed'),
|
|
61
70
|
dryRun: getBoolFlag('--dry-run'),
|
|
@@ -92,12 +101,14 @@ function buildEntriesFromArgv(parsed) {
|
|
|
92
101
|
...(parsed.output !== undefined ? { path: parsed.output } : {}),
|
|
93
102
|
...(parsed.force !== undefined ? { force: parsed.force } : {}),
|
|
94
103
|
...(parsed.keepExisting !== undefined ? { keepExisting: parsed.keepExisting } : {}),
|
|
104
|
+
...(parsed.nosync !== undefined ? { noSync: parsed.nosync } : {}),
|
|
95
105
|
...(parsed.gitignore !== undefined ? { gitignore: parsed.gitignore } : {}),
|
|
96
106
|
...(parsed.managed !== undefined ? { managed: parsed.managed } : {}),
|
|
97
107
|
...(parsed.dryRun !== undefined ? { dryRun: parsed.dryRun } : {}),
|
|
98
108
|
};
|
|
99
109
|
return parsed.packages.map((pkg) => ({
|
|
100
110
|
package: pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name,
|
|
111
|
+
...(parsed.source !== undefined ? { source: parsed.source } : {}),
|
|
101
112
|
output,
|
|
102
113
|
selector,
|
|
103
114
|
...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
|
|
@@ -115,6 +126,7 @@ function applyArgvOverrides(entries, parsed) {
|
|
|
115
126
|
...(parsed.output !== undefined ? { path: parsed.output } : {}),
|
|
116
127
|
...(parsed.force !== undefined ? { force: parsed.force } : {}),
|
|
117
128
|
...(parsed.keepExisting !== undefined ? { keepExisting: parsed.keepExisting } : {}),
|
|
129
|
+
...(parsed.nosync !== undefined ? { noSync: parsed.nosync } : {}),
|
|
118
130
|
...(parsed.gitignore !== undefined ? { gitignore: parsed.gitignore } : {}),
|
|
119
131
|
...(parsed.managed !== undefined ? { managed: parsed.managed } : {}),
|
|
120
132
|
...(parsed.dryRun !== undefined ? { dryRun: parsed.dryRun } : {}),
|
|
@@ -128,6 +140,7 @@ function applyArgvOverrides(entries, parsed) {
|
|
|
128
140
|
};
|
|
129
141
|
return {
|
|
130
142
|
...entry,
|
|
143
|
+
...(parsed.source !== undefined ? { source: parsed.source } : {}),
|
|
131
144
|
output: updatedOutput,
|
|
132
145
|
selector: updatedSelector,
|
|
133
146
|
...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
|
package/dist/cli/argv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/usage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA+IjD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
|
package/dist/cli/usage.js
CHANGED
|
@@ -18,11 +18,13 @@ Extract files from one or more npm packages into a local output directory.
|
|
|
18
18
|
|
|
19
19
|
Options:
|
|
20
20
|
--packages <specs> Comma-separated package specs (e.g. my-pkg@^1.2.3). Overrides config sets.
|
|
21
|
+
--source <kind> Source kind: auto, npm, or git (default: auto).
|
|
21
22
|
--output, -o <dir> Output directory path. Required when --packages is used.
|
|
22
23
|
--files <globs> Comma-separated glob patterns for file selection.
|
|
23
24
|
--content-regex <re> Comma-separated regex strings for content filtering.
|
|
24
25
|
--force Overwrite existing unmanaged files.
|
|
25
26
|
--keep-existing Skip files that already exist; create missing ones.
|
|
27
|
+
--nosync [bool] Keep stale managed files on disk during extract (default: false).
|
|
26
28
|
--gitignore [bool] Enable/disable .gitignore update (default: true). Use --gitignore=false to disable.
|
|
27
29
|
--managed [bool] Enable/disable managed mode (default: true). Use --managed=false to write without .npmdata marker.
|
|
28
30
|
--dry-run Report changes without writing to disk.
|
|
@@ -45,6 +47,7 @@ Verify that locally extracted files match their package sources.
|
|
|
45
47
|
|
|
46
48
|
Options:
|
|
47
49
|
--packages <specs> Comma-separated package specs. Overrides config sets.
|
|
50
|
+
--source <kind> Source kind: auto, npm, or git (default: auto).
|
|
48
51
|
--output, -o <dir> Output directory path.
|
|
49
52
|
--files <globs> Glob patterns for file selection.
|
|
50
53
|
--content-regex <re> Regex strings for content filtering.
|
|
@@ -81,6 +84,7 @@ Remove all managed files from the output directory.
|
|
|
81
84
|
|
|
82
85
|
Options:
|
|
83
86
|
--packages <specs> Comma-separated package specs. Limits purge to matching entries.
|
|
87
|
+
--source <kind> Source kind: auto, npm, or git (default: auto).
|
|
84
88
|
--output, -o <dir> Output directory to purge.
|
|
85
89
|
--presets <tags> Comma-separated preset tags; only matching entries are purged.
|
|
86
90
|
--dry-run Print what would be removed without deleting.
|
package/dist/cli/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,gCA+IC;AAED,oCAGC;AAzJD,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,OAAO,IAAI,SAAS,CAAC;IAEjC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;WAYP,OAAO;CACjB,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UASpC,CAAC;AAEF,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,aAAa,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,UAAU,CAAC;AAEtC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEW,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,aAAa,GAAG,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,UAAU,CAAC;AAEtC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,YAAY;IACZ,cAAc;IACd,SAAS;IACT,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEW,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,aAAa,GAAG,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAE3F"}
|
package/dist/fileset/markers.js
CHANGED
|
@@ -28,6 +28,7 @@ async function readMarker(markerFilePath) {
|
|
|
28
28
|
path: fields[0] ?? '',
|
|
29
29
|
packageName: fields[1] ?? '',
|
|
30
30
|
packageVersion: fields[2] ?? '',
|
|
31
|
+
kind: fields[3] === 'symlink' ? 'symlink' : 'file',
|
|
31
32
|
};
|
|
32
33
|
});
|
|
33
34
|
}
|
|
@@ -49,7 +50,12 @@ async function writeMarker(markerFilePath, entries) {
|
|
|
49
50
|
}
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
52
|
-
const rows = entries.map((e) =>
|
|
53
|
+
const rows = entries.map((e) => {
|
|
54
|
+
if (e.kind === 'symlink') {
|
|
55
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}|symlink`;
|
|
56
|
+
}
|
|
57
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}`;
|
|
58
|
+
});
|
|
53
59
|
node_fs_1.default.writeFileSync(markerFilePath, `${rows.join('\n')}\n`, 'utf8');
|
|
54
60
|
node_fs_1.default.chmodSync(markerFilePath, 0o444);
|
|
55
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":";;;;;AAaA,
|
|
1
|
+
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":";;;;;AAaA,gCAeC;AAOD,kCAwBC;AAKD,gCAEC;AAKD,kDAEC;AAzED,sDAAyB;AACzB,0DAA6B;AAG7B,oCAAqC;AAErC,2CAA0C;AAE1C;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAAC,cAAsB;IACrD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,iBAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACrB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YAC5B,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC/B,cAAsB,EACtB,OAA8B;IAE9B,IAAA,iBAAS,EAAC,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,qCAAqC;IACrC,IAAI,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,iBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,sBAAsB;QACtB,IAAI,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,UAAU,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,iBAAE,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjE,iBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,SAAiB;IAC1C,OAAO,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,OAAO,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -9,4 +9,13 @@
|
|
|
9
9
|
* @returns The path to the installed package in node_modules.
|
|
10
10
|
*/
|
|
11
11
|
export declare const installMockPackage: (name: string, version: string, files: Record<string, string>, tmpDir: string) => Promise<string>;
|
|
12
|
+
export declare const createMockGitRepo: (name: string, files: Record<string, string>, tmpDir: string, options?: {
|
|
13
|
+
npmdataConfig?: Record<string, unknown>;
|
|
14
|
+
tag?: string;
|
|
15
|
+
}) => Promise<{
|
|
16
|
+
repoDir: string;
|
|
17
|
+
repoUrl: string;
|
|
18
|
+
head: string;
|
|
19
|
+
tag?: string;
|
|
20
|
+
}>;
|
|
12
21
|
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAgDhB,CAAC"}
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAgDhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,EACd,UAAU;IACR,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KACA,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAkC1E,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.installMockPackage = void 0;
|
|
6
|
+
exports.createMockGitRepo = exports.installMockPackage = void 0;
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -60,4 +60,35 @@ const installMockPackage = async (name, version, files, tmpDir) => {
|
|
|
60
60
|
return node_path_1.default.join(tmpDir, 'node_modules', name);
|
|
61
61
|
};
|
|
62
62
|
exports.installMockPackage = installMockPackage;
|
|
63
|
+
const createMockGitRepo = async (name, files, tmpDir, options) => {
|
|
64
|
+
const repoDir = node_path_1.default.join(tmpDir, `${name}-git-source`);
|
|
65
|
+
if (node_fs_1.default.existsSync(repoDir)) {
|
|
66
|
+
node_fs_1.default.rmSync(repoDir, { recursive: true, force: true });
|
|
67
|
+
}
|
|
68
|
+
node_fs_1.default.mkdirSync(repoDir, { recursive: true });
|
|
69
|
+
for (const [filePath, content] of Object.entries(files)) {
|
|
70
|
+
const fullPath = node_path_1.default.join(repoDir, filePath);
|
|
71
|
+
node_fs_1.default.mkdirSync(node_path_1.default.dirname(fullPath), { recursive: true });
|
|
72
|
+
node_fs_1.default.writeFileSync(fullPath, content);
|
|
73
|
+
}
|
|
74
|
+
if (options?.npmdataConfig) {
|
|
75
|
+
node_fs_1.default.writeFileSync(node_path_1.default.join(repoDir, '.npmdatarc.json'), JSON.stringify(options.npmdataConfig));
|
|
76
|
+
}
|
|
77
|
+
(0, node_child_process_1.execSync)('git init', { cwd: repoDir, stdio: 'pipe' });
|
|
78
|
+
(0, node_child_process_1.execSync)('git config user.email "npmdata-tests@example.com"', { cwd: repoDir, stdio: 'pipe' });
|
|
79
|
+
(0, node_child_process_1.execSync)('git config user.name "npmdata tests"', { cwd: repoDir, stdio: 'pipe' });
|
|
80
|
+
(0, node_child_process_1.execSync)('git add .', { cwd: repoDir, stdio: 'pipe' });
|
|
81
|
+
(0, node_child_process_1.execSync)('git commit -m "initial"', { cwd: repoDir, stdio: 'pipe' });
|
|
82
|
+
if (options?.tag) {
|
|
83
|
+
(0, node_child_process_1.execSync)(`git tag ${options.tag}`, { cwd: repoDir, stdio: 'pipe' });
|
|
84
|
+
}
|
|
85
|
+
const head = (0, node_child_process_1.execSync)('git rev-parse HEAD', { cwd: repoDir, stdio: 'pipe' }).toString().trim();
|
|
86
|
+
return {
|
|
87
|
+
repoDir,
|
|
88
|
+
repoUrl: `file://${repoDir}`,
|
|
89
|
+
head,
|
|
90
|
+
tag: options?.tag,
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
exports.createMockGitRepo = createMockGitRepo;
|
|
63
94
|
//# sourceMappingURL=test-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,2DAA8C;AAE9C,wDAAgC;AAEhC;;;;;;;;;GASG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAY,EACZ,OAAe,EACf,KAA6B,EAC7B,MAAc,EACG,EAAE;IACnB,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;IACvD,IAAI,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,iBAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,iBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,sBAAsB;IACtB,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACtC,iBAAE,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAErF,qBAAqB;IACrB,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,iBAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC;IACtF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,iBAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,kBAAQ,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,uFAAuF;IACvF,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,iBAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,sDAAsD;IACtD,IAAA,6BAAQ,EAAC,YAAY,SAAS,EAAE,EAAE;QAChC,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,oDAAoD;IACpD,OAAO,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AArDW,QAAA,kBAAkB,sBAqD7B"}
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQ9D,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA8D9E"}
|
|
@@ -4,6 +4,8 @@ exports.actionCheck = actionCheck;
|
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
const resolve_files_1 = require("./resolve-files");
|
|
6
6
|
const calculate_diff_1 = require("./calculate-diff");
|
|
7
|
+
const symlinks_1 = require("./symlinks");
|
|
8
|
+
const source_1 = require("./source");
|
|
7
9
|
/**
|
|
8
10
|
* Check whether the output directories are in sync with the desired file state.
|
|
9
11
|
*
|
|
@@ -16,6 +18,7 @@ const calculate_diff_1 = require("./calculate-diff");
|
|
|
16
18
|
async function actionCheck(options) {
|
|
17
19
|
const { entries, cwd, verbose = false, onProgress } = options;
|
|
18
20
|
const summary = { missing: [], conflict: [], extra: [] };
|
|
21
|
+
const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
|
|
19
22
|
if (verbose) {
|
|
20
23
|
console.log(`[verbose] actionCheck: resolving files (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
|
|
21
24
|
}
|
|
@@ -27,6 +30,7 @@ async function actionCheck(options) {
|
|
|
27
30
|
const resolved = await (0, resolve_files_1.resolveFilesDetailed)(managedEntries, {
|
|
28
31
|
cwd,
|
|
29
32
|
verbose,
|
|
33
|
+
sourceRuntime,
|
|
30
34
|
onProgress: (e) => {
|
|
31
35
|
if (e.type === 'package-start' || e.type === 'package-end')
|
|
32
36
|
onProgress?.(e);
|
|
@@ -39,7 +43,9 @@ async function actionCheck(options) {
|
|
|
39
43
|
const managedResolvedFiles = resolvedFiles.filter((f) => f.managed);
|
|
40
44
|
const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir);
|
|
41
45
|
summary.missing.push(...diff.missing.map((e) => e.relPath));
|
|
42
|
-
summary.extra.push(...diff.extra
|
|
46
|
+
summary.extra.push(...diff.extra
|
|
47
|
+
.filter((e) => !e.existing || !(0, symlinks_1.isManagedSymlinkEntry)(e.existing))
|
|
48
|
+
.map((e) => e.relPath));
|
|
43
49
|
// Only report conflicts where content or managed-state differ; gitignore-only
|
|
44
50
|
// mismatches are not a data integrity issue.
|
|
45
51
|
summary.conflict.push(...diff.conflict
|
|
@@ -52,6 +58,7 @@ async function actionCheck(options) {
|
|
|
52
58
|
return summary;
|
|
53
59
|
}
|
|
54
60
|
finally {
|
|
61
|
+
sourceRuntime.cleanup();
|
|
55
62
|
(0, utils_1.cleanupTempPackageJson)(cwd, verbose);
|
|
56
63
|
}
|
|
57
64
|
}
|