@git.zone/tspublish 1.3.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.publishmodule.d.ts +1 -0
- package/dist_ts/classes.publishmodule.js +26 -1
- package/dist_ts/classes.tspublish.d.ts +4 -1
- package/dist_ts/classes.tspublish.js +7 -6
- package/dist_ts/interfaces/index.d.ts +1 -0
- package/dist_ts/interfaces/index.js +2 -0
- package/dist_ts/interfaces/tspublish.d.ts +5 -0
- package/dist_ts/interfaces/tspublish.js +2 -0
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.publishmodule.ts +33 -0
- package/ts/classes.tspublish.ts +6 -5
- package/ts/interfaces/index.ts +1 -0
- package/ts/interfaces/tspublish.ts +5 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tspublish',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.5.0',
|
|
7
7
|
description: 'A tool to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHdJQUF3STtDQUN0SixDQUFBIn0=
|
|
@@ -20,6 +20,7 @@ export declare class PublishModule {
|
|
|
20
20
|
constructor(options: IPublishModuleOptions);
|
|
21
21
|
init(): Promise<void>;
|
|
22
22
|
getLatestVersionOfPackage(name: string): Promise<string>;
|
|
23
|
+
createTsconfigJson(): Promise<string>;
|
|
23
24
|
createPackageJson(): Promise<string>;
|
|
24
25
|
createPublishModuleDir(): Promise<void>;
|
|
25
26
|
build(): Promise<void>;
|
|
@@ -45,6 +45,28 @@ export class PublishModule {
|
|
|
45
45
|
}
|
|
46
46
|
return packageInfo.allVersions[0].version;
|
|
47
47
|
}
|
|
48
|
+
async createTsconfigJson() {
|
|
49
|
+
const originalTsConfig = plugins.smartfile.fs.toObjectSync(plugins.path.join(paths.cwd, 'tsconfig.json'));
|
|
50
|
+
for (const path of originalTsConfig.compilerOptions.paths) {
|
|
51
|
+
originalTsConfig.compilerOptions.paths[path][0] = `.${originalTsConfig.compilerOptions.paths[path][0]}`;
|
|
52
|
+
}
|
|
53
|
+
const tsconfigJson = {
|
|
54
|
+
compilerOptions: {
|
|
55
|
+
experimentalDecorators: true,
|
|
56
|
+
useDefineForClassFields: false,
|
|
57
|
+
target: 'ES2022',
|
|
58
|
+
module: 'NodeNext',
|
|
59
|
+
moduleResolution: 'NodeNext',
|
|
60
|
+
esModuleInterop: true,
|
|
61
|
+
verbatimModuleSyntax: true,
|
|
62
|
+
paths: originalTsConfig.compilerOptions.paths,
|
|
63
|
+
},
|
|
64
|
+
exclude: [
|
|
65
|
+
'dist_*/**/*.d.ts',
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
return JSON.stringify(tsconfigJson, null, 2);
|
|
69
|
+
}
|
|
48
70
|
async createPackageJson() {
|
|
49
71
|
const packageJson = {
|
|
50
72
|
name: this.options.name,
|
|
@@ -84,6 +106,9 @@ export class PublishModule {
|
|
|
84
106
|
await plugins.smartfile.fs.ensureEmptyDir(this.options.publishModDirFullPath);
|
|
85
107
|
const packageJson = await plugins.smartfile.SmartFile.fromString(plugins.path.join(this.options.publishModDirFullPath, 'package.json'), await this.createPackageJson(), 'utf8');
|
|
86
108
|
await packageJson.write();
|
|
109
|
+
// tsconfig.json
|
|
110
|
+
const originalTsConfigJson = await plugins.smartfile.SmartFile.fromString(plugins.path.join(this.options.publishModDirFullPath, 'tsconfig.json'), await this.createTsconfigJson(), 'utf8');
|
|
111
|
+
await originalTsConfigJson.write();
|
|
87
112
|
// ts folder
|
|
88
113
|
await plugins.smartfile.fs.copy(this.options.packageSubFolderFullPath, plugins.path.join(this.options.publishModDirFullPath, this.options.packageSubFolder));
|
|
89
114
|
}
|
|
@@ -105,4 +130,4 @@ export class PublishModule {
|
|
|
105
130
|
}
|
|
106
131
|
}
|
|
107
132
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wdWJsaXNobW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wdWJsaXNobW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFtQnRDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQVksT0FBOEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQzlCLENBQUM7UUFFRixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FDM0UsQ0FBQztRQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxD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
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import * as interfaces from './interfaces/index.js';
|
|
1
2
|
export declare class TsPublish {
|
|
2
3
|
constructor();
|
|
3
4
|
publish(monorepoDirArg: string): Promise<void>;
|
|
4
|
-
|
|
5
|
+
getModuleSubDirs(dirArg: string): Promise<{
|
|
6
|
+
[key: string]: interfaces.ITsPublishJson;
|
|
7
|
+
}>;
|
|
5
8
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { logger } from './logging.js';
|
|
2
2
|
import * as plugins from './plugins.js';
|
|
3
|
+
import * as interfaces from './interfaces/index.js';
|
|
3
4
|
import { PublishModule } from './classes.publishmodule.js';
|
|
4
5
|
export class TsPublish {
|
|
5
6
|
constructor() { }
|
|
6
7
|
async publish(monorepoDirArg) {
|
|
7
|
-
const publishModules = await this.
|
|
8
|
-
for (const publishModule of publishModules) {
|
|
8
|
+
const publishModules = await this.getModuleSubDirs(monorepoDirArg);
|
|
9
|
+
for (const publishModule of Object.keys(publishModules)) {
|
|
9
10
|
const publishModuleInstance = new PublishModule({
|
|
10
11
|
monoRepoDir: monorepoDirArg,
|
|
11
12
|
packageSubFolder: publishModule,
|
|
@@ -16,9 +17,9 @@ export class TsPublish {
|
|
|
16
17
|
await publishModuleInstance.publish();
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
async
|
|
20
|
+
async getModuleSubDirs(dirArg) {
|
|
20
21
|
const subDirs = await plugins.smartfile.fs.listFolders(dirArg);
|
|
21
|
-
const publishModules =
|
|
22
|
+
const publishModules = {};
|
|
22
23
|
for (const subDir of subDirs) {
|
|
23
24
|
if (!subDir.startsWith('ts')) {
|
|
24
25
|
continue;
|
|
@@ -29,10 +30,10 @@ export class TsPublish {
|
|
|
29
30
|
continue;
|
|
30
31
|
}
|
|
31
32
|
logger.log('info', `found publish module: ${subDir}`);
|
|
32
|
-
publishModules.
|
|
33
|
+
publishModules[subDir] = JSON.parse(plugins.smartfile.fs.toStringSync(plugins.path.join(subDir, 'tspublish.json')));
|
|
33
34
|
}
|
|
34
35
|
logger.log('ok', `found ${publishModules.length} publish modules`);
|
|
35
36
|
return publishModules;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy50c3B1Ymxpc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLnRzcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLGdCQUFlLENBQUM7SUFFVCxLQUFLLENBQUMsT0FBTyxDQUFFLGNBQXNCO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25FLEtBQUssTUFBTSxhQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3hELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxhQUFhLENBQUM7Z0JBQzlDLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixnQkFBZ0IsRUFBRSxhQUFhO2FBQ2hDLENBQUMsQ0FBQztZQUNILE1BQU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsTUFBTSxxQkFBcUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3JELE1BQU0scUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEMsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBRSxNQUFjO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sY0FBYyxHQUErQyxFQUFFLENBQUM7UUFDdEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM3QixTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQixTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHlCQUF5QixNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEgsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsY0FBYyxDQUFDLE1BQU0sa0JBQWtCLENBQUMsQ0FBQztRQUNuRSxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tspublish.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tspublish",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A tool to publish multiple, concise, and small packages from monorepos, specifically for TypeScript projects within a git environment.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -76,6 +76,31 @@ export class PublishModule {
|
|
|
76
76
|
return packageInfo.allVersions[0].version;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
public async createTsconfigJson() {
|
|
80
|
+
const originalTsConfig = plugins.smartfile.fs.toObjectSync(
|
|
81
|
+
plugins.path.join(paths.cwd, 'tsconfig.json')
|
|
82
|
+
);
|
|
83
|
+
for (const path of originalTsConfig.compilerOptions.paths) {
|
|
84
|
+
originalTsConfig.compilerOptions.paths[path][0] = `.${originalTsConfig.compilerOptions.paths[path][0]}`;
|
|
85
|
+
}
|
|
86
|
+
const tsconfigJson = {
|
|
87
|
+
compilerOptions: {
|
|
88
|
+
experimentalDecorators: true,
|
|
89
|
+
useDefineForClassFields: false,
|
|
90
|
+
target: 'ES2022',
|
|
91
|
+
module: 'NodeNext',
|
|
92
|
+
moduleResolution: 'NodeNext',
|
|
93
|
+
esModuleInterop: true,
|
|
94
|
+
verbatimModuleSyntax: true,
|
|
95
|
+
paths: originalTsConfig.compilerOptions.paths,
|
|
96
|
+
},
|
|
97
|
+
exclude: [
|
|
98
|
+
'dist_*/**/*.d.ts',
|
|
99
|
+
],
|
|
100
|
+
};
|
|
101
|
+
return JSON.stringify(tsconfigJson, null, 2);
|
|
102
|
+
}
|
|
103
|
+
|
|
79
104
|
public async createPackageJson() {
|
|
80
105
|
const packageJson = {
|
|
81
106
|
name: this.options.name,
|
|
@@ -125,6 +150,14 @@ export class PublishModule {
|
|
|
125
150
|
);
|
|
126
151
|
await packageJson.write();
|
|
127
152
|
|
|
153
|
+
// tsconfig.json
|
|
154
|
+
const originalTsConfigJson = await plugins.smartfile.SmartFile.fromString(
|
|
155
|
+
plugins.path.join(this.options.publishModDirFullPath, 'tsconfig.json'),
|
|
156
|
+
await this.createTsconfigJson(),
|
|
157
|
+
'utf8'
|
|
158
|
+
);
|
|
159
|
+
await originalTsConfigJson.write();
|
|
160
|
+
|
|
128
161
|
// ts folder
|
|
129
162
|
await plugins.smartfile.fs.copy(
|
|
130
163
|
this.options.packageSubFolderFullPath,
|
package/ts/classes.tspublish.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { logger } from './logging.js';
|
|
2
2
|
import * as plugins from './plugins.js';
|
|
3
|
+
import * as interfaces from './interfaces/index.js';
|
|
3
4
|
|
|
4
5
|
import { PublishModule } from './classes.publishmodule.js';
|
|
5
6
|
|
|
@@ -7,8 +8,8 @@ export class TsPublish {
|
|
|
7
8
|
constructor() {}
|
|
8
9
|
|
|
9
10
|
public async publish (monorepoDirArg: string) {
|
|
10
|
-
const publishModules = await this.
|
|
11
|
-
for (const publishModule of publishModules) {
|
|
11
|
+
const publishModules = await this.getModuleSubDirs(monorepoDirArg);
|
|
12
|
+
for (const publishModule of Object.keys(publishModules)) {
|
|
12
13
|
const publishModuleInstance = new PublishModule({
|
|
13
14
|
monoRepoDir: monorepoDirArg,
|
|
14
15
|
packageSubFolder: publishModule,
|
|
@@ -20,9 +21,9 @@ export class TsPublish {
|
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
public async
|
|
24
|
+
public async getModuleSubDirs (dirArg: string) {
|
|
24
25
|
const subDirs = await plugins.smartfile.fs.listFolders(dirArg);
|
|
25
|
-
const publishModules: string
|
|
26
|
+
const publishModules: {[key: string]: interfaces.ITsPublishJson} = {};
|
|
26
27
|
for (const subDir of subDirs) {
|
|
27
28
|
if (!subDir.startsWith('ts')) {
|
|
28
29
|
continue;
|
|
@@ -33,7 +34,7 @@ export class TsPublish {
|
|
|
33
34
|
continue;
|
|
34
35
|
}
|
|
35
36
|
logger.log('info', `found publish module: ${subDir}`);
|
|
36
|
-
publishModules.
|
|
37
|
+
publishModules[subDir] = JSON.parse(plugins.smartfile.fs.toStringSync(plugins.path.join(subDir, 'tspublish.json')));
|
|
37
38
|
}
|
|
38
39
|
logger.log('ok', `found ${publishModules.length} publish modules`);
|
|
39
40
|
return publishModules;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tspublish.js';
|