filedist 0.30.0 → 0.33.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.
Files changed (133) hide show
  1. package/README.md +318 -253
  2. package/dist/cli/actions/check.d.ts +5 -2
  3. package/dist/cli/actions/check.d.ts.map +1 -1
  4. package/dist/cli/actions/check.js +10 -3
  5. package/dist/cli/actions/check.js.map +1 -1
  6. package/dist/cli/actions/init.d.ts.map +1 -1
  7. package/dist/cli/actions/init.js +10 -3
  8. package/dist/cli/actions/init.js.map +1 -1
  9. package/dist/cli/actions/install.d.ts +7 -0
  10. package/dist/cli/actions/install.d.ts.map +1 -0
  11. package/dist/cli/actions/{extract.js → install.js} +15 -13
  12. package/dist/cli/actions/install.js.map +1 -0
  13. package/dist/cli/actions/list.d.ts +1 -1
  14. package/dist/cli/actions/list.d.ts.map +1 -1
  15. package/dist/cli/actions/list.js +4 -2
  16. package/dist/cli/actions/list.js.map +1 -1
  17. package/dist/cli/actions/remove.d.ts +20 -0
  18. package/dist/cli/actions/remove.d.ts.map +1 -0
  19. package/dist/cli/actions/remove.js +133 -0
  20. package/dist/cli/actions/remove.js.map +1 -0
  21. package/dist/cli/actions/update.d.ts +8 -0
  22. package/dist/cli/actions/update.d.ts.map +1 -0
  23. package/dist/cli/actions/update.js +40 -0
  24. package/dist/cli/actions/update.js.map +1 -0
  25. package/dist/cli/argv.d.ts +10 -5
  26. package/dist/cli/argv.d.ts.map +1 -1
  27. package/dist/cli/argv.js +41 -15
  28. package/dist/cli/argv.js.map +1 -1
  29. package/dist/cli/binpkg.d.ts +1 -12
  30. package/dist/cli/binpkg.d.ts.map +1 -1
  31. package/dist/cli/binpkg.js +64 -12
  32. package/dist/cli/binpkg.js.map +1 -1
  33. package/dist/cli/cli.d.ts.map +1 -1
  34. package/dist/cli/cli.js +80 -41
  35. package/dist/cli/cli.js.map +1 -1
  36. package/dist/cli/usage.d.ts.map +1 -1
  37. package/dist/cli/usage.js +68 -33
  38. package/dist/cli/usage.js.map +1 -1
  39. package/dist/fileset/check.d.ts +0 -1
  40. package/dist/fileset/check.d.ts.map +1 -1
  41. package/dist/fileset/check.js +7 -8
  42. package/dist/fileset/check.js.map +1 -1
  43. package/dist/fileset/constants.d.ts.map +1 -1
  44. package/dist/fileset/constants.js +3 -2
  45. package/dist/fileset/constants.js.map +1 -1
  46. package/dist/fileset/execute.d.ts.map +1 -1
  47. package/dist/fileset/execute.js +3 -2
  48. package/dist/fileset/execute.js.map +1 -1
  49. package/dist/fileset/gitignore.js +3 -3
  50. package/dist/fileset/gitignore.js.map +1 -1
  51. package/dist/fileset/markers.d.ts +9 -4
  52. package/dist/fileset/markers.d.ts.map +1 -1
  53. package/dist/fileset/markers.js +31 -22
  54. package/dist/fileset/markers.js.map +1 -1
  55. package/dist/fileset/test-utils.d.ts.map +1 -1
  56. package/dist/fileset/test-utils.js +2 -1
  57. package/dist/fileset/test-utils.js.map +1 -1
  58. package/dist/index.d.ts +9 -5
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +15 -5
  61. package/dist/index.js.map +1 -1
  62. package/dist/package/action-check.d.ts +25 -9
  63. package/dist/package/action-check.d.ts.map +1 -1
  64. package/dist/package/action-check.js +88 -12
  65. package/dist/package/action-check.js.map +1 -1
  66. package/dist/package/action-init.d.ts +6 -2
  67. package/dist/package/action-init.d.ts.map +1 -1
  68. package/dist/package/action-init.js +26 -15
  69. package/dist/package/action-init.js.map +1 -1
  70. package/dist/package/action-install.d.ts +22 -0
  71. package/dist/package/action-install.d.ts.map +1 -0
  72. package/dist/package/{action-extract.js → action-install.js} +211 -34
  73. package/dist/package/action-install.js.map +1 -0
  74. package/dist/package/action-list.d.ts +5 -2
  75. package/dist/package/action-list.d.ts.map +1 -1
  76. package/dist/package/action-list.js +5 -4
  77. package/dist/package/action-list.js.map +1 -1
  78. package/dist/package/action-remove.d.ts +65 -0
  79. package/dist/package/action-remove.d.ts.map +1 -0
  80. package/dist/package/action-remove.js +171 -0
  81. package/dist/package/action-remove.js.map +1 -0
  82. package/dist/package/action-update.d.ts +28 -0
  83. package/dist/package/action-update.d.ts.map +1 -0
  84. package/dist/package/action-update.js +45 -0
  85. package/dist/package/action-update.js.map +1 -0
  86. package/dist/package/calculate-diff.d.ts +1 -1
  87. package/dist/package/calculate-diff.d.ts.map +1 -1
  88. package/dist/package/calculate-diff.js +12 -14
  89. package/dist/package/calculate-diff.js.map +1 -1
  90. package/dist/package/config.d.ts +40 -27
  91. package/dist/package/config.d.ts.map +1 -1
  92. package/dist/package/config.js +164 -113
  93. package/dist/package/config.js.map +1 -1
  94. package/dist/package/index.d.ts +6 -4
  95. package/dist/package/index.d.ts.map +1 -1
  96. package/dist/package/index.js +7 -5
  97. package/dist/package/index.js.map +1 -1
  98. package/dist/package/lockfile.d.ts +69 -0
  99. package/dist/package/lockfile.d.ts.map +1 -0
  100. package/dist/package/lockfile.js +191 -0
  101. package/dist/package/lockfile.js.map +1 -0
  102. package/dist/package/resolve-files.d.ts +14 -0
  103. package/dist/package/resolve-files.d.ts.map +1 -1
  104. package/dist/package/resolve-files.js +5 -1
  105. package/dist/package/resolve-files.js.map +1 -1
  106. package/dist/package/source.d.ts +13 -0
  107. package/dist/package/source.d.ts.map +1 -1
  108. package/dist/package/source.js +33 -12
  109. package/dist/package/source.js.map +1 -1
  110. package/dist/package/symlinks.d.ts.map +1 -1
  111. package/dist/package/symlinks.js +8 -3
  112. package/dist/package/symlinks.js.map +1 -1
  113. package/dist/types.d.ts +7 -6
  114. package/dist/types.d.ts.map +1 -1
  115. package/dist/utils.d.ts +6 -0
  116. package/dist/utils.d.ts.map +1 -1
  117. package/dist/utils.js +9 -0
  118. package/dist/utils.js.map +1 -1
  119. package/package.json +1 -2
  120. package/dist/cli/actions/extract.d.ts +0 -7
  121. package/dist/cli/actions/extract.d.ts.map +0 -1
  122. package/dist/cli/actions/extract.js.map +0 -1
  123. package/dist/cli/actions/purge.d.ts +0 -6
  124. package/dist/cli/actions/purge.d.ts.map +0 -1
  125. package/dist/cli/actions/purge.js +0 -42
  126. package/dist/cli/actions/purge.js.map +0 -1
  127. package/dist/package/action-extract.d.ts +0 -20
  128. package/dist/package/action-extract.d.ts.map +0 -1
  129. package/dist/package/action-extract.js.map +0 -1
  130. package/dist/package/action-purge.d.ts +0 -19
  131. package/dist/package/action-purge.d.ts.map +0 -1
  132. package/dist/package/action-purge.js +0 -135
  133. package/dist/package/action-purge.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;AAuBA,oCA8CC;AArED,0DAA6B;AAC7B,sDAAyB;AAGzB,oCAAoC;AAEpC,mDAAwD;AAExD;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,SAAiB,EACjB,MAA6B,EAC7B,WAA2B,EAAE;IAE7B,MAAM,aAAa,GAAG,IAAI,GAAG,CAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,MAAM,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QAExB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;AAsBA,oCA8CC;AApED,0DAA6B;AAC7B,sDAAyB;AAGzB,oCAAiE;AAEjE,mDAAwD;AAExD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,SAAiB,EACjB,MAA6B,EAC7B,WAA2B,EAAE;IAE7B,MAAM,aAAa,GAAG,IAAI,GAAG,CAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,MAAM,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QAExB,gEAAgE;QAChE,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAA,uBAAe,EAAC,IAAA,kBAAU,EAAC,iBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAA,uBAAe,EAAC,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;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,qBAAqB,CAAC;AAClD,eAAO,MAAM,aAAa,mBAAmB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAUpC,CAAC;AAEF,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,aAAa,mBAAmB,CAAC"}
@@ -16,8 +16,9 @@ exports.DEFAULT_FILE_PATTERNS = ['**'];
16
16
  */
17
17
  exports.DEFAULT_EXCLUDE_PATTERNS = [
18
18
  'package.json',
19
- '.filedistrc',
20
- '.filedistrc.*',
19
+ '.filedist.yml',
20
+ '.filedist-package.yml',
21
+ '.filedist.lock',
21
22
  '.git/**',
22
23
  'bin/**',
23
24
  'README.md',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,aAAa;IACb,eAAe;IACf,SAAS;IACT,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEW,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,eAAe,GAAG,kBAAkB,CAAC;AACrC,QAAA,aAAa,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,eAAe;IACf,uBAAuB;IACvB,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEW,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,eAAe,GAAG,kBAAkB,CAAC;AACrC,QAAA,aAAa,GAAG,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,CAqHxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,CAsHxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
@@ -103,13 +103,14 @@ async function execute(map, outputDir, outputConfig, pkg, pkgVersion, existingMa
103
103
  const updatedEntries = existingMarker.filter((m) => !map.toDelete.includes(m.path) && !addedPaths.has(m.path));
104
104
  for (const op of [...map.toAdd, ...map.toModify]) {
105
105
  // Hash the final file content (after any content replacements applied above)
106
- const checksum = (0, utils_1.hashFileSync)(op.destPath);
106
+ const checksum = (0, utils_1.shortenChecksum)((0, utils_1.hashFileSync)(op.destPath));
107
107
  updatedEntries.push({
108
108
  path: op.relPath,
109
109
  packageName: pkg.name,
110
110
  packageVersion: pkgVersion,
111
+ kind: 'file',
111
112
  checksum,
112
- ...(outputConfig.mutable === true ? { mutable: true } : {}),
113
+ mutable: outputConfig.mutable === true,
113
114
  });
114
115
  }
115
116
  if (verbose) {
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ async function removeFromGitignore(markerDir, paths) {
41
41
  const { beforeSection, managedEntries, afterSection } = parseSections(existingContent);
42
42
  // Remove specified paths from the managed section
43
43
  const pathSet = new Set(paths);
44
- const remaining = managedEntries.filter((e) => !pathSet.has(e) && e !== constants_1.MARKER_FILE);
44
+ const remaining = managedEntries.filter((e) => !pathSet.has(e));
45
45
  writeGitignore(gitignorePath, beforeSection, remaining, afterSection);
46
46
  }
47
47
  /**
@@ -70,7 +70,7 @@ function parseSections(content) {
70
70
  const managedEntries = sectionContent
71
71
  .split('\n')
72
72
  .map((l) => l.trim())
73
- .filter((l) => l.length > 0 && l !== constants_1.MARKER_FILE);
73
+ .filter((l) => l.length > 0);
74
74
  const afterSection = content.slice(endIdx + constants_1.GITIGNORE_END.length).trimStart();
75
75
  return { beforeSection, managedEntries, afterSection, hasSection: true };
76
76
  }
@@ -86,7 +86,7 @@ function writeGitignore(gitignorePath, beforeSection, managedPaths, afterSection
86
86
  }
87
87
  return;
88
88
  }
89
- const section = [constants_1.GITIGNORE_START, constants_1.MARKER_FILE, ...managedPaths.sort(), constants_1.GITIGNORE_END].join('\n');
89
+ const section = [constants_1.GITIGNORE_START, ...managedPaths.sort(), constants_1.GITIGNORE_END].join('\n');
90
90
  const parts = [beforeSection, section, afterSection].filter(Boolean);
91
91
  const updatedContent = `${parts.join('\n')}\n`;
92
92
  node_fs_1.default.writeFileSync(gitignorePath, updatedContent, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/fileset/gitignore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/fileset/gitignore.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  import { ManagedFileMetadata } from '../types';
2
2
  /**
3
3
  * Read all managed file entries from a .filedist marker file.
4
- * Format: path|packageName|packageVersion[|kind[|checksum[|mutable]]]
4
+ * Format: path|packageName|packageVersion|kind|checksum|mutable
5
5
  * Pipe is used as separator so file paths containing commas are handled safely.
6
- * Fields beyond the first three are optional for backward compatibility.
6
+ * mutable column: '1' = mutable, '0' or absent = not mutable.
7
+ *
8
+ * A trailing self-checksum row `.|<sha256hex>` covers all entry rows.
9
+ * When present, integrity is verified and an error is thrown on mismatch.
7
10
  */
8
11
  export declare function readMarker(markerFilePath: string): Promise<ManagedFileMetadata[]>;
9
12
  /**
10
13
  * Write managed file entries to a .filedist marker file.
11
- * Format: path|packageName|packageVersion[|kind[|checksum[|mutable]]]
12
- * Trailing empty columns are omitted for backward compatibility.
14
+ * Format: path|packageName|packageVersion|kind|checksum|mutable
15
+ * mutable column: '1' = mutable, '0' = not mutable.
16
+ * Trailing columns up to (but not including) the last meaningful one are always written.
17
+ * A self-checksum row `.|<sha256hex>` is appended after all entry rows.
13
18
  * Makes the file read-only after writing.
14
19
  */
15
20
  export declare function writeMarker(markerFilePath: string, entries: ManagedFileMetadata[]): Promise<void>;
@@ -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;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiBvF;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgCf;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"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQ/C;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgCvF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Bf;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"}
@@ -11,11 +11,16 @@ const node_fs_1 = __importDefault(require("node:fs"));
11
11
  const node_path_1 = __importDefault(require("node:path"));
12
12
  const utils_1 = require("../utils");
13
13
  const constants_1 = require("./constants");
14
+ /** Special path used for the self-checksum row at the end of a marker file. */
15
+ const SELF_CHECKSUM_PATH = '.';
14
16
  /**
15
17
  * Read all managed file entries from a .filedist marker file.
16
- * Format: path|packageName|packageVersion[|kind[|checksum[|mutable]]]
18
+ * Format: path|packageName|packageVersion|kind|checksum|mutable
17
19
  * Pipe is used as separator so file paths containing commas are handled safely.
18
- * Fields beyond the first three are optional for backward compatibility.
20
+ * mutable column: '1' = mutable, '0' or absent = not mutable.
21
+ *
22
+ * A trailing self-checksum row `.|<sha256hex>` covers all entry rows.
23
+ * When present, integrity is verified and an error is thrown on mismatch.
19
24
  */
20
25
  async function readMarker(markerFilePath) {
21
26
  if (!node_fs_1.default.existsSync(markerFilePath)) {
@@ -23,22 +28,34 @@ async function readMarker(markerFilePath) {
23
28
  }
24
29
  const content = node_fs_1.default.readFileSync(markerFilePath, 'utf8');
25
30
  const lines = content.split('\n').filter((line) => line.trim() !== '');
26
- return lines.map((line) => {
31
+ // Separate the self-checksum row (path === '.') from entry lines
32
+ const checksumRow = lines.find((line) => line.split('|')[0] === SELF_CHECKSUM_PATH);
33
+ const entryLines = lines.filter((line) => line.split('|')[0] !== SELF_CHECKSUM_PATH);
34
+ if (checksumRow) {
35
+ const storedHash = checksumRow.split('|')[1] ?? '';
36
+ const expectedHash = (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(entryLines.join('\n') + '\n'));
37
+ if (storedHash !== expectedHash) {
38
+ throw new Error(`Marker integrity check failed: ${markerFilePath} may have been tampered with`);
39
+ }
40
+ }
41
+ return entryLines.map((line) => {
27
42
  const fields = line.split('|');
28
43
  return {
29
44
  path: fields[0] ?? '',
30
45
  packageName: fields[1] ?? '',
31
46
  packageVersion: fields[2] ?? '',
32
47
  kind: fields[3] === 'symlink' ? 'symlink' : 'file',
33
- ...(fields[4] ? { checksum: fields[4] } : {}),
34
- ...(fields[5] === 'mutable' ? { mutable: true } : {}),
48
+ checksum: fields[4] ?? '',
49
+ mutable: fields[5] === '1',
35
50
  };
36
51
  });
37
52
  }
38
53
  /**
39
54
  * Write managed file entries to a .filedist marker file.
40
- * Format: path|packageName|packageVersion[|kind[|checksum[|mutable]]]
41
- * Trailing empty columns are omitted for backward compatibility.
55
+ * Format: path|packageName|packageVersion|kind|checksum|mutable
56
+ * mutable column: '1' = mutable, '0' = not mutable.
57
+ * Trailing columns up to (but not including) the last meaningful one are always written.
58
+ * A self-checksum row `.|<sha256hex>` is appended after all entry rows.
42
59
  * Makes the file read-only after writing.
43
60
  */
44
61
  async function writeMarker(markerFilePath, entries) {
@@ -55,22 +72,14 @@ async function writeMarker(markerFilePath, entries) {
55
72
  return;
56
73
  }
57
74
  const rows = entries.map((e) => {
58
- const kindField = e.kind === 'symlink' ? 'symlink' : '';
59
- const checksumField = e.checksum ?? '';
60
- const mutableField = e.mutable ? 'mutable' : '';
61
- // Include only as many trailing fields as needed (omit trailing empty columns)
62
- if (mutableField) {
63
- return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}|${mutableField}`;
64
- }
65
- if (checksumField) {
66
- return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}`;
67
- }
68
- if (kindField) {
69
- return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}`;
70
- }
71
- return `${e.path}|${e.packageName}|${e.packageVersion}`;
75
+ const kindField = e.kind === 'symlink' ? 'symlink' : 'file';
76
+ const checksumField = e.checksum;
77
+ const mutableField = e.mutable ? '1' : '0';
78
+ return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}|${mutableField}`;
72
79
  });
73
- node_fs_1.default.writeFileSync(markerFilePath, `${rows.join('\n')}\n`, 'utf8');
80
+ const entryContent = `${rows.join('\n')}\n`;
81
+ const selfChecksum = (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(entryContent));
82
+ node_fs_1.default.writeFileSync(markerFilePath, `${entryContent}${SELF_CHECKSUM_PATH}|${selfChecksum}\n`, 'utf8');
74
83
  node_fs_1.default.chmodSync(markerFilePath, 0o444);
75
84
  }
76
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;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,CA6ChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,EACd,UAAU;IACR,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,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,CAqC1E,CAAC"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;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,CA6ChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,EACd,UAAU;IACR,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,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,CAqC1E,CAAC"}
@@ -8,6 +8,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");
10
10
  const archiver_1 = __importDefault(require("archiver"));
11
+ const js_yaml_1 = __importDefault(require("js-yaml"));
11
12
  function runCommand(command, args, cwd) {
12
13
  const result = (0, node_child_process_1.spawnSync)(command, args, {
13
14
  cwd,
@@ -82,7 +83,7 @@ const createMockGitRepo = async (name, files, tmpDir, options) => {
82
83
  node_fs_1.default.writeFileSync(fullPath, content);
83
84
  }
84
85
  if (options?.filedistConfig) {
85
- node_fs_1.default.writeFileSync(node_path_1.default.join(repoDir, '.filedistrc.json'), JSON.stringify(options.filedistConfig));
86
+ node_fs_1.default.writeFileSync(node_path_1.default.join(repoDir, '.filedist-package.yml'), js_yaml_1.default.dump(options.filedistConfig));
86
87
  }
87
88
  runCommand('git', ['init'], repoDir);
88
89
  runCommand('git', ['config', 'user.email', 'filedist-tests@example.com'], repoDir);
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,18 @@
1
- export { actionExtract } from './package/action-extract';
2
- export type { ExtractOptions, ExtractResult } from './package/action-extract';
1
+ export { actionInstall } from './package/action-install';
2
+ export type { InstallOptions, InstallResult } from './package/action-install';
3
+ export { readLockfile, writeLockfile, buildLockfileData, computeLockfileChecksum, readManagedFilesForDir, writeManagedFilesForDir, outputDirKey, } from './package/lockfile';
4
+ export type { LockfileData } from './package/lockfile';
3
5
  export { actionCheck } from './package/action-check';
4
6
  export type { CheckOptions, CheckSummary } from './package/action-check';
5
7
  export { actionList } from './package/action-list';
6
8
  export type { ListOptions } from './package/action-list';
7
- export { actionPurge } from './package/action-purge';
8
- export type { PurgeOptions, PurgeSummary } from './package/action-purge';
9
+ export { actionRemove } from './package/action-remove';
10
+ export type { RemoveOptions, RemoveSummary } from './package/action-remove';
11
+ export { actionUpdate } from './package/action-update';
12
+ export type { UpdateOptions } from './package/action-update';
9
13
  export { resolveFiles } from './package/resolve-files';
10
14
  export type { ResolveOptions } from './package/resolve-files';
11
15
  export { calculateDiff } from './package/calculate-diff';
12
16
  export { binpkg } from './cli/binpkg';
13
- export type { FiledistConfig, FiledistExtractEntry, PackageConfig, SelectorConfig, OutputConfig, SymlinkConfig, ContentReplacementConfig, ManagedFileMetadata, ProgressEvent, ExtractionMap, CheckResult, PurgeResult, ExecuteResult, ResolvedFile, DiffStatus, DiffEntry, DiffResult, } from './types';
17
+ export type { FiledistConfig, FiledistExtractEntry, PackageConfig, SelectorConfig, OutputConfig, SymlinkConfig, ContentReplacementConfig, ManagedFileMetadata, ProgressEvent, ExtractionMap, CheckResult, ExecuteResult, ResolvedFile, DiffStatus, DiffEntry, DiffResult, } from './types';
14
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,25 @@
1
1
  "use strict";
2
2
  // Public library exports for filedist v2
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.binpkg = exports.calculateDiff = exports.resolveFiles = exports.actionPurge = exports.actionList = exports.actionCheck = exports.actionExtract = void 0;
5
- var action_extract_1 = require("./package/action-extract");
6
- Object.defineProperty(exports, "actionExtract", { enumerable: true, get: function () { return action_extract_1.actionExtract; } });
4
+ exports.binpkg = exports.calculateDiff = exports.resolveFiles = exports.actionUpdate = exports.actionRemove = exports.actionList = exports.actionCheck = exports.outputDirKey = exports.writeManagedFilesForDir = exports.readManagedFilesForDir = exports.computeLockfileChecksum = exports.buildLockfileData = exports.writeLockfile = exports.readLockfile = exports.actionInstall = void 0;
5
+ var action_install_1 = require("./package/action-install");
6
+ Object.defineProperty(exports, "actionInstall", { enumerable: true, get: function () { return action_install_1.actionInstall; } });
7
+ var lockfile_1 = require("./package/lockfile");
8
+ Object.defineProperty(exports, "readLockfile", { enumerable: true, get: function () { return lockfile_1.readLockfile; } });
9
+ Object.defineProperty(exports, "writeLockfile", { enumerable: true, get: function () { return lockfile_1.writeLockfile; } });
10
+ Object.defineProperty(exports, "buildLockfileData", { enumerable: true, get: function () { return lockfile_1.buildLockfileData; } });
11
+ Object.defineProperty(exports, "computeLockfileChecksum", { enumerable: true, get: function () { return lockfile_1.computeLockfileChecksum; } });
12
+ Object.defineProperty(exports, "readManagedFilesForDir", { enumerable: true, get: function () { return lockfile_1.readManagedFilesForDir; } });
13
+ Object.defineProperty(exports, "writeManagedFilesForDir", { enumerable: true, get: function () { return lockfile_1.writeManagedFilesForDir; } });
14
+ Object.defineProperty(exports, "outputDirKey", { enumerable: true, get: function () { return lockfile_1.outputDirKey; } });
7
15
  var action_check_1 = require("./package/action-check");
8
16
  Object.defineProperty(exports, "actionCheck", { enumerable: true, get: function () { return action_check_1.actionCheck; } });
9
17
  var action_list_1 = require("./package/action-list");
10
18
  Object.defineProperty(exports, "actionList", { enumerable: true, get: function () { return action_list_1.actionList; } });
11
- var action_purge_1 = require("./package/action-purge");
12
- Object.defineProperty(exports, "actionPurge", { enumerable: true, get: function () { return action_purge_1.actionPurge; } });
19
+ var action_remove_1 = require("./package/action-remove");
20
+ Object.defineProperty(exports, "actionRemove", { enumerable: true, get: function () { return action_remove_1.actionRemove; } });
21
+ var action_update_1 = require("./package/action-update");
22
+ Object.defineProperty(exports, "actionUpdate", { enumerable: true, get: function () { return action_update_1.actionUpdate; } });
13
23
  var resolve_files_1 = require("./package/resolve-files");
14
24
  Object.defineProperty(exports, "resolveFiles", { enumerable: true, get: function () { return resolve_files_1.resolveFiles; } });
15
25
  var calculate_diff_1 = require("./package/calculate-diff");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAGtB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAGpB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAGnB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAGpB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAEtB,uCAAsC;AAA7B,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAGtB,+CAQ4B;AAP1B,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,mHAAA,uBAAuB,OAAA;AACvB,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA;AACvB,wGAAA,YAAY,OAAA;AAId,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAGpB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAGnB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAEtB,uCAAsC;AAA7B,gGAAA,MAAM,OAAA"}
@@ -1,20 +1,36 @@
1
- import { ProgressEvent, BasicPackageOptions } from '../types';
1
+ import { FiledistExtractEntry, ProgressEvent, BasicPackageOptions } from '../types';
2
2
  export type CheckOptions = BasicPackageOptions & {
3
3
  onProgress?: (event: ProgressEvent) => void;
4
+ /**
5
+ * Absolute path to the lock file. Derived from the config file path via getLockfilePath().
6
+ */
7
+ lockfilePath: string;
8
+ /**
9
+ * When true, skip all package installs and git clones.
10
+ * Integrity is verified solely against the checksums stored in .filedist markers.
11
+ * Extra-file detection (files in source not yet extracted) is also skipped.
12
+ */
13
+ localOnly?: boolean;
14
+ /**
15
+ * When true (default for CLI), read set definitions and package versions exclusively
16
+ * from .filedist.lock. Fails if no lock file is found.
17
+ * When false, use the entries and versions passed via options (library/direct callers).
18
+ */
19
+ frozenLockfile?: boolean;
4
20
  };
5
21
  export type CheckSummary = {
22
+ ok: number;
6
23
  missing: string[];
7
24
  conflict: string[];
8
25
  extra: string[];
9
26
  };
27
+ export declare function actionCheck(options: CheckOptions): Promise<CheckSummary>;
10
28
  /**
11
- * Check whether the output directories are in sync with the desired file state.
12
- *
13
- * Uses resolveFiles() to build the desired file list (installing packages as needed),
14
- * then calculateDiff() to find files that are missing, conflicting, or extra.
15
- * Conflict detection reports content/managed mismatches only — gitignore-only
16
- * conflicts are excluded since gitignore state is managed by extract, not a data
17
- * integrity issue.
29
+ * Shared helper: read entries and locked package versions from a lock file.
30
+ * Throws when the lock file is absent.
18
31
  */
19
- export declare function actionCheck(options: CheckOptions): Promise<CheckSummary>;
32
+ export declare function resolveFrozenLockfileContext(lockfilePath: string, fallbackEntries: FiledistExtractEntry[], verbose: boolean, caller?: string): {
33
+ entries: FiledistExtractEntry[];
34
+ lockedVersions: Map<string, string>;
35
+ };
20
36
  //# sourceMappingURL=action-check.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAUpF,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAoDF,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAkG9E;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,oBAAoB,EAAE,EACvC,OAAO,EAAE,OAAO,EAChB,MAAM,SAAW,GAChB;IAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAkB1E"}
@@ -1,36 +1,88 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.actionCheck = actionCheck;
7
+ exports.resolveFrozenLockfileContext = resolveFrozenLockfileContext;
8
+ /* eslint-disable no-console */
9
+ const node_path_1 = __importDefault(require("node:path"));
4
10
  const utils_1 = require("../utils");
11
+ const check_1 = require("../fileset/check");
5
12
  const resolve_files_1 = require("./resolve-files");
6
13
  const calculate_diff_1 = require("./calculate-diff");
7
14
  const symlinks_1 = require("./symlinks");
8
15
  const source_1 = require("./source");
16
+ const lockfile_1 = require("./lockfile");
9
17
  /**
10
18
  * Check whether the output directories are in sync with the desired file state.
11
19
  *
12
- * Uses resolveFiles() to build the desired file list (installing packages as needed),
13
- * then calculateDiff() to find files that are missing, conflicting, or extra.
20
+ * When frozenLockfile=true (the CLI default): reads set definitions and pinned
21
+ * package versions exclusively from .filedist.lock. Fails if no lock file found.
22
+ *
23
+ * When frozenLockfile=false (direct library callers): uses resolveFiles() with
24
+ * the entries supplied in options.
25
+ *
14
26
  * Conflict detection reports content/managed mismatches only — gitignore-only
15
27
  * conflicts are excluded since gitignore state is managed by extract, not a data
16
28
  * integrity issue.
17
29
  */
18
- async function actionCheck(options) {
19
- const { entries, cwd, verbose = false, onProgress } = options;
20
- const summary = { missing: [], conflict: [], extra: [] };
21
- const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
30
+ /** Run a local-only integrity check for a set of managed entries. */
31
+ async function checkLocalOnly(managedEntries, cwd, lockfilePath, verbose) {
32
+ const summary = { ok: 0, missing: [], conflict: [], extra: [] };
22
33
  if (verbose) {
23
- console.log(`[verbose] actionCheck: resolving files (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
34
+ console.log(`[verbose] actionCheck: local-only mode (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
35
+ }
36
+ const checkedDirs = new Set();
37
+ for (const entry of managedEntries) {
38
+ const outputDir = node_path_1.default.resolve(cwd, entry.output?.path ?? '.');
39
+ if (checkedDirs.has(outputDir))
40
+ continue;
41
+ checkedDirs.add(outputDir);
42
+ // readManagedFilesForDir verifies managed files from .filedist.lock.
43
+ const marker = (0, lockfile_1.readManagedFilesForDir)(lockfilePath, cwd, outputDir);
44
+ // eslint-disable-next-line unicorn/no-null
45
+ const checkResult = await (0, check_1.checkFileset)(null, outputDir, marker);
46
+ summary.missing.push(...checkResult.missing);
47
+ summary.conflict.push(...checkResult.modified);
48
+ // extra is skipped in local-only mode (no package source to enumerate)
49
+ summary.ok += marker.length - checkResult.missing.length - checkResult.modified.length;
50
+ if (verbose) {
51
+ console.log(`[verbose] actionCheck local-only: ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}: ` +
52
+ `missing=${checkResult.missing.length} modified=${checkResult.modified.length}`);
53
+ }
54
+ }
55
+ return summary;
56
+ }
57
+ async function actionCheck(options) {
58
+ const { cwd, verbose = false, onProgress, localOnly = false, frozenLockfile = false, entries: initialEntries, } = options;
59
+ const { lockfilePath } = options;
60
+ let entries = initialEntries;
61
+ let lockedVersions;
62
+ // ── Frozen mode: read entries and locked versions from lockfile ──────────
63
+ if (frozenLockfile) {
64
+ const resolved = resolveFrozenLockfileContext(lockfilePath, initialEntries, verbose, 'actionCheck');
65
+ ({ entries, lockedVersions } = resolved);
24
66
  }
67
+ const summary = { ok: 0, missing: [], conflict: [], extra: [] };
25
68
  // Skip entries with managed=false — they write no marker so there is nothing to check.
26
69
  const managedEntries = entries.filter((e) => e.output?.managed !== false);
27
70
  if (managedEntries.length === 0)
28
71
  return summary;
72
+ // --local-only: verify only against .filedist markers without touching any package source.
73
+ if (localOnly) {
74
+ return checkLocalOnly(managedEntries, cwd, lockfilePath, verbose);
75
+ }
76
+ const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
77
+ if (verbose) {
78
+ console.log(`[verbose] actionCheck: resolving files (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
79
+ }
29
80
  try {
30
81
  const resolved = await (0, resolve_files_1.resolveFilesDetailed)(managedEntries, {
31
82
  cwd,
32
83
  verbose,
33
84
  sourceRuntime,
85
+ lockedVersions,
34
86
  onProgress: (e) => {
35
87
  if (e.type === 'package-start' || e.type === 'package-end')
36
88
  onProgress?.(e);
@@ -41,18 +93,24 @@ async function actionCheck(options) {
41
93
  console.log(`[verbose] actionCheck: resolved ${resolvedFiles.length} desired file(s)`);
42
94
  }
43
95
  const managedResolvedFiles = resolvedFiles.filter((f) => f.managed);
44
- const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir);
96
+ const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir,
97
+ // eslint-disable-next-line no-undefined
98
+ undefined, lockfilePath);
99
+ summary.ok += diff.ok.length;
45
100
  summary.missing.push(...diff.missing.map((e) => e.relPath));
46
101
  summary.extra.push(...diff.extra
47
102
  .filter((e) => !e.existing || !(0, symlinks_1.isManagedSymlinkEntry)(e.existing))
48
103
  .map((e) => e.relPath));
49
104
  // Only report conflicts where content or managed-state differ; gitignore-only
50
105
  // mismatches are not a data integrity issue.
51
- summary.conflict.push(...diff.conflict
52
- .filter((e) => (e.conflictReasons ?? []).some((r) => r !== 'gitignore'))
53
- .map((e) => e.relPath));
106
+ const reportedConflicts = diff.conflict.filter((e) => (e.conflictReasons ?? []).some((r) => r !== 'gitignore'));
107
+ summary.conflict.push(...reportedConflicts.map((e) => e.relPath));
108
+ // Files with only a gitignore conflict are not reported as conflicts,
109
+ // so count them as ok (consistent: ok + missing + conflict + extra = total).
110
+ const gitignoreOnlyCount = diff.conflict.length - reportedConflicts.length;
111
+ summary.ok += gitignoreOnlyCount;
54
112
  if (verbose) {
55
- console.log(`[verbose] actionCheck: missing=${summary.missing.length}` +
113
+ console.log(`[verbose] actionCheck: ok=${summary.ok} missing=${summary.missing.length}` +
56
114
  ` conflict=${summary.conflict.length} extra=${summary.extra.length}`);
57
115
  }
58
116
  return summary;
@@ -62,4 +120,22 @@ async function actionCheck(options) {
62
120
  (0, utils_1.cleanupTempPackageJson)(cwd, verbose);
63
121
  }
64
122
  }
123
+ /**
124
+ * Shared helper: read entries and locked package versions from a lock file.
125
+ * Throws when the lock file is absent.
126
+ */
127
+ function resolveFrozenLockfileContext(lockfilePath, fallbackEntries, verbose, caller = 'action') {
128
+ const lockfileData = (0, lockfile_1.readLockfile)(lockfilePath);
129
+ if (!lockfileData) {
130
+ const lockName = node_path_1.default.basename(lockfilePath);
131
+ throw new Error(`Lock file ${lockName} not found. Run 'filedist install' first.`);
132
+ }
133
+ const entries = lockfileData.sets && lockfileData.sets.length > 0 ? lockfileData.sets : fallbackEntries;
134
+ const lockedVersions = new Map(Object.entries(lockfileData.packages).map(([spec, ref]) => [spec, ref]));
135
+ if (verbose) {
136
+ console.log(`[verbose] ${caller}: frozen mode — ${entries.length} set(s), ` +
137
+ `${lockedVersions.size} locked package(s)`);
138
+ }
139
+ return { entries, lockedVersions };
140
+ }
65
141
  //# sourceMappingURL=action-check.js.map