@git.zone/cli 2.20.0 → 2.21.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.
@@ -56,8 +56,38 @@ export class PackageJsonFormatter extends BaseFormatter {
56
56
  if (!packageJson.scripts.build) {
57
57
  packageJson.scripts.build = `echo "Not needed for now"`;
58
58
  }
59
+ const rawAssetsConfig = gitzoneData.assets;
60
+ const assetsConfig = rawAssetsConfig?.enabled === false ? undefined : rawAssetsConfig;
61
+ const managedAssetConfig = rawAssetsConfig?.kind === 'denoBinaryCli' ? rawAssetsConfig : undefined;
62
+ const managedCliName = managedAssetConfig?.cliName || packageJson.name?.split('/').pop();
63
+ const managedBinFile = managedAssetConfig?.npmWrapper?.binFile || `bin/${managedCliName}-wrapper.js`;
64
+ const managedPostinstallFile = managedAssetConfig?.npmWrapper?.postinstallFile || 'scripts/install-binary.js';
65
+ const managedPostinstallCommand = `node ${managedPostinstallFile}`;
66
+ if (assetsConfig?.kind === 'denoBinaryCli' && assetsConfig.npmWrapper?.enabled) {
67
+ if (managedCliName) {
68
+ packageJson.bin = typeof packageJson.bin === 'object' && !Array.isArray(packageJson.bin)
69
+ ? packageJson.bin
70
+ : {};
71
+ packageJson.bin[managedCliName] = `./${managedBinFile}`;
72
+ }
73
+ packageJson.scripts.postinstall = managedPostinstallCommand;
74
+ }
75
+ else if (managedAssetConfig) {
76
+ if (managedCliName &&
77
+ typeof packageJson.bin === 'object' &&
78
+ !Array.isArray(packageJson.bin) &&
79
+ packageJson.bin[managedCliName] === `./${managedBinFile}`) {
80
+ delete packageJson.bin[managedCliName];
81
+ if (Object.keys(packageJson.bin).length === 0) {
82
+ delete packageJson.bin;
83
+ }
84
+ }
85
+ if (packageJson.scripts.postinstall === managedPostinstallCommand) {
86
+ delete packageJson.scripts.postinstall;
87
+ }
88
+ }
59
89
  // Set files array
60
- packageJson.files = [
90
+ const files = [
61
91
  'ts/**/*',
62
92
  'ts_web/**/*',
63
93
  'dist/**/*',
@@ -69,6 +99,14 @@ export class PackageJsonFormatter extends BaseFormatter {
69
99
  '.smartconfig.json',
70
100
  'readme.md',
71
101
  ];
102
+ if (assetsConfig?.kind === 'denoBinaryCli' && assetsConfig.installer?.enabled !== false) {
103
+ files.push(assetsConfig.installer?.file || 'install.sh');
104
+ }
105
+ if (assetsConfig?.kind === 'denoBinaryCli' && assetsConfig.npmWrapper?.enabled) {
106
+ files.push('bin/');
107
+ files.push(assetsConfig.npmWrapper.postinstallFile || 'scripts/install-binary.js');
108
+ }
109
+ packageJson.files = [...new Set(files)];
72
110
  // Set pnpm overrides from assets
73
111
  try {
74
112
  const overridesContent = (await plugins.smartfs
@@ -103,4 +141,4 @@ export class PackageJsonFormatter extends BaseFormatter {
103
141
  logger.log('info', 'Updated package.json');
104
142
  }
105
143
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZWpzb24uZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXR0ZXJzL3BhY2thZ2Vqc29uLmZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxLQUFLLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFDckQsSUFBSSxJQUFJO1FBQ04sT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFFdkMsdUJBQXVCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osVUFBVSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDcEQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sT0FBTyxDQUFDLE9BQU87YUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDO2FBQ2hCLElBQUksRUFBRSxDQUFXLENBQUM7UUFFckIsZ0NBQWdDO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0Msc0NB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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZWpzb24uZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXR0ZXJzL3BhY2thZ2Vqc29uLmZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxLQUFLLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFDckQsSUFBSSxJQUFJO1FBQ04sT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFFdkMsdUJBQXVCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osVUFBVSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDcEQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sT0FBTyxDQUFDLE9BQU87YUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDO2FBQ2hCLElBQUksRUFBRSxDQUFXLENBQUM7UUFFckIsZ0NBQWdDO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0Msc0NBQXNDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQVEsbUJBQW1CLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxRSxtQ0FBbUM7UUFDbkMsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsV0FBVyxDQUFDLFVBQVUsR0FBRztnQkFDdkIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsR0FBRyxFQUFFLFdBQVcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLE1BQU07YUFDOUcsQ0FBQztZQUNGLFdBQVcsQ0FBQyxJQUFJLEdBQUc7Z0JBQ2pCLEdBQUcsRUFBRSxXQUFXLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxTQUFTO2FBQ2pILENBQUM7WUFDRixXQUFXLENBQUMsUUFBUSxHQUFHLFdBQVcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUNySSxDQUFDO1FBRUQscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsV0FBVyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDOUIsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQ3JDLENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixXQUFXLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLDJCQUEyQixDQUFDO1FBQzFELENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsRUFBRSxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUN0RixNQUFNLGtCQUFrQixHQUFHLGVBQWUsRUFBRSxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuRyxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsRUFBRSxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekYsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE9BQU8sSUFBSSxPQUFPLGNBQWMsYUFBYSxDQUFDO1FBQ3JHLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLGVBQWUsSUFBSSwyQkFBMkIsQ0FBQztRQUM5RyxNQUFNLHlCQUF5QixHQUFHLFFBQVEsc0JBQXNCLEVBQUUsQ0FBQztRQUVuRSxJQUFJLFlBQVksRUFBRSxJQUFJLEtBQUssZUFBZSxJQUFJLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDL0UsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsV0FBVyxDQUFDLEdBQUcsR0FBRyxPQUFPLFdBQVcsQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO29CQUN0RixDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUc7b0JBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLGNBQWMsRUFBRSxDQUFDO1lBQzFELENBQUM7WUFDRCxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztRQUM5RCxDQUFDO2FBQU0sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1lBQzlCLElBQ0UsY0FBYztnQkFDZCxPQUFPLFdBQVcsQ0FBQyxHQUFHLEtBQUssUUFBUTtnQkFDbkMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7Z0JBQy9CLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssS0FBSyxjQUFjLEVBQUUsRUFDekQsQ0FBQztnQkFDRCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM5QyxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyx5QkFBeUIsRUFBRSxDQUFDO2dCQUNsRSxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO1FBRUQsa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHO1lBQ1osU0FBUztZQUNULGFBQWE7WUFDYixXQUFXO1lBQ1gsYUFBYTtZQUNiLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsV0FBVztTQUNaLENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxJQUFJLEtBQUssZUFBZSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3hGLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksWUFBWSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksWUFBWSxFQUFFLElBQUksS0FBSyxlQUFlLElBQUksWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMvRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksMkJBQTJCLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4QyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sT0FBTyxDQUFDLE9BQU87aUJBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7aUJBQzFELFFBQVEsQ0FBQyxNQUFNLENBQUM7aUJBQ2hCLElBQUksRUFBRSxDQUFXLENBQUM7WUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQy9DLFdBQVcsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVFLFVBQVUsQ0FBQyxrQ0FBa0MsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELHFDQUFxQztRQUNyQyxJQUFJLFVBQVUsS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxlQUFlO2dCQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxxQkFBcUI7Z0JBQ2xDLE9BQU8sRUFBRSxVQUFVO2FBQ3BCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFzQjtRQUN0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXhELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiJ9
@@ -11,6 +11,7 @@ import { SmartconfigFormatter } from "./formatters/smartconfig.formatter.js";
11
11
  import { LicenseFormatter } from "./formatters/license.formatter.js";
12
12
  import { PackageJsonFormatter } from "./formatters/packagejson.formatter.js";
13
13
  import { TemplatesFormatter } from "./formatters/templates.formatter.js";
14
+ import { AssetsFormatter } from "./formatters/assets.formatter.js";
14
15
  import { GitignoreFormatter } from "./formatters/gitignore.formatter.js";
15
16
  import { TsconfigFormatter } from "./formatters/tsconfig.formatter.js";
16
17
  import { PrettierFormatter } from "./formatters/prettier.formatter.js";
@@ -49,6 +50,7 @@ const formatterMap = {
49
50
  license: LicenseFormatter,
50
51
  packagejson: PackageJsonFormatter,
51
52
  templates: TemplatesFormatter,
53
+ assets: AssetsFormatter,
52
54
  gitignore: GitignoreFormatter,
53
55
  tsconfig: TsconfigFormatter,
54
56
  prettier: PrettierFormatter,
@@ -159,6 +161,7 @@ const serializePlan = (plan) => {
159
161
  path: change.path,
160
162
  module: change.module,
161
163
  description: change.description,
164
+ mode: change.mode,
162
165
  })),
163
166
  };
164
167
  };
@@ -559,4 +562,4 @@ export function showHelp(mode) {
559
562
  console.log(" gitzone format fix");
560
563
  console.log("");
561
564
  }
562
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8s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
565
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8s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
@@ -19,6 +19,7 @@ export type IPlannedChange = {
19
19
  module: string;
20
20
  description: string;
21
21
  content?: string;
22
+ mode?: string;
22
23
  };
23
24
  export interface ICheckResult {
24
25
  hasDiff: boolean;
@@ -27,6 +28,8 @@ export interface ICheckResult {
27
28
  type: 'create' | 'modify' | 'delete';
28
29
  before?: string;
29
30
  after?: string;
31
+ modeBefore?: string;
32
+ modeAfter?: string;
30
33
  }>;
31
34
  }
32
35
  export declare function getModuleIcon(module: string): string;
@@ -9,8 +9,9 @@ export function getModuleIcon(module) {
9
9
  readme: '📖',
10
10
  templates: '📄',
11
11
  smartconfig: '⚙️',
12
+ assets: '🧩',
12
13
  copy: '📋',
13
14
  };
14
15
  return icons[module] || '📁';
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2ludGVyZmFjZXMuZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DQSxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWM7SUFDMUMsTUFBTSxLQUFLLEdBQTJCO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsSUFBSTtRQUNiLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLEdBQUc7UUFDYixNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUFDakIsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9CLENBQUMifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2ludGVyZmFjZXMuZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDQSxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWM7SUFDMUMsTUFBTSxLQUFLLEdBQTJCO1FBQ3BDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsSUFBSTtRQUNiLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLEdBQUc7UUFDYixNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUFDakIsTUFBTSxFQUFFLElBQUk7UUFDWixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDL0IsQ0FBQyJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@git.zone/cli",
3
3
  "private": false,
4
- "version": "2.20.0",
4
+ "version": "2.21.0",
5
5
  "description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
6
6
  "main": "dist_ts/index.js",
7
7
  "typings": "dist_ts/index.d.ts",
@@ -42,7 +42,7 @@
42
42
  "@git.zone/tsbuild": "^4.4.2",
43
43
  "@git.zone/tsrun": "^2.0.4",
44
44
  "@git.zone/tstest": "^3.6.6",
45
- "@types/node": "^25.9.2"
45
+ "@types/node": "^25.9.3"
46
46
  },
47
47
  "dependencies": {
48
48
  "@git.zone/tsdoc": "^2.0.6",
package/readme.md CHANGED
@@ -302,6 +302,97 @@ gitzone config access public
302
302
  gitzone config migrate 2
303
303
  ```
304
304
 
305
+ ### Managed Assets
306
+
307
+ Projects can opt into generated, updateable repository assets through `@git.zone/cli.assets`. The first supported kind is `denoBinaryCli`, which manages installer scripts, npm binary wrappers, postinstall downloaders, and Gitea release workflows for Deno-compiled CLI binaries.
308
+
309
+ ```json
310
+ {
311
+ "@git.zone/cli": {
312
+ "schemaVersion": 2,
313
+ "assets": {
314
+ "schemaVersion": 1,
315
+ "kind": "denoBinaryCli",
316
+ "cliName": "onebox",
317
+ "displayName": "Onebox",
318
+ "repository": {
319
+ "host": "code.foss.global",
320
+ "path": "serve.zone/onebox",
321
+ "branch": "main"
322
+ },
323
+ "installer": {
324
+ "enabled": true,
325
+ "installDir": "/opt/onebox",
326
+ "binDir": "/usr/local/bin",
327
+ "modes": {
328
+ "default": "binary",
329
+ "source": {
330
+ "enabled": true,
331
+ "commands": ["pnpm install --frozen-lockfile", "pnpm run build"],
332
+ "executable": "cli.js",
333
+ "executableFiles": ["cli.js", "cli.ts.js", "cli.child.js"],
334
+ "validate": "node cli.js --version"
335
+ }
336
+ },
337
+ "service": {
338
+ "detectNames": ["onebox"],
339
+ "refreshCommand": "onebox systemd enable",
340
+ "startHint": "onebox systemd start"
341
+ },
342
+ "ensureDirs": ["/var/lib/onebox", "/var/www/certbot"],
343
+ "preservePaths": ["/var/lib/onebox"]
344
+ },
345
+ "npmWrapper": {
346
+ "enabled": false
347
+ },
348
+ "releaseWorkflow": {
349
+ "compileCommand": "pnpm run build:binary",
350
+ "packNpmArtifact": true,
351
+ "assetGlobs": ["dist/binaries/*", "dist/package/*"]
352
+ }
353
+ }
354
+ },
355
+ "@git.zone/tsdeno": {
356
+ "compileTargets": [
357
+ {
358
+ "name": "onebox-linux-x64",
359
+ "entryPoint": "binary/onebox.ts",
360
+ "outDir": "dist/binaries",
361
+ "target": "x86_64-unknown-linux-gnu",
362
+ "permissions": ["--allow-all"],
363
+ "noCheck": true,
364
+ "selfExtracting": true
365
+ },
366
+ {
367
+ "name": "onebox-linux-arm64",
368
+ "entryPoint": "binary/onebox.ts",
369
+ "outDir": "dist/binaries",
370
+ "target": "aarch64-unknown-linux-gnu",
371
+ "permissions": ["--allow-all"],
372
+ "noCheck": true,
373
+ "selfExtracting": true
374
+ }
375
+ ]
376
+ }
377
+ }
378
+ ```
379
+
380
+ `@git.zone/cli.schemaVersion` remains the CLI config schema. `@git.zone/cli.assets.schemaVersion` is scoped to the managed asset model.
381
+
382
+ Managed assets are applied through the existing formatter workflow:
383
+
384
+ ```bash
385
+ gitzone format plan --only assets --json
386
+ gitzone format check --only assets
387
+ gitzone format --only assets --write --yes
388
+ ```
389
+
390
+ If `npmWrapper.enabled` is set, `gitzone format --only packagejson --write` also keeps `package.json` `bin`, `scripts.postinstall`, and npm package `files` entries in sync.
391
+
392
+ Set `installer.distribution` to `"releaseAsset"` when the installer itself should be published and documented as a Gitea release asset instead of a raw-branch file. That mode automatically stages `install.sh` into the release artifact directory unless `releaseWorkflow.includeInstallerAsset` is set explicitly.
393
+
394
+ Set `installer.service.removeLegacyUnits` to a list of systemd unit names when an installer must disable and remove older service units during upgrades.
395
+
305
396
  ## Formatting
306
397
 
307
398
  `gitzone format` is dry-run by default. That makes it safe to run in any repo.
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@git.zone/cli',
6
- version: '2.20.0',
6
+ version: '2.21.0',
7
7
  description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
8
8
  }
@@ -299,6 +299,17 @@ async function handleShow(mode: ICliMode): Promise<void> {
299
299
  ["docker", formatTarget(targets.docker?.enabled, targets.docker)],
300
300
  ]);
301
301
 
302
+ const rawAssets = cliConfig.assets || {};
303
+ const assets = rawAssets.enabled === false ? {} : rawAssets;
304
+ printConfigSection("Managed Assets", [
305
+ ["enabled", formatValue(rawAssets.enabled === false ? false : rawAssets.kind ? true : undefined)],
306
+ ["kind", formatValue(assets.kind)],
307
+ ["cli name", formatValue(assets.cliName)],
308
+ ["installer", formatValue(assets.installer?.enabled === false ? false : assets.kind ? true : undefined)],
309
+ ["npm wrapper", formatValue(assets.npmWrapper?.enabled)],
310
+ ["release workflow", formatValue(assets.releaseWorkflow?.enabled ?? assets.releaseAssets?.enabled)],
311
+ ]);
312
+
302
313
  console.log("Run `gitzone config doctor` to validate this configuration.");
303
314
  console.log("");
304
315
  }
@@ -1109,6 +1120,7 @@ async function collectDoctorFindings(): Promise<IDoctorFinding[]> {
1109
1120
 
1110
1121
  validateCommitConfig(cliConfig.commit || {}, findings);
1111
1122
  await validateReleaseConfig(cliConfig.release, smartconfigData, findings);
1123
+ await validateAssetsConfig(cliConfig.assets, smartconfigData, findings);
1112
1124
 
1113
1125
  return findings;
1114
1126
  }
@@ -1666,6 +1678,89 @@ async function validateReleaseConfig(
1666
1678
  await validateDockerTarget(targets.docker || {}, smartconfigData, findings);
1667
1679
  }
1668
1680
 
1681
+ async function validateAssetsConfig(
1682
+ rawAssetsConfig: unknown,
1683
+ smartconfigData: Record<string, any>,
1684
+ findings: IDoctorFinding[],
1685
+ ): Promise<void> {
1686
+ if (rawAssetsConfig === undefined) {
1687
+ findings.push({ level: "ok", message: "Managed assets are not configured" });
1688
+ return;
1689
+ }
1690
+ if (!isPlainObject(rawAssetsConfig)) {
1691
+ findings.push({
1692
+ level: "error",
1693
+ message: `Managed assets config must be an object, found ${Array.isArray(rawAssetsConfig) ? "array" : typeof rawAssetsConfig}`,
1694
+ fix: "Set @git.zone/cli.assets to an object or remove it.",
1695
+ });
1696
+ return;
1697
+ }
1698
+ if (rawAssetsConfig.enabled === false) {
1699
+ findings.push({ level: "ok", message: "Managed assets are disabled" });
1700
+ return;
1701
+ }
1702
+ if (rawAssetsConfig.kind !== "denoBinaryCli") {
1703
+ findings.push({
1704
+ level: "error",
1705
+ message: `Unsupported managed asset kind: ${formatValue(rawAssetsConfig.kind)}`,
1706
+ fix: "Use kind denoBinaryCli or disable managed assets.",
1707
+ });
1708
+ return;
1709
+ }
1710
+
1711
+ const cliName = rawAssetsConfig.cliName;
1712
+ if (typeof cliName !== "string" || !cliName.trim()) {
1713
+ findings.push({
1714
+ level: "error",
1715
+ message: "denoBinaryCli assets require cliName",
1716
+ fix: "Set @git.zone/cli.assets.cliName.",
1717
+ });
1718
+ } else {
1719
+ findings.push({ level: "ok", message: `Managed denoBinaryCli assets target ${cliName}` });
1720
+ }
1721
+
1722
+ const tsdenoConfig = smartconfigData["@git.zone/tsdeno"];
1723
+ const binaryTargets = isPlainObject(rawAssetsConfig.binary) && Array.isArray(rawAssetsConfig.binary.targets)
1724
+ ? rawAssetsConfig.binary.targets
1725
+ : isPlainObject(tsdenoConfig) && Array.isArray(tsdenoConfig.compileTargets)
1726
+ ? tsdenoConfig.compileTargets
1727
+ : [];
1728
+ if (binaryTargets.length === 0) {
1729
+ findings.push({
1730
+ level: "error",
1731
+ message: "denoBinaryCli assets require binary targets",
1732
+ fix: "Add @git.zone/tsdeno.compileTargets or @git.zone/cli.assets.binary.targets.",
1733
+ });
1734
+ } else {
1735
+ findings.push({ level: "ok", message: `Managed assets have ${binaryTargets.length} binary target(s)` });
1736
+ }
1737
+
1738
+ const npmWrapper = rawAssetsConfig.npmWrapper;
1739
+ if (isPlainObject(npmWrapper) && npmWrapper.enabled === true && typeof cliName === "string" && cliName.trim()) {
1740
+ const packageJson = await readPackageJson();
1741
+ const binFile = npmWrapper.binFile || `bin/${cliName}-wrapper.js`;
1742
+ const postinstallFile = npmWrapper.postinstallFile || "scripts/install-binary.js";
1743
+ if (!isPlainObject(packageJson.bin) || packageJson.bin[cliName] !== `./${binFile}`) {
1744
+ findings.push({
1745
+ level: "warn",
1746
+ message: `package.json bin entry for ${cliName} is missing or outdated`,
1747
+ fix: "Run `gitzone format --only packagejson --write`.",
1748
+ });
1749
+ } else {
1750
+ findings.push({ level: "ok", message: `package.json bin entry points to ${binFile}` });
1751
+ }
1752
+ if (packageJson.scripts?.postinstall !== `node ${postinstallFile}`) {
1753
+ findings.push({
1754
+ level: "warn",
1755
+ message: "package.json postinstall script is missing or outdated",
1756
+ fix: "Run `gitzone format --only packagejson --write`.",
1757
+ });
1758
+ } else {
1759
+ findings.push({ level: "ok", message: `package.json postinstall runs ${postinstallFile}` });
1760
+ }
1761
+ }
1762
+ }
1763
+
1669
1764
  async function validateGitTarget(
1670
1765
  gitTarget: Record<string, any>,
1671
1766
  findings: IDoctorFinding[],
@@ -62,7 +62,31 @@ export abstract class BaseFormatter {
62
62
  // Override in subclasses if needed
63
63
  }
64
64
 
65
- protected async modifyFile(filepath: string, content: string): Promise<void> {
65
+ protected normalizeFileMode(mode: string | undefined): string | undefined {
66
+ if (!mode) return undefined;
67
+ const normalizedMode = mode.trim();
68
+ if (!/^[0-7]{3,4}$/.test(normalizedMode)) {
69
+ throw new Error(`Invalid file mode ${mode}`);
70
+ }
71
+ return normalizedMode.padStart(4, '0');
72
+ }
73
+
74
+ protected async getFileMode(filepath: string): Promise<string | undefined> {
75
+ try {
76
+ const stats = await plugins.fs.stat(filepath);
77
+ return (stats.mode & 0o777).toString(8).padStart(4, '0');
78
+ } catch {
79
+ return undefined;
80
+ }
81
+ }
82
+
83
+ protected async setFileMode(filepath: string, mode: string): Promise<void> {
84
+ const normalizedMode = this.normalizeFileMode(mode);
85
+ if (!normalizedMode) return;
86
+ await plugins.fs.chmod(filepath, Number.parseInt(normalizedMode, 8));
87
+ }
88
+
89
+ protected async modifyFile(filepath: string, content: string, mode?: string): Promise<void> {
66
90
  if (!filepath || filepath.trim() === '') {
67
91
  throw new Error(`Invalid empty filepath in modifyFile`);
68
92
  }
@@ -73,9 +97,12 @@ export abstract class BaseFormatter {
73
97
  }
74
98
 
75
99
  await plugins.smartfs.file(normalizedPath).encoding('utf8').write(content);
100
+ if (mode) {
101
+ await this.setFileMode(normalizedPath, mode);
102
+ }
76
103
  }
77
104
 
78
- protected async createFile(filepath: string, content: string): Promise<void> {
105
+ protected async createFile(filepath: string, content: string, mode?: string): Promise<void> {
79
106
  let normalizedPath = filepath;
80
107
  if (!plugins.path.parse(filepath).dir) {
81
108
  normalizedPath = './' + filepath;
@@ -88,6 +115,9 @@ export abstract class BaseFormatter {
88
115
  }
89
116
 
90
117
  await plugins.smartfs.file(normalizedPath).encoding('utf8').write(content);
118
+ if (mode) {
119
+ await this.setFileMode(normalizedPath, mode);
120
+ }
91
121
  }
92
122
 
93
123
  protected async deleteFile(filepath: string): Promise<void> {
@@ -115,13 +145,19 @@ export abstract class BaseFormatter {
115
145
  }
116
146
 
117
147
  const newContent = change.content;
148
+ const modeAfter = this.normalizeFileMode(change.mode);
149
+ const modeBefore = modeAfter ? await this.getFileMode(change.path) : undefined;
150
+ const hasContentDiff = currentContent !== newContent && newContent !== undefined;
151
+ const hasModeDiff = modeAfter !== undefined && modeBefore !== modeAfter;
118
152
 
119
- if (currentContent !== newContent && newContent !== undefined) {
153
+ if (hasContentDiff || hasModeDiff) {
120
154
  diffs.push({
121
155
  path: change.path,
122
156
  type: change.type,
123
157
  before: currentContent,
124
158
  after: newContent,
159
+ modeBefore,
160
+ modeAfter,
125
161
  });
126
162
  }
127
163
  } else if (change.type === 'delete') {
@@ -147,21 +183,26 @@ export abstract class BaseFormatter {
147
183
 
148
184
  displayDiff(diff: ICheckResult['diffs'][0]): void {
149
185
  console.log(`\n--- ${diff.path}`);
150
- if (diff.before && diff.after) {
186
+ if (diff.before !== undefined && diff.after !== undefined) {
151
187
  console.log(plugins.smartdiff.formatUnifiedDiffForConsole(diff.before, diff.after, {
152
188
  originalFileName: diff.path,
153
189
  revisedFileName: diff.path,
154
190
  context: 3,
155
191
  }));
156
- } else if (diff.after && !diff.before) {
192
+ } else if (diff.after !== undefined && diff.before === undefined) {
157
193
  console.log(' (new file)');
158
194
  const lines = diff.after.split('\n').slice(0, 10);
159
195
  lines.forEach(line => console.log(` + ${line}`));
160
196
  if (diff.after.split('\n').length > 10) {
161
197
  console.log(' ... (truncated)');
162
198
  }
163
- } else if (diff.before && !diff.after) {
199
+ } else if (diff.type === 'delete') {
164
200
  console.log(' (file will be deleted)');
201
+ } else if (diff.modeAfter) {
202
+ console.log(' (file content unchanged)');
203
+ }
204
+ if (diff.modeBefore !== diff.modeAfter && diff.modeAfter) {
205
+ console.log(` mode: ${diff.modeBefore || '(missing)'} -> ${diff.modeAfter}`);
165
206
  }
166
207
  }
167
208