@my-devkit/cli 1.0.0 → 1.0.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.
Files changed (42) hide show
  1. package/README.md +54 -0
  2. package/dist/index.js +36 -8
  3. package/dist/index.js.map +1 -1
  4. package/dist/replace-files.d.ts +2 -0
  5. package/dist/replace-files.js +60 -0
  6. package/dist/replace-files.js.map +1 -0
  7. package/dist/replace-tokens.d.ts +2 -0
  8. package/dist/replace-tokens.js +63 -0
  9. package/dist/replace-tokens.js.map +1 -0
  10. package/dist/switch-to-npm.d.ts +2 -0
  11. package/dist/switch-to-npm.js +93 -0
  12. package/dist/switch-to-npm.js.map +1 -0
  13. package/dist/switch-to-pnpm.d.ts +2 -0
  14. package/dist/switch-to-pnpm.js +86 -0
  15. package/dist/switch-to-pnpm.js.map +1 -0
  16. package/dist/utils/args.d.ts +1 -0
  17. package/dist/utils/args.js +12 -0
  18. package/dist/utils/args.js.map +1 -0
  19. package/dist/utils/config.d.ts +15 -0
  20. package/dist/utils/config.js +12 -0
  21. package/dist/utils/config.js.map +1 -0
  22. package/dist/utils/gist.d.ts +23 -0
  23. package/dist/utils/gist.js +111 -0
  24. package/dist/utils/gist.js.map +1 -0
  25. package/dist/utils/index.d.ts +4 -0
  26. package/dist/utils/index.js +17 -0
  27. package/dist/utils/index.js.map +1 -0
  28. package/dist/utils/npm.d.ts +25 -0
  29. package/dist/utils/npm.js +371 -0
  30. package/dist/utils/npm.js.map +1 -0
  31. package/package.json +9 -6
  32. package/src/index.ts +22 -2
  33. package/src/replace-files.ts +18 -0
  34. package/src/replace-tokens.ts +20 -0
  35. package/src/switch-to-npm.ts +24 -0
  36. package/src/switch-to-pnpm.ts +19 -0
  37. package/src/utils/args.ts +6 -0
  38. package/src/utils/config.ts +25 -0
  39. package/src/utils/gist.ts +62 -0
  40. package/src/utils/index.ts +4 -0
  41. package/src/utils/npm.ts +164 -0
  42. package/tsconfig.json +1 -1
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Gist = void 0;
40
+ var got_1 = require("got");
41
+ var Gist = /** @class */ (function () {
42
+ function Gist() {
43
+ }
44
+ Gist.getPackages = function () {
45
+ return __awaiter(this, void 0, void 0, function () {
46
+ var response;
47
+ return __generator(this, function (_a) {
48
+ switch (_a.label) {
49
+ case 0: return [4 /*yield*/, (0, got_1.default)("https://api.github.com/gists/".concat(Gist.gistId), {
50
+ method: 'GET',
51
+ username: Gist.username,
52
+ password: Gist.password,
53
+ responseType: 'json'
54
+ })];
55
+ case 1:
56
+ response = _a.sent();
57
+ return [2 /*return*/, JSON.parse(response.body.files.packages.content) || {}];
58
+ }
59
+ });
60
+ });
61
+ };
62
+ Gist.getPackageChecksum = function (packageName) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ var packages;
65
+ return __generator(this, function (_a) {
66
+ switch (_a.label) {
67
+ case 0: return [4 /*yield*/, Gist.getPackages()];
68
+ case 1:
69
+ packages = _a.sent();
70
+ return [2 /*return*/, packages[packageName] || null];
71
+ }
72
+ });
73
+ });
74
+ };
75
+ Gist.setPackageChecksum = function (packageName, checksum) {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ var packages;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, Gist.getPackages()];
81
+ case 1:
82
+ packages = _a.sent();
83
+ packages[packageName] = checksum;
84
+ return [4 /*yield*/, (0, got_1.default)("https://api.github.com/gists/".concat(Gist.gistId), {
85
+ method: 'PATCH',
86
+ username: Gist.username,
87
+ password: Gist.password,
88
+ json: {
89
+ files: {
90
+ file: {
91
+ filename: "packages",
92
+ type: "application/json",
93
+ content: JSON.stringify(packages, null, 4)
94
+ }
95
+ }
96
+ }
97
+ })];
98
+ case 2:
99
+ _a.sent();
100
+ return [2 /*return*/];
101
+ }
102
+ });
103
+ });
104
+ };
105
+ Gist.username = 'BUONJG';
106
+ Gist.password = '7a3f262a616ad6613a30755a6285d4b313603b36';
107
+ Gist.gistId = 'b22c85715f2c52e7a4f157a91030ff14';
108
+ return Gist;
109
+ }());
110
+ exports.Gist = Gist;
111
+ //# sourceMappingURL=gist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gist.js","sourceRoot":"","sources":["../../src/utils/gist.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAsB;AAEtB;IAAA;IA0CA,CAAC;IArCgB,gBAAW,GAAxB;;;;;4BACqB,qBAAM,IAAA,aAAG,EAAY,uCAAgC,IAAI,CAAC,MAAM,CAAE,EAAE;4BACjF,MAAM,EAAE,KAAK;4BACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,YAAY,EAAE,MAAM;yBACvB,CAAC,EAAA;;wBALI,QAAQ,GAAG,SAKf;wBAEF,sBAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAC;;;;KACjE;IAGY,uBAAkB,GAA/B,UAAgC,WAAW;;;;;4BACtB,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wBAAnC,QAAQ,GAAG,SAAwB;wBAEzC,sBAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,EAAC;;;;KACxC;IAEY,uBAAkB,GAA/B,UAAgC,WAAW,EAAE,QAAQ;;;;;4BAChC,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wBAAnC,QAAQ,GAAG,SAAwB;wBACzC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;wBAEjC,qBAAM,IAAA,aAAG,EAAC,uCAAgC,IAAI,CAAC,MAAM,CAAE,EAAE;gCACrD,MAAM,EAAE,OAAO;gCACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,IAAI,EAAE;oCACF,KAAK,EAAE;wCACH,IAAI,EAAE;4CACF,QAAQ,EAAE,UAAU;4CACpB,IAAI,EAAE,kBAAkB;4CACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;yCAC7C;qCACJ;iCACJ;6BACJ,CAAC,EAAA;;wBAbF,SAaE,CAAC;;;;;KACN;IAxCM,aAAQ,GAAG,QAAQ,CAAC;IACpB,aAAQ,GAAG,0CAA0C,CAAC;IACtD,WAAM,GAAG,kCAAkC,CAAC;IAuCvD,WAAC;CAAA,AA1CD,IA0CC;AA1CY,oBAAI"}
@@ -0,0 +1,4 @@
1
+ export * from './args';
2
+ export * from './config';
3
+ export * from './npm';
4
+ export * from './gist';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./args"), exports);
14
+ __exportStar(require("./config"), exports);
15
+ __exportStar(require("./npm"), exports);
16
+ __exportStar(require("./gist"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AACtB,yCAAuB"}
@@ -0,0 +1,25 @@
1
+ export declare class Npm {
2
+ private prefix;
3
+ private _verbose;
4
+ constructor(prefix: string);
5
+ static prefix(prefix: string): Npm;
6
+ verbose(verbose?: boolean): void;
7
+ publishIfNeeded(): Promise<void>;
8
+ clean(): Promise<void>;
9
+ removePackageLock(): Promise<void>;
10
+ install(): Promise<void>;
11
+ build(): Promise<void>;
12
+ patch(): Promise<void>;
13
+ publish(): Promise<void>;
14
+ getName(): Promise<string>;
15
+ getLocalVersion(): Promise<string>;
16
+ getPublishedVersion(): Promise<string>;
17
+ getLocalChecksum(): Promise<string>;
18
+ getRemoteChecksum(): Promise<string>;
19
+ updateRemoteChecksum(): Promise<void>;
20
+ updateDependency(packageName: string, newVersion: string): Promise<void>;
21
+ read(properties: string | string[]): Promise<string>;
22
+ write(properties: string | string[], value: string): Promise<void>;
23
+ private execCmd;
24
+ private log;
25
+ }
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.Npm = void 0;
49
+ var child_process_1 = require("child_process");
50
+ var fs = require("fs");
51
+ var gist_1 = require("./gist");
52
+ var Npm = /** @class */ (function () {
53
+ function Npm(prefix) {
54
+ this.prefix = prefix;
55
+ this._verbose = false;
56
+ }
57
+ Npm.prefix = function (prefix) {
58
+ return new Npm(prefix);
59
+ };
60
+ Npm.prototype.verbose = function (verbose) {
61
+ if (verbose === void 0) { verbose = true; }
62
+ this._verbose = verbose;
63
+ };
64
+ Npm.prototype.publishIfNeeded = function () {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ var _a, _b, localCheckSum, remoteCheckSum, _c, _d, _e, _f, _g, _h, _j, _k;
67
+ return __generator(this, function (_l) {
68
+ switch (_l.label) {
69
+ case 0:
70
+ _a = this.write;
71
+ _b = ['version'];
72
+ return [4 /*yield*/, this.getPublishedVersion()];
73
+ case 1: return [4 /*yield*/, _a.apply(this, _b.concat([_l.sent()]))];
74
+ case 2:
75
+ _l.sent();
76
+ return [4 /*yield*/, this.getLocalChecksum()];
77
+ case 3:
78
+ localCheckSum = _l.sent();
79
+ return [4 /*yield*/, this.getRemoteChecksum()];
80
+ case 4:
81
+ remoteCheckSum = _l.sent();
82
+ if (!(localCheckSum === remoteCheckSum)) return [3 /*break*/, 6];
83
+ _d = (_c = console).log;
84
+ _e = "Package ".concat;
85
+ return [4 /*yield*/, this.getName()];
86
+ case 5:
87
+ _d.apply(_c, [_e.apply("Package ", [_l.sent(), " is already up to date!"])]);
88
+ return [2 /*return*/];
89
+ case 6: return [4 /*yield*/, this.patch()];
90
+ case 7:
91
+ _l.sent();
92
+ return [4 /*yield*/, this.publish()];
93
+ case 8:
94
+ _l.sent();
95
+ return [4 /*yield*/, this.updateRemoteChecksum()];
96
+ case 9:
97
+ _l.sent();
98
+ _g = (_f = console).log;
99
+ _j = "Package ".concat;
100
+ return [4 /*yield*/, this.getName()];
101
+ case 10:
102
+ _k = (_h = _j.apply("Package ", [_l.sent(), " "])).concat;
103
+ return [4 /*yield*/, this.getLocalVersion()];
104
+ case 11:
105
+ _g.apply(_f, [_k.apply(_h, [_l.sent(), " as been published!"])]);
106
+ return [2 /*return*/];
107
+ }
108
+ });
109
+ });
110
+ };
111
+ Npm.prototype.clean = function () {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ return __generator(this, function (_a) {
114
+ this.log("Remove ".concat(this.prefix, "/node_modules"));
115
+ if (fs.existsSync("".concat(this.prefix, "/node_modules"))) {
116
+ fs.rmSync("".concat(this.prefix, "/node_modules"), { recursive: true, force: true });
117
+ }
118
+ this.log("Remove ".concat(this.prefix, "/dist"));
119
+ if (fs.existsSync("".concat(this.prefix, "/dist"))) {
120
+ fs.rmSync("".concat(this.prefix, "/dist"), { recursive: true, force: true });
121
+ }
122
+ fs.mkdirSync("".concat(this.prefix, "/dist"));
123
+ return [2 /*return*/];
124
+ });
125
+ });
126
+ };
127
+ Npm.prototype.removePackageLock = function () {
128
+ return __awaiter(this, void 0, void 0, function () {
129
+ return __generator(this, function (_a) {
130
+ if (fs.existsSync("".concat(this.prefix, "/package-lock.json"))) {
131
+ fs.rmSync("".concat(this.prefix, "/package-lock.json"));
132
+ }
133
+ return [2 /*return*/];
134
+ });
135
+ });
136
+ };
137
+ Npm.prototype.install = function () {
138
+ return __awaiter(this, void 0, void 0, function () {
139
+ return __generator(this, function (_a) {
140
+ switch (_a.label) {
141
+ case 0:
142
+ this.log('Install package dependencies');
143
+ return [4 /*yield*/, this.execCmd("npm install --prefix=".concat(this.prefix, " --silent"))];
144
+ case 1:
145
+ _a.sent();
146
+ return [2 /*return*/];
147
+ }
148
+ });
149
+ });
150
+ };
151
+ Npm.prototype.build = function () {
152
+ return __awaiter(this, void 0, void 0, function () {
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0:
156
+ this.log('Build package');
157
+ return [4 /*yield*/, this.execCmd("npm run build --prefix=".concat(this.prefix, " --silent"))];
158
+ case 1:
159
+ _a.sent();
160
+ return [2 /*return*/];
161
+ }
162
+ });
163
+ });
164
+ };
165
+ Npm.prototype.patch = function () {
166
+ return __awaiter(this, void 0, void 0, function () {
167
+ var _a, _b, _c, _d, _e, _f;
168
+ return __generator(this, function (_g) {
169
+ switch (_g.label) {
170
+ case 0:
171
+ _a = this.log;
172
+ _c = "Patch ".concat;
173
+ return [4 /*yield*/, this.getName()];
174
+ case 1:
175
+ _d = (_b = _c.apply("Patch ", [_g.sent(), ": "])).concat;
176
+ return [4 /*yield*/, this.getLocalVersion()];
177
+ case 2:
178
+ _a.apply(this, [_d.apply(_b, [_g.sent()])]);
179
+ return [4 /*yield*/, this.execCmd("npm version patch --prefix=".concat(this.prefix))];
180
+ case 3:
181
+ _g.sent();
182
+ _e = this.log;
183
+ _f = "New version is: ".concat;
184
+ return [4 /*yield*/, this.getLocalVersion()];
185
+ case 4:
186
+ _e.apply(this, [_f.apply("New version is: ", [_g.sent()])]);
187
+ return [2 /*return*/];
188
+ }
189
+ });
190
+ });
191
+ };
192
+ Npm.prototype.publish = function () {
193
+ return __awaiter(this, void 0, void 0, function () {
194
+ var _a, _b, _c, _d;
195
+ return __generator(this, function (_e) {
196
+ switch (_e.label) {
197
+ case 0:
198
+ _a = this.log;
199
+ _c = "Publish ".concat;
200
+ return [4 /*yield*/, this.getName()];
201
+ case 1:
202
+ _d = (_b = _c.apply("Publish ", [_e.sent(), ": "])).concat;
203
+ return [4 /*yield*/, this.getLocalVersion()];
204
+ case 2:
205
+ _a.apply(this, [_d.apply(_b, [_e.sent()])]);
206
+ return [4 /*yield*/, this.execCmd("cd ".concat(this.prefix, " && npm publish --access public --silent"))];
207
+ case 3:
208
+ _e.sent();
209
+ return [2 /*return*/];
210
+ }
211
+ });
212
+ });
213
+ };
214
+ Npm.prototype.getName = function () {
215
+ return __awaiter(this, void 0, void 0, function () {
216
+ return __generator(this, function (_a) {
217
+ return [2 /*return*/, this.read('name')];
218
+ });
219
+ });
220
+ };
221
+ Npm.prototype.getLocalVersion = function () {
222
+ return __awaiter(this, void 0, void 0, function () {
223
+ return __generator(this, function (_a) {
224
+ return [2 /*return*/, this.read('version')];
225
+ });
226
+ });
227
+ };
228
+ Npm.prototype.getPublishedVersion = function () {
229
+ return __awaiter(this, void 0, void 0, function () {
230
+ var packageName;
231
+ return __generator(this, function (_a) {
232
+ switch (_a.label) {
233
+ case 0: return [4 /*yield*/, this.getName()];
234
+ case 1:
235
+ packageName = _a.sent();
236
+ return [2 /*return*/, this.execCmd("npm show ".concat(packageName, " version"))];
237
+ }
238
+ });
239
+ });
240
+ };
241
+ Npm.prototype.getLocalChecksum = function () {
242
+ return __awaiter(this, void 0, void 0, function () {
243
+ var checkSum;
244
+ return __generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0: return [4 /*yield*/, this.execCmd("cd ".concat(this.prefix, " && npx checksum ./dist/* ./src/* > checksum.txt"))];
247
+ case 1:
248
+ _a.sent();
249
+ return [4 /*yield*/, this.execCmd("npx checksum ".concat(this.prefix, "/checksum.txt"))];
250
+ case 2:
251
+ checkSum = (_a.sent()).split(' ')[0];
252
+ fs.unlinkSync("".concat(this.prefix, "/checksum.txt"));
253
+ return [2 /*return*/, checkSum];
254
+ }
255
+ });
256
+ });
257
+ };
258
+ Npm.prototype.getRemoteChecksum = function () {
259
+ return __awaiter(this, void 0, void 0, function () {
260
+ var packageName;
261
+ return __generator(this, function (_a) {
262
+ switch (_a.label) {
263
+ case 0: return [4 /*yield*/, this.getName()];
264
+ case 1:
265
+ packageName = _a.sent();
266
+ return [2 /*return*/, gist_1.Gist.getPackageChecksum(packageName)];
267
+ }
268
+ });
269
+ });
270
+ };
271
+ Npm.prototype.updateRemoteChecksum = function () {
272
+ return __awaiter(this, void 0, void 0, function () {
273
+ var packageName, checksum;
274
+ return __generator(this, function (_a) {
275
+ switch (_a.label) {
276
+ case 0: return [4 /*yield*/, this.getName()];
277
+ case 1:
278
+ packageName = _a.sent();
279
+ return [4 /*yield*/, this.getLocalChecksum()];
280
+ case 2:
281
+ checksum = _a.sent();
282
+ this.log("Set new package checksum: ".concat(packageName, " = ").concat(checksum));
283
+ return [4 /*yield*/, gist_1.Gist.setPackageChecksum(packageName, checksum)];
284
+ case 3:
285
+ _a.sent();
286
+ return [2 /*return*/];
287
+ }
288
+ });
289
+ });
290
+ };
291
+ Npm.prototype.updateDependency = function (packageName, newVersion) {
292
+ return __awaiter(this, void 0, void 0, function () {
293
+ var _i, _a, dependency, currentVersion;
294
+ return __generator(this, function (_b) {
295
+ switch (_b.label) {
296
+ case 0:
297
+ _i = 0, _a = ['dependencies', 'devDependencies', 'peerDependencies'];
298
+ _b.label = 1;
299
+ case 1:
300
+ if (!(_i < _a.length)) return [3 /*break*/, 5];
301
+ dependency = _a[_i];
302
+ return [4 /*yield*/, this.read([dependency, packageName])];
303
+ case 2:
304
+ currentVersion = _b.sent();
305
+ if (!currentVersion) return [3 /*break*/, 4];
306
+ return [4 /*yield*/, this.write([dependency, packageName], newVersion)];
307
+ case 3:
308
+ _b.sent();
309
+ _b.label = 4;
310
+ case 4:
311
+ _i++;
312
+ return [3 /*break*/, 1];
313
+ case 5: return [2 /*return*/];
314
+ }
315
+ });
316
+ });
317
+ };
318
+ Npm.prototype.read = function (properties) {
319
+ return __awaiter(this, void 0, void 0, function () {
320
+ var object, index;
321
+ return __generator(this, function (_a) {
322
+ properties = Array.isArray(properties) ? properties : [properties];
323
+ object = JSON.parse(fs.readFileSync("".concat(this.prefix, "/package.json"), 'utf8'));
324
+ index = 0;
325
+ while (object != null && index < properties.length) {
326
+ object = object[properties[index++]];
327
+ }
328
+ return [2 /*return*/, object];
329
+ });
330
+ });
331
+ };
332
+ Npm.prototype.write = function (properties, value) {
333
+ return __awaiter(this, void 0, void 0, function () {
334
+ var data, object, index;
335
+ return __generator(this, function (_a) {
336
+ properties = Array.isArray(properties) ? properties : [properties];
337
+ this.log("Write ".concat(properties.join('->'), " = ").concat(value, " in ").concat(this.prefix, "/package.json"));
338
+ data = JSON.parse(fs.readFileSync("".concat(this.prefix, "/package.json"), 'utf8'));
339
+ object = data;
340
+ index = 0;
341
+ while (object != null && index < (properties.length - 1)) {
342
+ object = object[properties[index++]];
343
+ }
344
+ object[properties[properties.length - 1]] = value;
345
+ fs.writeFileSync("".concat(this.prefix, "/package.json"), JSON.stringify(data, null, 4));
346
+ return [2 /*return*/];
347
+ });
348
+ });
349
+ };
350
+ Npm.prototype.execCmd = function (cmd) {
351
+ return __awaiter(this, void 0, void 0, function () {
352
+ var response;
353
+ return __generator(this, function (_a) {
354
+ response = (0, child_process_1.execSync)(cmd, {});
355
+ return [2 /*return*/, response.toString().trim()];
356
+ });
357
+ });
358
+ };
359
+ Npm.prototype.log = function () {
360
+ var messages = [];
361
+ for (var _i = 0; _i < arguments.length; _i++) {
362
+ messages[_i] = arguments[_i];
363
+ }
364
+ if (this._verbose) {
365
+ console.log.apply(console, __spreadArray([' - '], messages, false));
366
+ }
367
+ };
368
+ return Npm;
369
+ }());
370
+ exports.Npm = Npm;
371
+ //# sourceMappingURL=npm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "My Devkit: command line tools for mdk apps",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -15,15 +15,18 @@
15
15
  "url": "https://github.com/BUONJG/my-devkit.git"
16
16
  },
17
17
  "scripts": {
18
- "build": "node ./dist/index.js build",
19
- "watch": "node ./dist/index.js watch",
20
- "preinstall": "npx only-allow pnpm"
18
+ "clean": "rimraf ./dist",
19
+ "build": "npm run clean && tsc",
20
+ "watch": "npm run clean && tsc -w"
21
+ },
22
+ "dependencies": {
23
+ "checksum": "1.0.0",
24
+ "got": "11.8.2"
21
25
  },
22
- "dependencies": {},
23
- "peerDependencies": {},
24
26
  "devDependencies": {
25
27
  "@types/node": "^14.14.19",
26
28
  "eslint": "7.26.0",
29
+ "rimraf": "^3.0.2",
27
30
  "typescript": "^4.5.2"
28
31
  }
29
32
  }
package/src/index.ts CHANGED
@@ -2,6 +2,10 @@
2
2
  import { execSync } from 'child_process';
3
3
 
4
4
  import clean from './clean';
5
+ import replaceFiles from './replace-files';
6
+ import replaceTokens from './replace-tokens';
7
+ import switchToNpm from './switch-to-npm';
8
+ import switchToPnpm from './switch-to-pnpm';
5
9
 
6
10
  const run = async () => {
7
11
  const [, , ...args] = process.argv;
@@ -22,8 +26,24 @@ const run = async () => {
22
26
  execSync(`npx tsc -w`);
23
27
  break;
24
28
 
25
- case 'publish-package':
26
- console.log(`Publishing package`);
29
+ case 'switch-to-pnpm':
30
+ console.log('Switch to npm');
31
+ await switchToPnpm();
32
+ break;
33
+
34
+ case 'switch-to-npm':
35
+ console.log('Switch to npm');
36
+ await switchToNpm();
37
+ break;
38
+
39
+ case 'replace-files':
40
+ console.log(`Replacing files`);
41
+ await replaceFiles()
42
+ break;
43
+
44
+ case 'replace-tokens':
45
+ console.log(`Replacing tokens`);
46
+ await replaceTokens()
27
47
  break;
28
48
 
29
49
  default:
@@ -0,0 +1,18 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+
4
+ import { config } from './utils';
5
+
6
+ const replaceFiles = async () => {
7
+ for (const pkg of config().packages) {
8
+ if (pkg.fileReplacements) {
9
+ for (const fileReplacement of pkg.fileReplacements) {
10
+ const target = path.join(pkg.path, fileReplacement.replace);
11
+ const source = path.join(pkg.path, fileReplacement.with);
12
+ fs.writeFileSync(target, fs.readFileSync(source).toString());
13
+ }
14
+ }
15
+ }
16
+ };
17
+
18
+ export default replaceFiles;
@@ -0,0 +1,20 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+
4
+ import { config } from './utils';
5
+
6
+ const replaceTokens = async () => {
7
+ for (const pkg of config().packages) {
8
+ if (pkg.tokensReplacements) {
9
+ for (const file of pkg.tokensReplacements) {
10
+ const fileLocation = path.join(pkg.path, file);
11
+ for (const name of Object.keys(process.env)) {
12
+ const content = fs.readFileSync(fileLocation).toString();
13
+ fs.writeFileSync(fileLocation, content.replace(new RegExp(`%#${name}#%`, 'g'), process.env[name]));
14
+ }
15
+ }
16
+ }
17
+ }
18
+ };
19
+
20
+ export default replaceTokens;