@git.zone/cli 2.13.10 → 2.13.11

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 (102) hide show
  1. package/assets/templates/{npmextra/npmextra.json → smartconfig/_smartconfig.json} +3 -0
  2. package/dist_ts/classes.gitzoneconfig.js +4 -4
  3. package/dist_ts/gitzone.cli.js +1 -15
  4. package/dist_ts/mod_commit/index.js +4 -4
  5. package/dist_ts/mod_config/classes.commitconfig.d.ts +3 -3
  6. package/dist_ts/mod_config/classes.commitconfig.js +20 -20
  7. package/dist_ts/mod_config/classes.releaseconfig.d.ts +3 -3
  8. package/dist_ts/mod_config/classes.releaseconfig.js +21 -21
  9. package/dist_ts/mod_config/index.js +12 -12
  10. package/dist_ts/mod_format/classes.baseformatter.d.ts +2 -9
  11. package/dist_ts/mod_format/classes.baseformatter.js +13 -26
  12. package/dist_ts/mod_format/classes.formatplanner.d.ts +1 -3
  13. package/dist_ts/mod_format/classes.formatplanner.js +11 -39
  14. package/dist_ts/mod_format/classes.formatstats.d.ts +0 -5
  15. package/dist_ts/mod_format/classes.formatstats.js +3 -35
  16. package/dist_ts/mod_format/formatters/cleanup.formatter.js +1 -2
  17. package/dist_ts/mod_format/formatters/copy.formatter.js +5 -8
  18. package/dist_ts/mod_format/formatters/gitignore.formatter.d.ts +5 -0
  19. package/dist_ts/mod_format/formatters/gitignore.formatter.js +23 -29
  20. package/dist_ts/mod_format/formatters/packagejson.formatter.js +5 -5
  21. package/dist_ts/mod_format/formatters/prettier.formatter.js +4 -12
  22. package/dist_ts/mod_format/formatters/{npmextra.formatter.d.ts → smartconfig.formatter.d.ts} +6 -1
  23. package/dist_ts/mod_format/formatters/smartconfig.formatter.js +180 -0
  24. package/dist_ts/mod_format/formatters/templates.formatter.js +1 -10
  25. package/dist_ts/mod_format/formatters/tsconfig.formatter.js +6 -4
  26. package/dist_ts/mod_format/index.d.ts +0 -4
  27. package/dist_ts/mod_format/index.js +27 -78
  28. package/dist_ts/mod_format/interfaces.format.d.ts +1 -18
  29. package/dist_ts/mod_format/interfaces.format.js +16 -2
  30. package/dist_ts/mod_format/mod.plugins.d.ts +2 -7
  31. package/dist_ts/mod_format/mod.plugins.js +3 -8
  32. package/dist_ts/mod_services/classes.globalregistry.js +2 -2
  33. package/dist_ts/mod_services/classes.servicemanager.d.ts +2 -2
  34. package/dist_ts/mod_services/classes.servicemanager.js +21 -21
  35. package/dist_ts/plugins.d.ts +2 -2
  36. package/dist_ts/plugins.js +3 -3
  37. package/package.json +4 -10
  38. package/ts/classes.gitzoneconfig.ts +3 -3
  39. package/ts/gitzone.cli.ts +0 -17
  40. package/ts/mod_commit/index.ts +3 -3
  41. package/ts/mod_config/classes.commitconfig.ts +19 -19
  42. package/ts/mod_config/classes.releaseconfig.ts +20 -20
  43. package/ts/mod_config/index.ts +11 -11
  44. package/ts/mod_format/classes.baseformatter.ts +14 -25
  45. package/ts/mod_format/classes.formatplanner.ts +10 -39
  46. package/ts/mod_format/classes.formatstats.ts +2 -42
  47. package/ts/mod_format/formatters/cleanup.formatter.ts +0 -1
  48. package/ts/mod_format/formatters/copy.formatter.ts +4 -8
  49. package/ts/mod_format/formatters/gitignore.formatter.ts +25 -29
  50. package/ts/mod_format/formatters/packagejson.formatter.ts +4 -4
  51. package/ts/mod_format/formatters/prettier.formatter.ts +3 -13
  52. package/ts/mod_format/formatters/smartconfig.formatter.ts +213 -0
  53. package/ts/mod_format/formatters/templates.formatter.ts +0 -9
  54. package/ts/mod_format/formatters/tsconfig.formatter.ts +6 -3
  55. package/ts/mod_format/index.ts +35 -98
  56. package/ts/mod_format/interfaces.format.ts +16 -19
  57. package/ts/mod_format/mod.plugins.ts +2 -12
  58. package/ts/mod_services/classes.globalregistry.ts +2 -2
  59. package/ts/mod_services/classes.servicemanager.ts +20 -20
  60. package/ts/plugins.ts +2 -2
  61. package/dist_ts/mod_format/classes.changecache.d.ts +0 -26
  62. package/dist_ts/mod_format/classes.changecache.js +0 -181
  63. package/dist_ts/mod_format/classes.dependency-analyzer.d.ts +0 -13
  64. package/dist_ts/mod_format/classes.dependency-analyzer.js +0 -93
  65. package/dist_ts/mod_format/classes.rollbackmanager.d.ts +0 -22
  66. package/dist_ts/mod_format/classes.rollbackmanager.js +0 -259
  67. package/dist_ts/mod_format/format.cleanup.d.ts +0 -2
  68. package/dist_ts/mod_format/format.cleanup.js +0 -25
  69. package/dist_ts/mod_format/format.copy.d.ts +0 -24
  70. package/dist_ts/mod_format/format.copy.js +0 -77
  71. package/dist_ts/mod_format/format.gitignore.d.ts +0 -2
  72. package/dist_ts/mod_format/format.gitignore.js +0 -48
  73. package/dist_ts/mod_format/format.license.d.ts +0 -2
  74. package/dist_ts/mod_format/format.license.js +0 -26
  75. package/dist_ts/mod_format/format.npmextra.d.ts +0 -5
  76. package/dist_ts/mod_format/format.npmextra.js +0 -125
  77. package/dist_ts/mod_format/format.packagejson.d.ts +0 -2
  78. package/dist_ts/mod_format/format.packagejson.js +0 -145
  79. package/dist_ts/mod_format/format.prettier.d.ts +0 -2
  80. package/dist_ts/mod_format/format.prettier.js +0 -56
  81. package/dist_ts/mod_format/format.readme.d.ts +0 -1
  82. package/dist_ts/mod_format/format.readme.js +0 -29
  83. package/dist_ts/mod_format/format.templates.d.ts +0 -5
  84. package/dist_ts/mod_format/format.templates.js +0 -68
  85. package/dist_ts/mod_format/format.tsconfig.d.ts +0 -2
  86. package/dist_ts/mod_format/format.tsconfig.js +0 -28
  87. package/dist_ts/mod_format/formatters/npmextra.formatter.js +0 -142
  88. package/ts/mod_format/classes.changecache.ts +0 -235
  89. package/ts/mod_format/classes.dependency-analyzer.ts +0 -117
  90. package/ts/mod_format/classes.rollbackmanager.ts +0 -340
  91. package/ts/mod_format/format.cleanup.ts +0 -26
  92. package/ts/mod_format/format.copy.ts +0 -93
  93. package/ts/mod_format/format.gitignore.ts +0 -54
  94. package/ts/mod_format/format.license.ts +0 -32
  95. package/ts/mod_format/format.npmextra.ts +0 -151
  96. package/ts/mod_format/format.packagejson.ts +0 -196
  97. package/ts/mod_format/format.prettier.ts +0 -66
  98. package/ts/mod_format/format.readme.ts +0 -29
  99. package/ts/mod_format/format.templates.ts +0 -79
  100. package/ts/mod_format/format.tsconfig.ts +0 -31
  101. package/ts/mod_format/formatters/npmextra.formatter.ts +0 -174
  102. /package/{npmextra.json → .smartconfig.json} +0 -0
@@ -1,259 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import * as paths from '../paths.js';
3
- export class RollbackManager {
4
- backupDir;
5
- manifestPath;
6
- constructor() {
7
- this.backupDir = plugins.path.join(paths.cwd, '.nogit', 'gitzone-backups');
8
- this.manifestPath = plugins.path.join(this.backupDir, 'manifest.json');
9
- }
10
- async createOperation() {
11
- await this.ensureBackupDir();
12
- const operation = {
13
- id: this.generateOperationId(),
14
- timestamp: Date.now(),
15
- files: [],
16
- status: 'pending',
17
- };
18
- await this.updateManifest(operation);
19
- return operation;
20
- }
21
- async backupFile(filepath, operationId) {
22
- const operation = await this.getOperation(operationId);
23
- if (!operation) {
24
- throw new Error(`Operation ${operationId} not found`);
25
- }
26
- const absolutePath = plugins.path.isAbsolute(filepath)
27
- ? filepath
28
- : plugins.path.join(paths.cwd, filepath);
29
- // Check if file exists
30
- const exists = await plugins.smartfs.file(absolutePath).exists();
31
- if (!exists) {
32
- // File doesn't exist yet (will be created), so we skip backup
33
- return;
34
- }
35
- // Read file content and metadata
36
- const content = (await plugins.smartfs
37
- .file(absolutePath)
38
- .encoding('utf8')
39
- .read());
40
- const stats = await plugins.smartfs.file(absolutePath).stat();
41
- const checksum = this.calculateChecksum(content);
42
- // Create backup
43
- const backupPath = this.getBackupPath(operationId, filepath);
44
- await plugins.smartfs
45
- .directory(plugins.path.dirname(backupPath))
46
- .recursive()
47
- .create();
48
- await plugins.smartfs.file(backupPath).encoding('utf8').write(content);
49
- // Update operation
50
- operation.files.push({
51
- path: filepath,
52
- originalContent: content,
53
- checksum,
54
- permissions: stats.mode.toString(8),
55
- });
56
- await this.updateManifest(operation);
57
- }
58
- async rollback(operationId) {
59
- const operation = await this.getOperation(operationId);
60
- if (!operation) {
61
- // Operation doesn't exist, might have already been rolled back or never created
62
- console.warn(`Operation ${operationId} not found for rollback, skipping`);
63
- return;
64
- }
65
- if (operation.status === 'rolled-back') {
66
- throw new Error(`Operation ${operationId} has already been rolled back`);
67
- }
68
- // Restore files in reverse order
69
- for (let i = operation.files.length - 1; i >= 0; i--) {
70
- const file = operation.files[i];
71
- const absolutePath = plugins.path.isAbsolute(file.path)
72
- ? file.path
73
- : plugins.path.join(paths.cwd, file.path);
74
- // Verify backup integrity
75
- const backupPath = this.getBackupPath(operationId, file.path);
76
- const backupContent = await plugins.smartfs
77
- .file(backupPath)
78
- .encoding('utf8')
79
- .read();
80
- const backupChecksum = this.calculateChecksum(backupContent);
81
- if (backupChecksum !== file.checksum) {
82
- throw new Error(`Backup integrity check failed for ${file.path}`);
83
- }
84
- // Restore file
85
- await plugins.smartfs
86
- .file(absolutePath)
87
- .encoding('utf8')
88
- .write(file.originalContent);
89
- // Restore permissions
90
- const mode = parseInt(file.permissions, 8);
91
- // Note: Permissions restoration may not work on all platforms
92
- }
93
- // Update operation status
94
- operation.status = 'rolled-back';
95
- await this.updateManifest(operation);
96
- }
97
- async markComplete(operationId) {
98
- const operation = await this.getOperation(operationId);
99
- if (!operation) {
100
- throw new Error(`Operation ${operationId} not found`);
101
- }
102
- operation.status = 'completed';
103
- await this.updateManifest(operation);
104
- }
105
- async cleanOldBackups(retentionDays) {
106
- const manifest = await this.getManifest();
107
- const cutoffTime = Date.now() - retentionDays * 24 * 60 * 60 * 1000;
108
- const operationsToDelete = manifest.operations.filter((op) => op.timestamp < cutoffTime && op.status === 'completed');
109
- for (const operation of operationsToDelete) {
110
- // Remove backup files
111
- const operationDir = plugins.path.join(this.backupDir, 'operations', operation.id);
112
- await plugins.smartfs.directory(operationDir).recursive().delete();
113
- // Remove from manifest
114
- manifest.operations = manifest.operations.filter((op) => op.id !== operation.id);
115
- }
116
- await this.saveManifest(manifest);
117
- }
118
- async verifyBackup(operationId) {
119
- const operation = await this.getOperation(operationId);
120
- if (!operation) {
121
- return false;
122
- }
123
- for (const file of operation.files) {
124
- const backupPath = this.getBackupPath(operationId, file.path);
125
- const exists = await plugins.smartfs.file(backupPath).exists();
126
- if (!exists) {
127
- return false;
128
- }
129
- const content = await plugins.smartfs
130
- .file(backupPath)
131
- .encoding('utf8')
132
- .read();
133
- const checksum = this.calculateChecksum(content);
134
- if (checksum !== file.checksum) {
135
- return false;
136
- }
137
- }
138
- return true;
139
- }
140
- async listBackups() {
141
- const manifest = await this.getManifest();
142
- return manifest.operations;
143
- }
144
- async ensureBackupDir() {
145
- await plugins.smartfs.directory(this.backupDir).recursive().create();
146
- await plugins.smartfs
147
- .directory(plugins.path.join(this.backupDir, 'operations'))
148
- .recursive()
149
- .create();
150
- }
151
- generateOperationId() {
152
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
153
- const random = Math.random().toString(36).substring(2, 8);
154
- return `${timestamp}-${random}`;
155
- }
156
- getBackupPath(operationId, filepath) {
157
- const filename = plugins.path.basename(filepath);
158
- const dir = plugins.path.dirname(filepath);
159
- const safeDir = dir.replace(/[/\\]/g, '__');
160
- return plugins.path.join(this.backupDir, 'operations', operationId, 'files', safeDir, `${filename}.backup`);
161
- }
162
- calculateChecksum(content) {
163
- return plugins.crypto.createHash('sha256').update(content).digest('hex');
164
- }
165
- async getManifest() {
166
- const defaultManifest = { operations: [] };
167
- const exists = await plugins.smartfs.file(this.manifestPath).exists();
168
- if (!exists) {
169
- return defaultManifest;
170
- }
171
- try {
172
- const content = (await plugins.smartfs
173
- .file(this.manifestPath)
174
- .encoding('utf8')
175
- .read());
176
- const manifest = JSON.parse(content);
177
- // Validate the manifest structure
178
- if (this.isValidManifest(manifest)) {
179
- return manifest;
180
- }
181
- else {
182
- console.warn('Invalid rollback manifest structure, returning default manifest');
183
- return defaultManifest;
184
- }
185
- }
186
- catch (error) {
187
- console.warn(`Failed to read rollback manifest: ${error.message}, returning default manifest`);
188
- // Try to delete the corrupted file
189
- try {
190
- await plugins.smartfs.file(this.manifestPath).delete();
191
- }
192
- catch (removeError) {
193
- // Ignore removal errors
194
- }
195
- return defaultManifest;
196
- }
197
- }
198
- async saveManifest(manifest) {
199
- // Validate before saving
200
- if (!this.isValidManifest(manifest)) {
201
- throw new Error('Invalid rollback manifest structure, cannot save');
202
- }
203
- // Ensure directory exists
204
- await this.ensureBackupDir();
205
- // Write directly with proper JSON stringification
206
- const jsonContent = JSON.stringify(manifest, null, 2);
207
- await plugins.smartfs
208
- .file(this.manifestPath)
209
- .encoding('utf8')
210
- .write(jsonContent);
211
- }
212
- async getOperation(operationId) {
213
- const manifest = await this.getManifest();
214
- return manifest.operations.find((op) => op.id === operationId) || null;
215
- }
216
- async updateManifest(operation) {
217
- const manifest = await this.getManifest();
218
- const existingIndex = manifest.operations.findIndex((op) => op.id === operation.id);
219
- if (existingIndex !== -1) {
220
- manifest.operations[existingIndex] = operation;
221
- }
222
- else {
223
- manifest.operations.push(operation);
224
- }
225
- await this.saveManifest(manifest);
226
- }
227
- isValidManifest(manifest) {
228
- // Check if manifest has the required structure
229
- if (!manifest || typeof manifest !== 'object') {
230
- return false;
231
- }
232
- // Check required fields
233
- if (!Array.isArray(manifest.operations)) {
234
- return false;
235
- }
236
- // Check each operation entry
237
- for (const operation of manifest.operations) {
238
- if (!operation ||
239
- typeof operation !== 'object' ||
240
- typeof operation.id !== 'string' ||
241
- typeof operation.timestamp !== 'number' ||
242
- typeof operation.status !== 'string' ||
243
- !Array.isArray(operation.files)) {
244
- return false;
245
- }
246
- // Check each file in the operation
247
- for (const file of operation.files) {
248
- if (!file ||
249
- typeof file !== 'object' ||
250
- typeof file.path !== 'string' ||
251
- typeof file.checksum !== 'string') {
252
- return false;
253
- }
254
- }
255
- }
256
- return true;
257
- }
258
- }
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5yb2xsYmFja21hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2NsYXNzZXMucm9sbGJhY2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFHckMsTUFBTSxPQUFPLGVBQWU7SUFDbEIsU0FBUyxDQUFTO0lBQ2xCLFlBQVksQ0FBUztJQUU3QjtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRTdCLE1BQU0sU0FBUyxHQUFxQjtZQUNsQyxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLFdBQW1CO1FBQ3BELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7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
@@ -1,2 +0,0 @@
1
- import { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;
@@ -1,25 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import * as paths from '../paths.js';
3
- import { logger } from '../gitzone.logging.js';
4
- import { Project } from '../classes.project.js';
5
- const filesToDelete = [
6
- 'defaults.yml',
7
- 'yarn.lock',
8
- 'package-lock.json',
9
- 'tslint.json',
10
- ];
11
- export const run = async (projectArg) => {
12
- for (const relativeFilePath of filesToDelete) {
13
- const fileExists = await plugins.smartfs.file(relativeFilePath).exists();
14
- if (fileExists) {
15
- logger.log('info', `Found ${relativeFilePath}! Removing it!`);
16
- await plugins.smartfs
17
- .file(plugins.path.join(paths.cwd, relativeFilePath))
18
- .delete();
19
- }
20
- else {
21
- logger.log('info', `Project is free of ${relativeFilePath}`);
22
- }
23
- }
24
- };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmNsZWFudXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5jbGVhbnVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFFckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxNQUFNLGFBQWEsR0FBRztJQUNwQixjQUFjO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixhQUFhO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsVUFBbUIsRUFBRSxFQUFFO0lBQy9DLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsZ0JBQWdCLGdCQUFnQixDQUFDLENBQUM7WUFDOUQsTUFBTSxPQUFPLENBQUMsT0FBTztpQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztpQkFDcEQsTUFBTSxFQUFFLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHNCQUFzQixnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUMifQ==
@@ -1,24 +0,0 @@
1
- import type { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;
3
- /**
4
- * Example npmextra.json configuration:
5
- * {
6
- * "gitzone": {
7
- * "format": {
8
- * "copy": {
9
- * "patterns": [
10
- * {
11
- * "from": "src/assets/*",
12
- * "to": "dist/assets/",
13
- * "preservePath": true
14
- * },
15
- * {
16
- * "from": "config/*.json",
17
- * "to": "dist/"
18
- * }
19
- * ]
20
- * }
21
- * }
22
- * }
23
- * }
24
- */
@@ -1,77 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import { logger } from '../gitzone.logging.js';
3
- export const run = async (projectArg) => {
4
- const gitzoneConfig = await projectArg.gitzoneConfig;
5
- // Get copy configuration from npmextra.json
6
- const npmextraConfig = new plugins.npmextra.Smartconfig();
7
- const copyConfig = npmextraConfig.dataFor('gitzone.format.copy', {
8
- patterns: [],
9
- });
10
- if (!copyConfig.patterns || copyConfig.patterns.length === 0) {
11
- logger.log('info', 'No copy patterns configured in npmextra.json');
12
- return;
13
- }
14
- for (const pattern of copyConfig.patterns) {
15
- if (!pattern.from || !pattern.to) {
16
- logger.log('warn', 'Invalid copy pattern - missing "from" or "to" field');
17
- continue;
18
- }
19
- try {
20
- // Handle glob patterns
21
- const entries = await plugins.smartfs
22
- .directory('.')
23
- .recursive()
24
- .filter(pattern.from)
25
- .list();
26
- const files = entries.map((entry) => entry.path);
27
- for (const file of files) {
28
- const sourcePath = file;
29
- let destPath = pattern.to;
30
- // If destination is a directory, preserve filename
31
- if (pattern.to.endsWith('/')) {
32
- const filename = plugins.path.basename(file);
33
- destPath = plugins.path.join(pattern.to, filename);
34
- }
35
- // Handle template variables in destination path
36
- if (pattern.preservePath) {
37
- const relativePath = plugins.path.relative(plugins.path.dirname(pattern.from.replace(/\*/g, '')), file);
38
- destPath = plugins.path.join(pattern.to, relativePath);
39
- }
40
- // Ensure destination directory exists
41
- await plugins.smartfs
42
- .directory(plugins.path.dirname(destPath))
43
- .recursive()
44
- .create();
45
- // Copy file
46
- await plugins.smartfs.file(sourcePath).copy(destPath);
47
- logger.log('info', `Copied ${sourcePath} to ${destPath}`);
48
- }
49
- }
50
- catch (error) {
51
- logger.log('error', `Failed to copy pattern ${pattern.from}: ${error.message}`);
52
- }
53
- }
54
- };
55
- /**
56
- * Example npmextra.json configuration:
57
- * {
58
- * "gitzone": {
59
- * "format": {
60
- * "copy": {
61
- * "patterns": [
62
- * {
63
- * "from": "src/assets/*",
64
- * "to": "dist/assets/",
65
- * "preservePath": true
66
- * },
67
- * {
68
- * "from": "config/*.json",
69
- * "to": "dist/"
70
- * }
71
- * ]
72
- * }
73
- * }
74
- * }
75
- * }
76
- */
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsVUFBbUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUVyRCw0Q0FBNEM7SUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQU0scUJBQXFCLEVBQUU7UUFDcEUsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ25FLE9BQU87SUFDVCxDQUFDO0lBRUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUscURBQXFELENBQUMsQ0FBQztZQUMxRSxTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILHVCQUF1QjtZQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPO2lCQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDO2lCQUNkLFNBQVMsRUFBRTtpQkFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDcEIsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUUxQixtREFBbUQ7Z0JBQ25ELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzdDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2dCQUVELGdEQUFnRDtnQkFDaEQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3pCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDckQsSUFBSSxDQUNMLENBQUM7b0JBQ0YsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3pELENBQUM7Z0JBRUQsc0NBQXNDO2dCQUN0QyxNQUFNLE9BQU8sQ0FBQyxPQUFPO3FCQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3pDLFNBQVMsRUFBRTtxQkFDWCxNQUFNLEVBQUUsQ0FBQztnQkFFWixZQUFZO2dCQUNaLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLFVBQVUsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxHQUFHLENBQ1IsT0FBTyxFQUNQLDBCQUEwQixPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDM0QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRyJ9
@@ -1,2 +0,0 @@
1
- import { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;
@@ -1,48 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import * as paths from '../paths.js';
3
- import { Project } from '../classes.project.js';
4
- import { logger } from '../gitzone.logging.js';
5
- const gitignorePath = plugins.path.join(paths.cwd, './.gitignore');
6
- export const run = async (projectArg) => {
7
- const gitignoreExists = await plugins.smartfs.file(gitignorePath).exists();
8
- let customContent = '';
9
- if (gitignoreExists) {
10
- // lets get the existing gitignore file
11
- const existingGitIgnoreString = (await plugins.smartfs
12
- .file(gitignorePath)
13
- .encoding('utf8')
14
- .read());
15
- // Check for different custom section markers
16
- const customMarkers = ['#------# custom', '# custom'];
17
- for (const marker of customMarkers) {
18
- const splitResult = existingGitIgnoreString.split(marker);
19
- if (splitResult.length > 1) {
20
- // Get everything after the marker (excluding the marker itself)
21
- customContent = splitResult[1].trim();
22
- break;
23
- }
24
- }
25
- }
26
- // Write the template
27
- const templateModule = await import('../mod_template/index.js');
28
- const ciTemplate = await templateModule.getTemplate('gitignore');
29
- await ciTemplate.writeToDisk(paths.cwd);
30
- // Append the custom content if it exists
31
- if (customContent) {
32
- const newGitignoreContent = (await plugins.smartfs
33
- .file(gitignorePath)
34
- .encoding('utf8')
35
- .read());
36
- // The template already ends with "#------# custom", so just append the content
37
- const finalContent = newGitignoreContent.trimEnd() + '\n' + customContent + '\n';
38
- await plugins.smartfs
39
- .file(gitignorePath)
40
- .encoding('utf8')
41
- .write(finalContent);
42
- logger.log('info', 'Updated .gitignore while preserving custom section!');
43
- }
44
- else {
45
- logger.log('info', 'Added a .gitignore!');
46
- }
47
- };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmdpdGlnbm9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9mb3JtYXQvZm9ybWF0LmdpdGlnbm9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUV2QixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLHVDQUF1QztRQUN2QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTzthQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ25CLFFBQVEsQ0FBQyxNQUFNLENBQUM7YUFDaEIsSUFBSSxFQUFFLENBQVcsQ0FBQztRQUVyQiw2Q0FBNkM7UUFDN0MsTUFBTSxhQUFhLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RCxLQUFLLE1BQU0sTUFBTSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ25DLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLGdFQUFnRTtnQkFDaEUsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEMsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixNQUFNLGNBQWMsR0FBRyxNQUFNLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLE1BQU0sY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXhDLHlDQUF5QztJQUN6QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPO2FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDbkIsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQixJQUFJLEVBQUUsQ0FBVyxDQUFDO1FBQ3JCLCtFQUErRTtRQUMvRSxNQUFNLFlBQVksR0FDaEIsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUQsTUFBTSxPQUFPLENBQUMsT0FBTzthQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ25CLFFBQVEsQ0FBQyxNQUFNLENBQUM7YUFDaEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHFEQUFxRCxDQUFDLENBQUM7SUFDNUUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDSCxDQUFDLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- import { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;
@@ -1,26 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import * as paths from '../paths.js';
3
- import { Project } from '../classes.project.js';
4
- import { logger } from '../gitzone.logging.js';
5
- const incompatibleLicenses = ['AGPL', 'GPL', 'SSPL'];
6
- export const run = async (projectArg) => {
7
- const nodeModulesInstalled = await plugins.smartfs
8
- .directory(plugins.path.join(paths.cwd, 'node_modules'))
9
- .exists();
10
- if (!nodeModulesInstalled) {
11
- logger.log('warn', 'No node_modules found. Skipping license check');
12
- return;
13
- }
14
- const licenseChecker = await plugins.smartlegal.createLicenseChecker();
15
- const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath(paths.cwd, incompatibleLicenses);
16
- if (licenseCheckResult.failingModules.length === 0) {
17
- logger.log('info', 'Success -> licenses passed!');
18
- }
19
- else {
20
- logger.log('error', 'Error -> licenses failed. Here is why:');
21
- for (const failedModule of licenseCheckResult.failingModules) {
22
- console.log(`${failedModule.name} fails with license ${failedModule.license}`);
23
- }
24
- }
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmxpY2Vuc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5saWNlbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLG9CQUFvQixHQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU87U0FDL0MsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDdkQsTUFBTSxFQUFFLENBQUM7SUFDWixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO1FBQ3BFLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkUsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDdEUsS0FBSyxDQUFDLEdBQUcsRUFDVCxvQkFBb0IsQ0FDckIsQ0FBQztJQUNGLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztRQUM5RCxLQUFLLE1BQU0sWUFBWSxJQUFJLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdELE9BQU8sQ0FBQyxHQUFHLENBQ1QsR0FBRyxZQUFZLENBQUMsSUFBSSx1QkFBdUIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUNsRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUMifQ==
@@ -1,5 +0,0 @@
1
- import { Project } from '../classes.project.js';
2
- /**
3
- * runs the npmextra file checking
4
- */
5
- export declare const run: (projectArg: Project) => Promise<void>;
@@ -1,125 +0,0 @@
1
- import * as plugins from './mod.plugins.js';
2
- import * as paths from '../paths.js';
3
- import * as gulpFunction from '@push.rocks/gulp-function';
4
- import { Project } from '../classes.project.js';
5
- /**
6
- * Migrates npmextra.json from old namespace keys to new package-scoped keys
7
- */
8
- const migrateNamespaceKeys = (npmextraJson) => {
9
- let migrated = false;
10
- const migrations = [
11
- { oldKey: 'gitzone', newKey: '@git.zone/cli' },
12
- { oldKey: 'tsdoc', newKey: '@git.zone/tsdoc' },
13
- { oldKey: 'npmdocker', newKey: '@git.zone/tsdocker' },
14
- { oldKey: 'npmci', newKey: '@ship.zone/szci' },
15
- { oldKey: 'szci', newKey: '@ship.zone/szci' },
16
- ];
17
- for (const { oldKey, newKey } of migrations) {
18
- if (npmextraJson[oldKey]) {
19
- if (!npmextraJson[newKey]) {
20
- // New key doesn't exist - simple rename
21
- npmextraJson[newKey] = npmextraJson[oldKey];
22
- }
23
- else {
24
- // New key exists - merge old into new (old values don't overwrite new)
25
- npmextraJson[newKey] = {
26
- ...npmextraJson[oldKey],
27
- ...npmextraJson[newKey],
28
- };
29
- }
30
- delete npmextraJson[oldKey];
31
- migrated = true;
32
- console.log(`Migrated npmextra.json: ${oldKey} -> ${newKey}`);
33
- }
34
- }
35
- return migrated;
36
- };
37
- /**
38
- * Migrates npmAccessLevel from @ship.zone/szci to @git.zone/cli.release.accessLevel
39
- * This is a one-time migration for projects using the old location
40
- */
41
- const migrateAccessLevel = (npmextraJson) => {
42
- const szciConfig = npmextraJson['@ship.zone/szci'];
43
- // Check if szci has npmAccessLevel that needs to be migrated
44
- if (!szciConfig?.npmAccessLevel) {
45
- return false;
46
- }
47
- // Check if we already have the new location
48
- const gitzoneConfig = npmextraJson['@git.zone/cli'] || {};
49
- if (gitzoneConfig?.release?.accessLevel) {
50
- // Already migrated, just remove from szci
51
- delete szciConfig.npmAccessLevel;
52
- return true;
53
- }
54
- // Ensure @git.zone/cli and release exist
55
- if (!npmextraJson['@git.zone/cli']) {
56
- npmextraJson['@git.zone/cli'] = {};
57
- }
58
- if (!npmextraJson['@git.zone/cli'].release) {
59
- npmextraJson['@git.zone/cli'].release = {};
60
- }
61
- // Migrate the value
62
- npmextraJson['@git.zone/cli'].release.accessLevel = szciConfig.npmAccessLevel;
63
- delete szciConfig.npmAccessLevel;
64
- console.log(`Migrated npmAccessLevel to @git.zone/cli.release.accessLevel`);
65
- return true;
66
- };
67
- /**
68
- * runs the npmextra file checking
69
- */
70
- export const run = async (projectArg) => {
71
- const formatSmartstream = new plugins.smartstream.StreamWrapper([
72
- plugins.smartgulp.src([`smartconfig.json`]),
73
- gulpFunction.forEach(async (fileArg) => {
74
- const fileString = fileArg.contents.toString();
75
- const npmextraJson = JSON.parse(fileString);
76
- // Migrate old namespace keys to new package-scoped keys
77
- migrateNamespaceKeys(npmextraJson);
78
- // Migrate npmAccessLevel from szci to @git.zone/cli.release.accessLevel
79
- migrateAccessLevel(npmextraJson);
80
- if (!npmextraJson['@git.zone/cli']) {
81
- npmextraJson['@git.zone/cli'] = {};
82
- }
83
- const expectedRepoInformation = [
84
- 'projectType',
85
- 'module.githost',
86
- 'module.gitscope',
87
- 'module.gitrepo',
88
- 'module.description',
89
- 'module.npmPackagename',
90
- 'module.license',
91
- ];
92
- const interactInstance = new plugins.smartinteract.SmartInteract();
93
- for (const expectedRepoInformationItem of expectedRepoInformation) {
94
- if (!plugins.smartobject.smartGet(npmextraJson['@git.zone/cli'], expectedRepoInformationItem)) {
95
- interactInstance.addQuestions([
96
- {
97
- message: `What is the value of ${expectedRepoInformationItem}`,
98
- name: expectedRepoInformationItem,
99
- type: 'input',
100
- default: 'undefined variable',
101
- },
102
- ]);
103
- }
104
- }
105
- const answerbucket = await interactInstance.runQueue();
106
- for (const expectedRepoInformationItem of expectedRepoInformation) {
107
- const cliProvidedValue = answerbucket.getAnswerFor(expectedRepoInformationItem);
108
- if (cliProvidedValue) {
109
- plugins.smartobject.smartAdd(npmextraJson['@git.zone/cli'], expectedRepoInformationItem, cliProvidedValue);
110
- }
111
- }
112
- // delete obsolete
113
- // tbd
114
- if (!npmextraJson['@ship.zone/szci']) {
115
- npmextraJson['@ship.zone/szci'] = {};
116
- }
117
- fileArg.setContentsFromString(JSON.stringify(npmextraJson, null, 2));
118
- }),
119
- plugins.smartgulp.replace(),
120
- ]);
121
- await formatSmartstream.run().catch((error) => {
122
- console.log(error);
123
- });
124
- };
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0Lm5wbWV4dHJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXQubnBtZXh0cmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEtBQUssWUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRDs7R0FFRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxZQUFpQixFQUFXLEVBQUU7SUFDMUQsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFO1FBQzlDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUU7UUFDOUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRTtRQUNyRCxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFO1FBQzlDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUU7S0FDOUMsQ0FBQztJQUNGLEtBQUssTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsd0NBQXdDO2dCQUN4QyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLENBQUM7aUJB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
@@ -1,2 +0,0 @@
1
- import { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;