@git.zone/tspublish 1.2.4 → 1.3.1
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.
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tspublish',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.3.1',
|
|
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=
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
export interface ITsPublishJson {
|
|
2
|
+
name: string;
|
|
3
|
+
dependencies: string[];
|
|
4
|
+
registries: string[];
|
|
5
|
+
}
|
|
1
6
|
export interface IPublishModuleOptions {
|
|
2
7
|
monoRepoDir: string;
|
|
3
8
|
packageSubFolder: string;
|
|
4
9
|
packageSubFolderFullPath?: string;
|
|
10
|
+
tsPublishJson?: ITsPublishJson;
|
|
5
11
|
publishModDirFullPath?: string;
|
|
6
12
|
name?: string;
|
|
7
13
|
version?: string;
|
|
@@ -11,19 +11,19 @@ export class PublishModule {
|
|
|
11
11
|
if (!this.options.packageSubFolder.startsWith('ts')) {
|
|
12
12
|
throw new Error('subFolder must start with "ts"');
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
this.options.tsPublishJson = plugins.smartfile.fs.toObjectSync(plugins.path.join(this.options.packageSubFolderFullPath, 'tspublish.json'));
|
|
15
15
|
const monoRepoPackageJson = JSON.parse(plugins.smartfile.fs.toStringSync(plugins.path.join(this.options.monoRepoDir, 'package.json')));
|
|
16
16
|
this.options.dependencies = {
|
|
17
17
|
...this.options.dependencies,
|
|
18
18
|
...(() => {
|
|
19
19
|
const resultDependencies = {};
|
|
20
|
-
for (const dependency of
|
|
20
|
+
for (const dependency of this.options.tsPublishJson.dependencies) {
|
|
21
21
|
resultDependencies[dependency] = monoRepoPackageJson.dependencies[dependency];
|
|
22
22
|
}
|
|
23
23
|
return resultDependencies;
|
|
24
24
|
})(),
|
|
25
25
|
};
|
|
26
|
-
this.options.name = this.options.name ||
|
|
26
|
+
this.options.name = this.options.name || this.options.tsPublishJson.name;
|
|
27
27
|
this.options.version = monoRepoPackageJson.version;
|
|
28
28
|
// now that we have a name and version, lets check if there is already a package under the same name and version.
|
|
29
29
|
const smartnpmInstance = new plugins.smartnpm.NpmRegistry({}); // TODO: pass in options
|
|
@@ -52,7 +52,7 @@ export class PublishModule {
|
|
|
52
52
|
description: '',
|
|
53
53
|
exports: {
|
|
54
54
|
'.': {
|
|
55
|
-
import:
|
|
55
|
+
import: `./dist_${this.options.packageSubFolder}/index.js`,
|
|
56
56
|
},
|
|
57
57
|
},
|
|
58
58
|
scripts: {
|
|
@@ -96,7 +96,12 @@ export class PublishModule {
|
|
|
96
96
|
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
97
97
|
executor: 'bash',
|
|
98
98
|
});
|
|
99
|
-
|
|
99
|
+
for (const registry of this.options.tsPublishJson.registries) {
|
|
100
|
+
const registryArray = registry.split(':');
|
|
101
|
+
const registryUrl = registryArray[0];
|
|
102
|
+
const registryAccessLevel = registryArray[1];
|
|
103
|
+
await smartshellInstance.exec(`cd ${this.options.publishModDirFullPath} && pnpm publish ${registryAccessLevel === 'public' ? '--access public' : ''} --no-git-checks --registry https://${registryUrl}`);
|
|
104
|
+
}
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wdWJsaXNobW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wdWJsaXNobW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFtQnRDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQVksT0FBOEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQzlCLENBQUM7UUFFRixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FDM0UsQ0FBQztRQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tspublish",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
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
|
@@ -2,10 +2,17 @@ import * as plugins from './plugins.js';
|
|
|
2
2
|
import * as paths from './paths.js';
|
|
3
3
|
import { logger } from './logging.js';
|
|
4
4
|
|
|
5
|
+
export interface ITsPublishJson {
|
|
6
|
+
name: string;
|
|
7
|
+
dependencies: string[];
|
|
8
|
+
registries: string[];
|
|
9
|
+
}
|
|
10
|
+
|
|
5
11
|
export interface IPublishModuleOptions {
|
|
6
12
|
monoRepoDir: string;
|
|
7
13
|
packageSubFolder: string;
|
|
8
14
|
packageSubFolderFullPath?: string;
|
|
15
|
+
tsPublishJson?: ITsPublishJson;
|
|
9
16
|
publishModDirFullPath?: string;
|
|
10
17
|
name?: string;
|
|
11
18
|
version?: string;
|
|
@@ -28,7 +35,7 @@ export class PublishModule {
|
|
|
28
35
|
if (!this.options.packageSubFolder.startsWith('ts')) {
|
|
29
36
|
throw new Error('subFolder must start with "ts"');
|
|
30
37
|
}
|
|
31
|
-
|
|
38
|
+
this.options.tsPublishJson = plugins.smartfile.fs.toObjectSync(
|
|
32
39
|
plugins.path.join(this.options.packageSubFolderFullPath, 'tspublish.json')
|
|
33
40
|
);
|
|
34
41
|
const monoRepoPackageJson = JSON.parse(
|
|
@@ -38,13 +45,13 @@ export class PublishModule {
|
|
|
38
45
|
...this.options.dependencies,
|
|
39
46
|
...(() => {
|
|
40
47
|
const resultDependencies = {};
|
|
41
|
-
for (const dependency of
|
|
48
|
+
for (const dependency of this.options.tsPublishJson.dependencies) {
|
|
42
49
|
resultDependencies[dependency] = monoRepoPackageJson.dependencies[dependency];
|
|
43
50
|
}
|
|
44
51
|
return resultDependencies;
|
|
45
52
|
})(),
|
|
46
53
|
};
|
|
47
|
-
this.options.name = this.options.name ||
|
|
54
|
+
this.options.name = this.options.name || this.options.tsPublishJson.name;
|
|
48
55
|
this.options.version = monoRepoPackageJson.version;
|
|
49
56
|
|
|
50
57
|
// now that we have a name and version, lets check if there is already a package under the same name and version.
|
|
@@ -78,7 +85,7 @@ export class PublishModule {
|
|
|
78
85
|
description: '',
|
|
79
86
|
exports: {
|
|
80
87
|
'.': {
|
|
81
|
-
import:
|
|
88
|
+
import: `./dist_${this.options.packageSubFolder}/index.js`,
|
|
82
89
|
},
|
|
83
90
|
},
|
|
84
91
|
scripts: {
|
|
@@ -137,6 +144,15 @@ export class PublishModule {
|
|
|
137
144
|
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
138
145
|
executor: 'bash',
|
|
139
146
|
});
|
|
140
|
-
|
|
147
|
+
for (const registry of this.options.tsPublishJson.registries) {
|
|
148
|
+
const registryArray = registry.split(':');
|
|
149
|
+
const registryUrl = registryArray[0];
|
|
150
|
+
const registryAccessLevel = registryArray[1];
|
|
151
|
+
await smartshellInstance.exec(
|
|
152
|
+
`cd ${this.options.publishModDirFullPath} && pnpm publish ${
|
|
153
|
+
registryAccessLevel === 'public' ? '--access public' : ''
|
|
154
|
+
} --no-git-checks --registry https://${registryUrl}`
|
|
155
|
+
);
|
|
156
|
+
}
|
|
141
157
|
}
|
|
142
158
|
}
|