@git.zone/cli 2.13.8 → 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.
- package/assets/templates/gitignore/_gitignore +4 -0
- package/assets/templates/{npmextra/npmextra.json → smartconfig/_smartconfig.json} +3 -0
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/classes.gitzoneconfig.js +4 -4
- package/dist_ts/gitzone.cli.js +1 -15
- package/dist_ts/mod_commit/index.js +4 -4
- package/dist_ts/mod_config/classes.commitconfig.d.ts +3 -3
- package/dist_ts/mod_config/classes.commitconfig.js +20 -20
- package/dist_ts/mod_config/classes.releaseconfig.d.ts +3 -3
- package/dist_ts/mod_config/classes.releaseconfig.js +21 -21
- package/dist_ts/mod_config/index.js +12 -12
- package/dist_ts/mod_format/classes.baseformatter.d.ts +2 -9
- package/dist_ts/mod_format/classes.baseformatter.js +13 -26
- package/dist_ts/mod_format/classes.formatplanner.d.ts +1 -3
- package/dist_ts/mod_format/classes.formatplanner.js +11 -39
- package/dist_ts/mod_format/classes.formatstats.d.ts +0 -5
- package/dist_ts/mod_format/classes.formatstats.js +3 -35
- package/dist_ts/mod_format/formatters/cleanup.formatter.js +1 -2
- package/dist_ts/mod_format/formatters/copy.formatter.js +5 -8
- package/dist_ts/mod_format/formatters/gitignore.formatter.d.ts +5 -0
- package/dist_ts/mod_format/formatters/gitignore.formatter.js +23 -29
- package/dist_ts/mod_format/formatters/packagejson.formatter.js +5 -5
- package/dist_ts/mod_format/formatters/prettier.formatter.js +4 -12
- package/dist_ts/mod_format/formatters/{npmextra.formatter.d.ts → smartconfig.formatter.d.ts} +6 -1
- package/dist_ts/mod_format/formatters/smartconfig.formatter.js +180 -0
- package/dist_ts/mod_format/formatters/templates.formatter.js +1 -10
- package/dist_ts/mod_format/formatters/tsconfig.formatter.js +6 -4
- package/dist_ts/mod_format/index.d.ts +0 -4
- package/dist_ts/mod_format/index.js +27 -78
- package/dist_ts/mod_format/interfaces.format.d.ts +1 -18
- package/dist_ts/mod_format/interfaces.format.js +16 -2
- package/dist_ts/mod_format/mod.plugins.d.ts +2 -7
- package/dist_ts/mod_format/mod.plugins.js +3 -8
- package/dist_ts/mod_services/classes.globalregistry.js +2 -2
- package/dist_ts/mod_services/classes.servicemanager.d.ts +2 -2
- package/dist_ts/mod_services/classes.servicemanager.js +21 -21
- package/dist_ts/plugins.d.ts +2 -2
- package/dist_ts/plugins.js +3 -3
- package/package.json +11 -17
- package/readme.md +231 -218
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.gitzoneconfig.ts +3 -3
- package/ts/gitzone.cli.ts +0 -17
- package/ts/mod_commit/index.ts +3 -3
- package/ts/mod_config/classes.commitconfig.ts +19 -19
- package/ts/mod_config/classes.releaseconfig.ts +20 -20
- package/ts/mod_config/index.ts +11 -11
- package/ts/mod_format/classes.baseformatter.ts +14 -25
- package/ts/mod_format/classes.formatplanner.ts +10 -39
- package/ts/mod_format/classes.formatstats.ts +2 -42
- package/ts/mod_format/formatters/cleanup.formatter.ts +0 -1
- package/ts/mod_format/formatters/copy.formatter.ts +4 -8
- package/ts/mod_format/formatters/gitignore.formatter.ts +25 -29
- package/ts/mod_format/formatters/packagejson.formatter.ts +4 -4
- package/ts/mod_format/formatters/prettier.formatter.ts +3 -13
- package/ts/mod_format/formatters/smartconfig.formatter.ts +213 -0
- package/ts/mod_format/formatters/templates.formatter.ts +0 -9
- package/ts/mod_format/formatters/tsconfig.formatter.ts +6 -3
- package/ts/mod_format/index.ts +35 -98
- package/ts/mod_format/interfaces.format.ts +16 -19
- package/ts/mod_format/mod.plugins.ts +2 -12
- package/ts/mod_services/classes.globalregistry.ts +2 -2
- package/ts/mod_services/classes.servicemanager.ts +20 -20
- package/ts/plugins.ts +2 -2
- package/dist_ts/mod_format/classes.changecache.d.ts +0 -26
- package/dist_ts/mod_format/classes.changecache.js +0 -181
- package/dist_ts/mod_format/classes.dependency-analyzer.d.ts +0 -13
- package/dist_ts/mod_format/classes.dependency-analyzer.js +0 -93
- package/dist_ts/mod_format/classes.rollbackmanager.d.ts +0 -22
- package/dist_ts/mod_format/classes.rollbackmanager.js +0 -259
- package/dist_ts/mod_format/format.cleanup.d.ts +0 -2
- package/dist_ts/mod_format/format.cleanup.js +0 -25
- package/dist_ts/mod_format/format.copy.d.ts +0 -24
- package/dist_ts/mod_format/format.copy.js +0 -77
- package/dist_ts/mod_format/format.gitignore.d.ts +0 -2
- package/dist_ts/mod_format/format.gitignore.js +0 -48
- package/dist_ts/mod_format/format.license.d.ts +0 -2
- package/dist_ts/mod_format/format.license.js +0 -26
- package/dist_ts/mod_format/format.npmextra.d.ts +0 -5
- package/dist_ts/mod_format/format.npmextra.js +0 -125
- package/dist_ts/mod_format/format.packagejson.d.ts +0 -2
- package/dist_ts/mod_format/format.packagejson.js +0 -145
- package/dist_ts/mod_format/format.prettier.d.ts +0 -2
- package/dist_ts/mod_format/format.prettier.js +0 -56
- package/dist_ts/mod_format/format.readme.d.ts +0 -1
- package/dist_ts/mod_format/format.readme.js +0 -29
- package/dist_ts/mod_format/format.templates.d.ts +0 -5
- package/dist_ts/mod_format/format.templates.js +0 -68
- package/dist_ts/mod_format/format.tsconfig.d.ts +0 -2
- package/dist_ts/mod_format/format.tsconfig.js +0 -28
- package/dist_ts/mod_format/formatters/npmextra.formatter.js +0 -142
- package/ts/mod_format/classes.changecache.ts +0 -235
- package/ts/mod_format/classes.dependency-analyzer.ts +0 -117
- package/ts/mod_format/classes.rollbackmanager.ts +0 -340
- package/ts/mod_format/format.cleanup.ts +0 -26
- package/ts/mod_format/format.copy.ts +0 -93
- package/ts/mod_format/format.gitignore.ts +0 -54
- package/ts/mod_format/format.license.ts +0 -32
- package/ts/mod_format/format.npmextra.ts +0 -151
- package/ts/mod_format/format.packagejson.ts +0 -196
- package/ts/mod_format/format.prettier.ts +0 -66
- package/ts/mod_format/format.readme.ts +0 -29
- package/ts/mod_format/format.templates.ts +0 -79
- package/ts/mod_format/format.tsconfig.ts +0 -31
- package/ts/mod_format/formatters/npmextra.formatter.ts +0 -174
- /package/{npmextra.json → .smartconfig.json} +0 -0
|
@@ -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.Npmextra();
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsVUFBbUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUVyRCw0Q0FBNEM7SUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQU0scUJBQXFCLEVBQUU7UUFDcEUsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ25FLE9BQU87SUFDVCxDQUFDO0lBRUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUscURBQXFELENBQUMsQ0FBQztZQUMxRSxTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILHVCQUF1QjtZQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPO2lCQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDO2lCQUNkLFNBQVMsRUFBRTtpQkFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDcEIsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUUxQixtREFBbUQ7Z0JBQ25ELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzdDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2dCQUVELGdEQUFnRDtnQkFDaEQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3pCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDckQsSUFBSSxDQUNMLENBQUM7b0JBQ0YsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3pELENBQUM7Z0JBRUQsc0NBQXNDO2dCQUN0QyxNQUFNLE9BQU8sQ0FBQyxPQUFPO3FCQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3pDLFNBQVMsRUFBRTtxQkFDWCxNQUFNLEVBQUUsQ0FBQztnQkFFWixZQUFZO2dCQUNaLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLFVBQVUsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxHQUFHLENBQ1IsT0FBTyxFQUNQLDBCQUEwQixPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDM0QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRyJ9
|
|
@@ -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,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,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([`npmextra.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,145 +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
|
-
import { logger } from '../gitzone.logging.js';
|
|
6
|
-
/**
|
|
7
|
-
* ensures a certain dependency
|
|
8
|
-
*/
|
|
9
|
-
const ensureDependency = async (packageJsonObjectArg, position, constraint, dependencyArg) => {
|
|
10
|
-
const [packageName, version] = dependencyArg.includes('@')
|
|
11
|
-
? dependencyArg.split('@').filter(Boolean)
|
|
12
|
-
: [dependencyArg, 'latest'];
|
|
13
|
-
const targetSections = [];
|
|
14
|
-
switch (position) {
|
|
15
|
-
case 'dep':
|
|
16
|
-
targetSections.push('dependencies');
|
|
17
|
-
break;
|
|
18
|
-
case 'devDep':
|
|
19
|
-
targetSections.push('devDependencies');
|
|
20
|
-
break;
|
|
21
|
-
case 'everywhere':
|
|
22
|
-
targetSections.push('dependencies', 'devDependencies');
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
for (const section of targetSections) {
|
|
26
|
-
if (!packageJsonObjectArg[section]) {
|
|
27
|
-
packageJsonObjectArg[section] = {};
|
|
28
|
-
}
|
|
29
|
-
switch (constraint) {
|
|
30
|
-
case 'exclude':
|
|
31
|
-
delete packageJsonObjectArg[section][packageName];
|
|
32
|
-
break;
|
|
33
|
-
case 'include':
|
|
34
|
-
if (!packageJsonObjectArg[section][packageName]) {
|
|
35
|
-
packageJsonObjectArg[section][packageName] =
|
|
36
|
-
version === 'latest' ? '^1.0.0' : version;
|
|
37
|
-
}
|
|
38
|
-
break;
|
|
39
|
-
case 'latest':
|
|
40
|
-
// Fetch latest version from npm
|
|
41
|
-
try {
|
|
42
|
-
const registry = new plugins.smartnpm.NpmRegistry();
|
|
43
|
-
const packageInfo = await registry.getPackageInfo(packageName);
|
|
44
|
-
const latestVersion = packageInfo['dist-tags'].latest;
|
|
45
|
-
packageJsonObjectArg[section][packageName] = `^${latestVersion}`;
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
logger.log('warn', `Could not fetch latest version for ${packageName}, using existing or default`);
|
|
49
|
-
if (!packageJsonObjectArg[section][packageName]) {
|
|
50
|
-
packageJsonObjectArg[section][packageName] =
|
|
51
|
-
version === 'latest' ? '^1.0.0' : version;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
export const run = async (projectArg) => {
|
|
59
|
-
const formatStreamWrapper = new plugins.smartstream.StreamWrapper([
|
|
60
|
-
plugins.smartgulp.src([`package.json`]),
|
|
61
|
-
gulpFunction.forEach(async (fileArg) => {
|
|
62
|
-
const npmextraConfig = new plugins.npmextra.Npmextra(paths.cwd);
|
|
63
|
-
const gitzoneData = npmextraConfig.dataFor('@git.zone/cli', {});
|
|
64
|
-
const fileString = fileArg.contents.toString();
|
|
65
|
-
const packageJson = JSON.parse(fileString);
|
|
66
|
-
// metadata
|
|
67
|
-
packageJson.repository = {
|
|
68
|
-
type: 'git',
|
|
69
|
-
url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}.git`,
|
|
70
|
-
};
|
|
71
|
-
((packageJson.bugs = {
|
|
72
|
-
url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}/issues`,
|
|
73
|
-
}),
|
|
74
|
-
(packageJson.homepage = `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}#readme`));
|
|
75
|
-
// Check for module type
|
|
76
|
-
if (!packageJson.type) {
|
|
77
|
-
logger.log('info', `setting packageJson.type to "module"`);
|
|
78
|
-
packageJson.type = 'module';
|
|
79
|
-
}
|
|
80
|
-
// Check for private or public
|
|
81
|
-
if (packageJson.private !== undefined) {
|
|
82
|
-
logger.log('info', 'Success -> found private/public info in package.json!');
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
logger.log('error', 'found no private boolean! Setting it to private for now!');
|
|
86
|
-
packageJson.private = true;
|
|
87
|
-
}
|
|
88
|
-
// Check for license
|
|
89
|
-
if (packageJson.license) {
|
|
90
|
-
logger.log('info', 'Success -> found license in package.json!');
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
logger.log('error', 'found no license! Setting it to UNLICENSED for now!');
|
|
94
|
-
packageJson.license = 'UNLICENSED';
|
|
95
|
-
}
|
|
96
|
-
// Check for build script
|
|
97
|
-
if (packageJson.scripts.build) {
|
|
98
|
-
logger.log('info', 'Success -> found build script in package.json!');
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
logger.log('error', 'found no build script! Putting a placeholder there for now!');
|
|
102
|
-
packageJson.scripts.build = `echo "Not needed for now"`;
|
|
103
|
-
}
|
|
104
|
-
// Check for buildDocs script
|
|
105
|
-
if (!packageJson.scripts.buildDocs) {
|
|
106
|
-
logger.log('info', 'found no buildDocs script! Putting tsdoc script there now.');
|
|
107
|
-
packageJson.scripts.buildDocs = `tsdoc`;
|
|
108
|
-
}
|
|
109
|
-
// check for files
|
|
110
|
-
packageJson.files = [
|
|
111
|
-
'ts/**/*',
|
|
112
|
-
'ts_web/**/*',
|
|
113
|
-
'dist/**/*',
|
|
114
|
-
'dist_*/**/*',
|
|
115
|
-
'dist_ts/**/*',
|
|
116
|
-
'dist_ts_web/**/*',
|
|
117
|
-
'assets/**/*',
|
|
118
|
-
'cli.js',
|
|
119
|
-
'npmextra.json',
|
|
120
|
-
'readme.md',
|
|
121
|
-
];
|
|
122
|
-
// check for dependencies
|
|
123
|
-
// Note: @push.rocks/tapbundle is deprecated - use @git.zone/tstest/tapbundle instead
|
|
124
|
-
await ensureDependency(packageJson, 'devDep', 'exclude', '@push.rocks/tapbundle');
|
|
125
|
-
await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tstest');
|
|
126
|
-
await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tsbuild');
|
|
127
|
-
// set overrides
|
|
128
|
-
const overridesContent = (await plugins.smartfs
|
|
129
|
-
.file(plugins.path.join(paths.assetsDir, 'overrides.json'))
|
|
130
|
-
.encoding('utf8')
|
|
131
|
-
.read());
|
|
132
|
-
const overrides = JSON.parse(overridesContent);
|
|
133
|
-
packageJson.pnpm = packageJson.pnpm || {};
|
|
134
|
-
packageJson.pnpm.overrides = overrides;
|
|
135
|
-
// exclude
|
|
136
|
-
// TODO
|
|
137
|
-
fileArg.setContentsFromString(JSON.stringify(packageJson, null, 2));
|
|
138
|
-
}),
|
|
139
|
-
plugins.smartgulp.replace(),
|
|
140
|
-
]);
|
|
141
|
-
await formatStreamWrapper.run().catch((error) => {
|
|
142
|
-
console.log(error);
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnBhY2thZ2Vqc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXQucGFja2FnZWpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEtBQUssWUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFDNUIsb0JBQXlCLEVBQ3pCLFFBQXlDLEVBQ3pDLFVBQTRDLEVBQzVDLGFBQXFCLEVBQ3JCLEVBQUU7SUFDRixNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTlCLE1BQU0sY0FBYyxHQUFhLEVBQUUsQ0FBQztJQUVwQyxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssS0FBSztZQUNSLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDcEMsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN2QyxNQUFNO1FBQ1IsS0FBSyxZQUFZO1lBQ2YsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUN2RCxNQUFNO0lBQ1YsQ0FB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
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as plugins from './mod.plugins.js';
|
|
2
|
-
import prettier from 'prettier';
|
|
3
|
-
import { Project } from '../classes.project.js';
|
|
4
|
-
import { logger } from '../gitzone.logging.js';
|
|
5
|
-
const prettierDefaultTypeScriptConfig = {
|
|
6
|
-
printWidth: 100,
|
|
7
|
-
parser: 'typescript',
|
|
8
|
-
singleQuote: true,
|
|
9
|
-
};
|
|
10
|
-
const prettierDefaultMarkdownConfig = {
|
|
11
|
-
singleQuote: true,
|
|
12
|
-
printWidth: 100,
|
|
13
|
-
parser: 'markdown',
|
|
14
|
-
};
|
|
15
|
-
const filesToFormat = [
|
|
16
|
-
`ts/**/*.ts`,
|
|
17
|
-
`test/**/*.ts`,
|
|
18
|
-
`readme.md`,
|
|
19
|
-
`docs/**/*.md`,
|
|
20
|
-
];
|
|
21
|
-
const choosePrettierConfig = (fileArg) => {
|
|
22
|
-
switch (fileArg.parsedPath.ext) {
|
|
23
|
-
case '.ts':
|
|
24
|
-
return prettierDefaultTypeScriptConfig;
|
|
25
|
-
case '.md':
|
|
26
|
-
return prettierDefaultMarkdownConfig;
|
|
27
|
-
default:
|
|
28
|
-
return {};
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
const prettierTypeScriptPipestop = plugins.through2.obj(async (fileArg, enc, cb) => {
|
|
32
|
-
const fileString = fileArg.contentBuffer.toString();
|
|
33
|
-
const chosenConfig = choosePrettierConfig(fileArg);
|
|
34
|
-
const filePasses = await prettier.check(fileString, chosenConfig);
|
|
35
|
-
if (filePasses) {
|
|
36
|
-
logger.log('info', `OK! -> ${fileArg.path} passes!`);
|
|
37
|
-
cb(null);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
logger.log('info', `${fileArg.path} is being reformated!`);
|
|
41
|
-
const formatedFileString = await prettier.format(fileString, chosenConfig);
|
|
42
|
-
fileArg.setContentsFromString(formatedFileString);
|
|
43
|
-
cb(null, fileArg);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
export const run = async (projectArg) => {
|
|
47
|
-
const formatStreamWrapper = new plugins.smartstream.StreamWrapper([
|
|
48
|
-
plugins.smartgulp.src(filesToFormat),
|
|
49
|
-
prettierTypeScriptPipestop,
|
|
50
|
-
plugins.smartgulp.replace(),
|
|
51
|
-
]);
|
|
52
|
-
await formatStreamWrapper.run().catch((error) => {
|
|
53
|
-
console.log(error);
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnByZXR0aWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXQucHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLCtCQUErQixHQUFxQjtJQUN4RCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLDZCQUE2QixHQUFxQjtJQUN0RCxXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxVQUFVO0NBQ25CLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRztJQUNwQixZQUFZO0lBQ1osY0FBYztJQUNkLFdBQVc7SUFDWCxjQUFjO0NBQ2YsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFvQyxFQUFFLEVBQUU7SUFDcEUsUUFBUSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLEtBQUssS0FBSztZQUNSLE9BQU8sK0JBQStCLENBQUM7UUFDekMsS0FBSyxLQUFLO1lBQ1IsT0FBTyw2QkFBNkIsQ0FBQztRQUN2QztZQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ3JELEtBQUssRUFBRSxPQUFvQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sVUFBVSxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUM7UUFDckQsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLENBQUM7UUFDM0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQzlDLFVBQVUsRUFDVixZQUFZLENBQ2IsQ0FBQztRQUNGLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2xELEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxVQUFtQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQywwQkFBMEI7UUFDMUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7S0FDNUIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const run: () => Promise<void>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as plugins from './mod.plugins.js';
|
|
2
|
-
import * as paths from '../paths.js';
|
|
3
|
-
export const run = async () => {
|
|
4
|
-
const readmePath = plugins.path.join(paths.cwd, 'readme.md');
|
|
5
|
-
const readmeHintsPath = plugins.path.join(paths.cwd, 'readme.hints.md');
|
|
6
|
-
// Check and initialize readme.md if it doesn't exist
|
|
7
|
-
const readmeExists = await plugins.smartfs.file(readmePath).exists();
|
|
8
|
-
if (!readmeExists) {
|
|
9
|
-
await plugins.smartfs.file(readmePath)
|
|
10
|
-
.encoding('utf8')
|
|
11
|
-
.write('# Project Readme\n\nThis is the initial readme file.');
|
|
12
|
-
console.log('Initialized readme.md');
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
console.log('readme.md already exists');
|
|
16
|
-
}
|
|
17
|
-
// Check and initialize readme.hints.md if it doesn't exist
|
|
18
|
-
const readmeHintsExists = await plugins.smartfs.file(readmeHintsPath).exists();
|
|
19
|
-
if (!readmeHintsExists) {
|
|
20
|
-
await plugins.smartfs.file(readmeHintsPath)
|
|
21
|
-
.encoding('utf8')
|
|
22
|
-
.write('# Project Readme Hints\n\nThis is the initial readme hints file.');
|
|
23
|
-
console.log('Initialized readme.hints.md');
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
console.log('readme.hints.md already exists');
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnJlYWRtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9mb3JtYXQvZm9ybWF0LnJlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUM1QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUV4RSxxREFBcUQ7SUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDbkMsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQixLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDL0UsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDeEMsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQixLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0MsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
|