npmdata 0.2.2 → 0.5.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/dist/consumer.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extract = extract;
7
7
  exports.check = check;
8
+ exports.purge = purge;
8
9
  exports.list = list;
9
10
  /* eslint-disable functional/no-try-statements */
10
11
  /* eslint-disable functional/no-let */
@@ -17,13 +18,13 @@ const node_child_process_1 = require("node:child_process");
17
18
  const semver_1 = require("semver");
18
19
  const types_1 = require("./types");
19
20
  const utils_1 = require("./utils");
20
- const MARKER_FILE = '.publisher';
21
+ const MARKER_FILE = '.npmdata';
21
22
  const GITIGNORE_FILE = '.gitignore';
22
23
  const GITIGNORE_START = '# npmdata:start';
23
24
  const GITIGNORE_END = '# npmdata:end';
24
25
  /**
25
26
  * Update (or create) a .gitignore in the given directory so that the managed
26
- * files and the .publisher marker file are ignored by git.
27
+ * files and the .npmdata marker file are ignored by git.
27
28
  * If managedFilenames is empty the npmdata section is removed; if the
28
29
  * resulting file is empty it is deleted.
29
30
  * When addEntries is false, only existing sections are updated/removed — no new
@@ -67,7 +68,7 @@ function updateGitignoreForDir(dir, managedFilenames, addEntries = true) {
67
68
  }
68
69
  /**
69
70
  * Walk outputDir and update .gitignore files for every directory that has a
70
- * .publisher marker (to reflect its current managed files) and also clean up
71
+ * .npmdata marker (to reflect its current managed files) and also clean up
71
72
  * any npmdata sections in directories where the marker was removed.
72
73
  * When addEntries is false, existing sections are updated/removed but no new
73
74
  * sections are created — use this to clean up without opting into gitignore management.
@@ -327,6 +328,18 @@ async function extractFiles(config, packageName) {
327
328
  if (!dryRun)
328
329
  (0, utils_1.ensureDir)(node_path_1.default.dirname(destPath));
329
330
  const existingOwner = existingManagedMap.get(packageFile.relPath);
331
+ // In unmanaged mode, skip files that already exist on disk.
332
+ if (config.unmanaged && node_fs_1.default.existsSync(destPath)) {
333
+ changes.skipped.push(packageFile.relPath);
334
+ emit?.({ type: 'file-skipped', packageName, file: packageFile.relPath });
335
+ continue;
336
+ }
337
+ // In keep-existing mode, skip files that already exist on disk but create missing ones normally.
338
+ if (config.keepExisting && node_fs_1.default.existsSync(destPath)) {
339
+ changes.skipped.push(packageFile.relPath);
340
+ emit?.({ type: 'file-skipped', packageName, file: packageFile.relPath });
341
+ continue;
342
+ }
330
343
  if (node_fs_1.default.existsSync(destPath)) {
331
344
  if (existingOwner?.packageName === packageName) {
332
345
  if ((0, utils_1.calculateFileHash)(packageFile.fullPath) === (0, utils_1.calculateFileHash)(destPath)) {
@@ -372,18 +385,20 @@ async function extractFiles(config, packageName) {
372
385
  emit?.({ type: 'file-added', packageName, file: packageFile.relPath });
373
386
  wasForced = false;
374
387
  }
375
- if (!dryRun && node_fs_1.default.existsSync(destPath))
388
+ if (!dryRun && !config.unmanaged && node_fs_1.default.existsSync(destPath))
376
389
  node_fs_1.default.chmodSync(destPath, 0o444);
377
- const dir = node_path_1.default.dirname(packageFile.relPath) || '.';
378
- if (!addedByDir.has(dir)) {
379
- addedByDir.set(dir, []);
390
+ if (!config.unmanaged) {
391
+ const dir = node_path_1.default.dirname(packageFile.relPath) || '.';
392
+ if (!addedByDir.has(dir)) {
393
+ addedByDir.set(dir, []);
394
+ }
395
+ addedByDir.get(dir).push({
396
+ path: node_path_1.default.basename(packageFile.relPath),
397
+ packageName,
398
+ packageVersion: installedVersion,
399
+ force: wasForced,
400
+ });
380
401
  }
381
- addedByDir.get(dir).push({
382
- path: node_path_1.default.basename(packageFile.relPath),
383
- packageName,
384
- packageVersion: installedVersion,
385
- force: wasForced,
386
- });
387
402
  }
388
403
  // Delete files that were managed by this package but are no longer in the package
389
404
  for (const [relPath, owner] of existingManagedMap) {
@@ -406,7 +421,7 @@ async function extractFiles(config, packageName) {
406
421
  }
407
422
  }
408
423
  }
409
- if (!dryRun) {
424
+ if (!dryRun && !config.unmanaged) {
410
425
  // Write updated marker files
411
426
  // eslint-disable-next-line unicorn/no-keyword-prefix
412
427
  for (const [dir, newFiles] of addedByDir) {
@@ -465,6 +480,9 @@ async function extract(config) {
465
480
  const dryRun = config.dryRun ?? false;
466
481
  if (!dryRun)
467
482
  (0, utils_1.ensureDir)(config.outputDir);
483
+ if (config.force && config.keepExisting) {
484
+ throw new Error('force and keepExisting cannot be used together');
485
+ }
468
486
  const packageManager = config.packageManager ?? (0, utils_1.detectPackageManager)(config.cwd);
469
487
  const sourcePackages = [];
470
488
  const totalChanges = {
@@ -493,9 +511,11 @@ async function extract(config) {
493
511
  sourcePackages.push({ name, version: installedVersion, changes });
494
512
  }
495
513
  if (!dryRun) {
496
- cleanupEmptyMarkers(config.outputDir);
497
- // Always clean up .gitignore entries for removed files; only add new entries when gitignore: true.
498
- updateGitignores(config.outputDir, config.gitignore ?? false);
514
+ if (!config.unmanaged) {
515
+ cleanupEmptyMarkers(config.outputDir);
516
+ // Always clean up .gitignore entries for removed files; only add new entries when gitignore: true.
517
+ updateGitignores(config.outputDir, config.gitignore ?? true);
518
+ }
499
519
  // Run after gitignore cleanup so dirs kept alive only by a .gitignore get removed.
500
520
  cleanupEmptyDirs(config.outputDir);
501
521
  }
@@ -504,11 +524,39 @@ async function extract(config) {
504
524
  sourcePackages,
505
525
  };
506
526
  }
527
+ /**
528
+ * Compute the expected hash of a package source file as it should appear in the
529
+ * output directory after all content replacements have been applied.
530
+ *
531
+ * When no replacement config is provided (or none matches the file), the hash is
532
+ * computed directly from the on-disk source content. When one or more replacements
533
+ * match, the source content is transformed in memory and the resulting hash is
534
+ * returned – this makes check() tolerant of post-extract content replacements.
535
+ */
536
+ // eslint-disable-next-line complexity
537
+ function computeExpectedHash(sourceFullPath, relPath, outputDir, cwd, replacements) {
538
+ if (!replacements || replacements.length === 0) {
539
+ return (0, utils_1.calculateFileHash)(sourceFullPath);
540
+ }
541
+ // The workspace path of the extracted file, relative to cwd, is used to
542
+ // evaluate the replacement's `files` glob (which is also relative to cwd).
543
+ const workspaceRelPath = node_path_1.default.relative(cwd, node_path_1.default.join(outputDir, relPath));
544
+ const applicable = replacements.filter((r) => (0, utils_1.matchesFilenamePattern)(workspaceRelPath, [r.files]));
545
+ if (applicable.length === 0) {
546
+ return (0, utils_1.calculateFileHash)(sourceFullPath);
547
+ }
548
+ // eslint-disable-next-line functional/no-let
549
+ let content = node_fs_1.default.readFileSync(sourceFullPath, 'utf8');
550
+ for (const r of applicable) {
551
+ content = content.replaceAll(new RegExp(r.match, 'gm'), r.replace);
552
+ }
553
+ return (0, utils_1.calculateBufferHash)(content);
554
+ }
507
555
  /**
508
556
  * Check if managed files are in sync with published packages.
509
557
  *
510
558
  * Performs a bidirectional comparison:
511
- * - Files in the .publisher marker that are missing from or modified in the output directory.
559
+ * - Files in the .npmdata marker that are missing from or modified in the output directory.
512
560
  * - Files present in the package (matching filters) that have not been extracted yet ("extra").
513
561
  *
514
562
  * If a version constraint is specified (e.g. "my-pkg@^1.0.0"), the installed version is
@@ -535,12 +583,19 @@ async function check(config) {
535
583
  .filter((m) => m.packageName === name)
536
584
  .filter((m) => (0, utils_1.matchesFilenamePattern)(m.path, config.filenamePatterns ?? types_1.DEFAULT_FILENAME_PATTERNS));
537
585
  const markerPaths = new Set(markerFiles.map((m) => m.path));
538
- // Build a hash map of the installed package files (filtered the same way)
586
+ // Build a hash map of the installed package files (filtered the same way).
587
+ // When content replacements are configured, the expected hash for each affected file
588
+ // is computed from the source content AFTER applying the replacements, so that files
589
+ // modified in-place by a post-extract replacement are not reported as out of sync.
539
590
  // eslint-disable-next-line no-await-in-loop
540
591
  const packageFiles = await getPackageFiles(name, config.cwd);
541
592
  const filteredPackageFiles = packageFiles.filter((f) => (0, utils_1.matchesFilenamePattern)(f.relPath, config.filenamePatterns ?? types_1.DEFAULT_FILENAME_PATTERNS) &&
542
593
  (0, utils_1.matchesContentRegex)(f.fullPath, config.contentRegexes));
543
- const packageHashMap = new Map(filteredPackageFiles.map((f) => [f.relPath, (0, utils_1.calculateFileHash)(f.fullPath)]));
594
+ const effectiveCwd = config.cwd ?? process.cwd();
595
+ const packageHashMap = new Map(filteredPackageFiles.map((f) => [
596
+ f.relPath,
597
+ computeExpectedHash(f.fullPath, f.relPath, config.outputDir, effectiveCwd, config.contentReplacements),
598
+ ]));
544
599
  const pkgDiff = {
545
600
  missing: [],
546
601
  modified: [],
@@ -579,6 +634,82 @@ async function check(config) {
579
634
  sourcePackages,
580
635
  };
581
636
  }
637
+ /**
638
+ * Remove all managed files previously extracted by the given packages from outputDir.
639
+ * Reads .npmdata marker files to discover which files are owned by each package,
640
+ * deletes them from disk, updates the marker files, and cleans up empty directories.
641
+ * No package installation is required – only the local marker state is used.
642
+ */
643
+ async function purge(config) {
644
+ const dryRun = config.dryRun ?? false;
645
+ const emit = config.onProgress;
646
+ const totalChanges = {
647
+ added: [],
648
+ modified: [],
649
+ deleted: [],
650
+ skipped: [],
651
+ };
652
+ const sourcePackages = [];
653
+ for (const spec of config.packages) {
654
+ const { name: packageName } = (0, utils_1.parsePackageSpec)(spec);
655
+ const deleted = [];
656
+ const deletedOnlyDirs = new Set();
657
+ emit?.({ type: 'package-start', packageName, packageVersion: 'unknown' });
658
+ const allManaged = loadManagedFilesMap(config.outputDir);
659
+ for (const [relPath, owner] of allManaged) {
660
+ if (owner.packageName !== packageName)
661
+ continue;
662
+ const fullPath = node_path_1.default.join(config.outputDir, relPath);
663
+ if (node_fs_1.default.existsSync(fullPath)) {
664
+ if (!dryRun)
665
+ (0, utils_1.removeFile)(fullPath);
666
+ deleted.push(relPath);
667
+ emit?.({ type: 'file-deleted', packageName, file: relPath });
668
+ }
669
+ const dir = node_path_1.default.dirname(relPath) === '.' ? '.' : node_path_1.default.dirname(relPath);
670
+ deletedOnlyDirs.add(dir);
671
+ }
672
+ if (!dryRun) {
673
+ // Update marker files: remove entries owned by this package.
674
+ for (const dir of deletedOnlyDirs) {
675
+ const markerDir = dir === '.' ? config.outputDir : node_path_1.default.join(config.outputDir, dir);
676
+ const markerPath = node_path_1.default.join(markerDir, MARKER_FILE);
677
+ if (!node_fs_1.default.existsSync(markerPath))
678
+ continue;
679
+ // eslint-disable-next-line functional/no-try-statements
680
+ try {
681
+ const existingFiles = (0, utils_1.readCsvMarker)(markerPath);
682
+ const mergedFiles = existingFiles.filter((m) => m.packageName !== packageName);
683
+ if (mergedFiles.length === 0) {
684
+ node_fs_1.default.chmodSync(markerPath, 0o644);
685
+ node_fs_1.default.unlinkSync(markerPath);
686
+ }
687
+ else {
688
+ (0, utils_1.writeCsvMarker)(markerPath, mergedFiles);
689
+ }
690
+ }
691
+ catch {
692
+ // Ignore unreadable marker files
693
+ }
694
+ }
695
+ cleanupEmptyMarkers(config.outputDir);
696
+ // Clean up any leftover .gitignore sections without adding new ones.
697
+ updateGitignores(config.outputDir, false);
698
+ cleanupEmptyDirs(config.outputDir);
699
+ }
700
+ totalChanges.deleted.push(...deleted);
701
+ sourcePackages.push({
702
+ name: packageName,
703
+ version: 'unknown',
704
+ changes: { added: [], modified: [], deleted, skipped: [] },
705
+ });
706
+ emit?.({ type: 'package-end', packageName, packageVersion: 'unknown' });
707
+ }
708
+ return {
709
+ ...totalChanges,
710
+ sourcePackages,
711
+ };
712
+ }
582
713
  /**
583
714
  * List all managed files currently extracted in outputDir, grouped by package.
584
715
  */
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { extract, check, list } from './consumer';
1
+ export { extract, check, list, purge } from './consumer';
2
+ export type { PurgeConfig } from './consumer';
2
3
  export { initPublisher } from './publisher';
3
4
  export { DEFAULT_FILENAME_PATTERNS } from './types';
4
5
  export type { ConsumerConfig, FileFilterConfig, ManagedFileMetadata, PublishablePackageJson, ConsumerResult, CheckResult, ProgressEvent, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBinaryFile = exports.parsePackageSpec = exports.DEFAULT_FILENAME_PATTERNS = exports.initPublisher = exports.list = exports.check = exports.extract = void 0;
3
+ exports.isBinaryFile = exports.parsePackageSpec = exports.DEFAULT_FILENAME_PATTERNS = exports.initPublisher = exports.purge = exports.list = exports.check = exports.extract = void 0;
4
4
  // Main exports
5
5
  var consumer_1 = require("./consumer");
6
6
  Object.defineProperty(exports, "extract", { enumerable: true, get: function () { return consumer_1.extract; } });
7
7
  Object.defineProperty(exports, "check", { enumerable: true, get: function () { return consumer_1.check; } });
8
8
  Object.defineProperty(exports, "list", { enumerable: true, get: function () { return consumer_1.list; } });
9
+ Object.defineProperty(exports, "purge", { enumerable: true, get: function () { return consumer_1.purge; } });
9
10
  var publisher_1 = require("./publisher");
10
11
  Object.defineProperty(exports, "initPublisher", { enumerable: true, get: function () { return publisher_1.initPublisher; } });
11
12
  // Type exports
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uCAAkD;AAAzC,mGAAA,OAAO,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,gGAAA,IAAI,OAAA;AAC7B,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAEtB,eAAe;AACf,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAWlC,iCAAyD;AAAhD,yGAAA,gBAAgB,OAAA;AAAE,qGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uCAAyD;AAAhD,mGAAA,OAAO,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,iGAAA,KAAK,OAAA;AAEpC,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAEtB,eAAe;AACf,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAWlC,iCAAyD;AAAhD,yGAAA,gBAAgB,OAAA;AAAE,qGAAA,YAAY,OAAA"}
Binary file
@@ -11,16 +11,28 @@ export type PublisherInitOptions = {
11
11
  * them together with the data contained in the package being initialized.
12
12
  */
13
13
  additionalPackages?: string[];
14
+ /**
15
+ * When true, adds managed files to .gitignore in all generated npmdata entries.
16
+ * Defaults to true. Set to false to disable.
17
+ */
18
+ gitignore?: boolean;
19
+ /**
20
+ * When true, mark all generated npmdata entries as unmanaged so that extracted
21
+ * files are written without a .npmdata marker, without updating .gitignore, and
22
+ * without being made read-only. Existing files are skipped rather than overwritten.
23
+ * Defaults to false.
24
+ */
25
+ unmanaged?: boolean;
14
26
  };
15
27
  export type InitResult = {
16
28
  success: boolean;
17
29
  message: string;
18
- publishedFolders?: string[];
30
+ publishedFiles?: string[];
19
31
  additionalPackages?: string[];
20
32
  packageJsonPath?: string;
21
33
  };
22
34
  /**
23
- * Initialize publisher configuration with specified folders
35
+ * Initialize publisher configuration with specified file glob patterns
24
36
  */
25
- export declare function initPublisher(folders: string[], options?: PublisherInitOptions): Promise<InitResult>;
37
+ export declare function initPublisher(fileGlobs: string[], options?: PublisherInitOptions): Promise<InitResult>;
26
38
  //# sourceMappingURL=publisher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../src/publisher.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAuGF;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,UAAU,CAAC,CA6CrB"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../src/publisher.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAiHF;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,UAAU,CAAC,CAsDrB"}
package/dist/publisher.js CHANGED
@@ -31,19 +31,6 @@ function parsePublisherPackageSpec(spec) {
31
31
  const { name, version } = (0, utils_1.parsePackageSpec)(spec);
32
32
  return { name, version: version ?? 'latest' };
33
33
  }
34
- function validateFolders(folders, workingDir) {
35
- const errors = [];
36
- for (const folder of folders) {
37
- const folderPath = node_path_1.default.join(workingDir, folder);
38
- if (!node_fs_1.default.existsSync(folderPath)) {
39
- errors.push(`Folder not found: ${folder}`);
40
- }
41
- else if (!node_fs_1.default.statSync(folderPath).isDirectory()) {
42
- errors.push(`Not a directory: ${folder}`);
43
- }
44
- }
45
- return { valid: errors.length === 0, errors };
46
- }
47
34
  function generateCliScript() {
48
35
  return `#!/usr/bin/env node
49
36
 
@@ -51,7 +38,8 @@ function generateCliScript() {
51
38
  require('npmdata/dist/runner.js').run(__dirname);
52
39
  `;
53
40
  }
54
- function preparePackageJson(folders, workingDir, additionalPackages = []) {
41
+ // eslint-disable-next-line complexity
42
+ function preparePackageJson(fileGlobs, workingDir, additionalPackages = [], gitignore = false, unmanaged = false) {
55
43
  const packageJsonPath = node_path_1.default.join(workingDir, 'package.json');
56
44
  // eslint-disable-next-line functional/no-let
57
45
  let packageJson;
@@ -68,75 +56,101 @@ function preparePackageJson(folders, workingDir, additionalPackages = []) {
68
56
  packageJson.name = node_path_1.default.basename(workingDir);
69
57
  if (!packageJson.version)
70
58
  packageJson.version = '1.0.0';
71
- // eslint-disable-next-line unicorn/no-keyword-prefix
72
- const newFolderPatterns = folders.map((folder) => `${folder}/**`);
73
59
  const existingPatterns = packageJson.files ?? [];
74
- const existingFolderPatterns = existingPatterns.filter((p) => p.endsWith('/**'));
75
- const existingNonFolderPatterns = existingPatterns.filter((p) => !p.endsWith('/**'));
76
- packageJson.files = Array.from(new Set([
77
- // eslint-disable-next-line unicorn/no-keyword-prefix
78
- ...newFolderPatterns,
79
- ...existingFolderPatterns,
80
- ...existingNonFolderPatterns,
81
- 'package.json',
82
- 'bin/npmdata.js',
83
- ]));
60
+ packageJson.files = Array.from(new Set([...fileGlobs, ...existingPatterns, 'package.json', 'bin/npmdata.js']));
84
61
  if (!packageJson.dependencies) {
85
62
  packageJson.dependencies = {};
86
63
  }
87
64
  packageJson.dependencies.npmdata = getOwnVersion();
88
- // Merge additional packages: preserve existing entries, add new ones without duplicates
89
- const existingAdditional = packageJson.npmdata?.additionalPackages ?? [];
90
- const mergedAdditional = Array.from(new Set([...existingAdditional, ...additionalPackages]));
91
- // Store additional packages config and add them to dependencies
92
- if (mergedAdditional.length > 0) {
93
- packageJson.npmdata = { ...packageJson.npmdata, additionalPackages: mergedAdditional };
94
- for (const pkgSpec of mergedAdditional) {
95
- const { name: pkgName, version: pkgVersion } = parsePublisherPackageSpec(pkgSpec);
96
- if (!packageJson.dependencies[pkgName]) {
97
- packageJson.dependencies[pkgName] = pkgVersion;
98
- }
65
+ // Build npmdata entries array: one entry per package (main + additional)
66
+ const existingEntries = Array.isArray(packageJson.npmdata)
67
+ ? packageJson.npmdata
68
+ : [];
69
+ // Ensure the main package has an entry
70
+ const mainName = packageJson.name;
71
+ const hasMainEntry = existingEntries.some((e) => {
72
+ const { name } = (0, utils_1.parsePackageSpec)(e.package);
73
+ return name === mainName;
74
+ });
75
+ if (!hasMainEntry) {
76
+ existingEntries.push({ package: mainName, outputDir: '.' });
77
+ }
78
+ // Set file glob patterns and gitignore on all npmdata entries
79
+ for (const entry of existingEntries) {
80
+ entry.files = fileGlobs;
81
+ if (!gitignore) {
82
+ entry.gitignore = false;
83
+ }
84
+ else {
85
+ delete entry.gitignore;
86
+ }
87
+ if (unmanaged) {
88
+ entry.unmanaged = true;
99
89
  }
100
90
  }
91
+ // Add additional packages as separate entries (dedup by package name)
92
+ for (const pkgSpec of additionalPackages) {
93
+ const { name: pkgName, version: pkgVersion } = parsePublisherPackageSpec(pkgSpec);
94
+ const alreadyPresent = existingEntries.some((e) => {
95
+ const { name } = (0, utils_1.parsePackageSpec)(e.package);
96
+ return name === pkgName;
97
+ });
98
+ if (!alreadyPresent) {
99
+ existingEntries.push({
100
+ package: pkgSpec,
101
+ outputDir: '.',
102
+ files: fileGlobs,
103
+ ...(!gitignore ? { gitignore: false } : {}),
104
+ ...(unmanaged ? { unmanaged: true } : {}),
105
+ });
106
+ }
107
+ if (!packageJson.dependencies[pkgName]) {
108
+ packageJson.dependencies[pkgName] = pkgVersion;
109
+ }
110
+ }
111
+ packageJson.npmdata = existingEntries;
101
112
  if (!packageJson.bin) {
102
113
  packageJson.bin = 'bin/npmdata.js';
103
114
  }
104
115
  return packageJson;
105
116
  }
106
117
  /**
107
- * Initialize publisher configuration with specified folders
118
+ * Initialize publisher configuration with specified file glob patterns
108
119
  */
109
- async function initPublisher(folders, options = {}) {
120
+ async function initPublisher(fileGlobs, options = {}) {
110
121
  const workingDir = options.workingDir ?? process.cwd();
111
122
  const additionalPackages = options.additionalPackages ?? [];
123
+ const gitignore = options.gitignore ?? true;
124
+ const unmanaged = options.unmanaged ?? false;
112
125
  // eslint-disable-next-line functional/no-try-statements
113
126
  try {
114
- if (!folders || folders.length === 0) {
115
- return {
116
- success: false,
117
- message: 'npmdata: no folders specified. Usage: npmdata init <folder1> <folder2> ...',
118
- };
119
- }
120
- const validation = validateFolders(folders, workingDir);
121
- if (!validation.valid) {
127
+ if (!fileGlobs || fileGlobs.length === 0) {
122
128
  return {
123
129
  success: false,
124
- message: `npmdata: folder validation failed:\n${validation.errors.join('\n')}`,
130
+ message: 'npmdata: no file patterns specified. Usage: npmdata init --files "docs/**,data/**"',
125
131
  };
126
132
  }
127
- const packageJson = preparePackageJson(folders, workingDir, additionalPackages);
133
+ const packageJson = preparePackageJson(fileGlobs, workingDir, additionalPackages, gitignore, unmanaged);
128
134
  const packageJsonPath = node_path_1.default.join(workingDir, 'package.json');
129
135
  (0, utils_1.writeJsonFile)(packageJsonPath, packageJson);
130
136
  const cliScriptPath = node_path_1.default.join(workingDir, 'bin', 'npmdata.js');
131
137
  node_fs_1.default.mkdirSync(node_path_1.default.dirname(cliScriptPath), { recursive: true });
132
138
  node_fs_1.default.writeFileSync(cliScriptPath, generateCliScript(), 'utf8');
133
139
  node_fs_1.default.chmodSync(cliScriptPath, 0o755);
134
- const finalAdditionalPackages = packageJson.npmdata?.additionalPackages;
140
+ const allEntries = packageJson.npmdata;
141
+ const finalAdditionalPackages = allEntries
142
+ .filter((e) => {
143
+ const { name } = (0, utils_1.parsePackageSpec)(e.package);
144
+ return name !== packageJson.name;
145
+ })
146
+ .map((e) => e.package);
135
147
  return {
136
148
  success: true,
137
149
  message: 'npmdata: project initialization completed successfully',
138
- publishedFolders: folders,
139
- additionalPackages: finalAdditionalPackages,
150
+ publishedFiles: fileGlobs,
151
+ additionalPackages:
152
+ // eslint-disable-next-line no-undefined
153
+ finalAdditionalPackages.length > 0 ? finalAdditionalPackages : undefined,
140
154
  packageJsonPath,
141
155
  };
142
156
  }