@proteinjs/build 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 (43) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +21 -0
  3. package/build-workspace.js +7 -0
  4. package/build-workspace.js.LICENSE.txt +62 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/src/buildWorkspace.d.ts +3 -0
  10. package/dist/src/buildWorkspace.d.ts.map +1 -0
  11. package/dist/src/buildWorkspace.js +119 -0
  12. package/dist/src/buildWorkspace.js.map +1 -0
  13. package/dist/src/runBuildWorkspace.d.ts +3 -0
  14. package/dist/src/runBuildWorkspace.d.ts.map +1 -0
  15. package/dist/src/runBuildWorkspace.js +6 -0
  16. package/dist/src/runBuildWorkspace.js.map +1 -0
  17. package/dist/src/runTestWorkspace.d.ts +3 -0
  18. package/dist/src/runTestWorkspace.d.ts.map +1 -0
  19. package/dist/src/runTestWorkspace.js +6 -0
  20. package/dist/src/runTestWorkspace.js.map +1 -0
  21. package/dist/src/runWatchWorkspace.d.ts +3 -0
  22. package/dist/src/runWatchWorkspace.d.ts.map +1 -0
  23. package/dist/src/runWatchWorkspace.js +6 -0
  24. package/dist/src/runWatchWorkspace.js.map +1 -0
  25. package/dist/src/testWorkspace.d.ts +3 -0
  26. package/dist/src/testWorkspace.d.ts.map +1 -0
  27. package/dist/src/testWorkspace.js +109 -0
  28. package/dist/src/testWorkspace.js.map +1 -0
  29. package/dist/src/watchWorkspace.d.ts +3 -0
  30. package/dist/src/watchWorkspace.d.ts.map +1 -0
  31. package/dist/src/watchWorkspace.js +130 -0
  32. package/dist/src/watchWorkspace.js.map +1 -0
  33. package/index.ts +0 -0
  34. package/jest.config.js +18 -0
  35. package/package.json +47 -0
  36. package/src/buildWorkspace.ts +29 -0
  37. package/src/runBuildWorkspace.ts +5 -0
  38. package/src/runTestWorkspace.ts +5 -0
  39. package/src/runWatchWorkspace.ts +5 -0
  40. package/src/testWorkspace.ts +21 -0
  41. package/src/watchWorkspace.ts +55 -0
  42. package/tsconfig.json +23 -0
  43. package/webpack.config.js +26 -0
@@ -0,0 +1,62 @@
1
+ /*!
2
+ * fill-range <https://github.com/jonschlinkert/fill-range>
3
+ *
4
+ * Copyright (c) 2014-present, Jon Schlinkert.
5
+ * Licensed under the MIT License.
6
+ */
7
+
8
+ /*!
9
+ * is-extglob <https://github.com/jonschlinkert/is-extglob>
10
+ *
11
+ * Copyright (c) 2014-2016, Jon Schlinkert.
12
+ * Licensed under the MIT License.
13
+ */
14
+
15
+ /*!
16
+ * is-glob <https://github.com/jonschlinkert/is-glob>
17
+ *
18
+ * Copyright (c) 2014-2017, Jon Schlinkert.
19
+ * Released under the MIT License.
20
+ */
21
+
22
+ /*!
23
+ * is-number <https://github.com/jonschlinkert/is-number>
24
+ *
25
+ * Copyright (c) 2014-present, Jon Schlinkert.
26
+ * Released under the MIT License.
27
+ */
28
+
29
+ /*!
30
+ * to-regex-range <https://github.com/micromatch/to-regex-range>
31
+ *
32
+ * Copyright (c) 2015-present, Jon Schlinkert.
33
+ * Released under the MIT License.
34
+ */
35
+
36
+ /*! *****************************************************************************
37
+ Copyright (c) Microsoft Corporation. All rights reserved.
38
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
39
+ this file except in compliance with the License. You may obtain a copy of the
40
+ License at http://www.apache.org/licenses/LICENSE-2.0
41
+
42
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
43
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
44
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
45
+ MERCHANTABLITY OR NON-INFRINGEMENT.
46
+
47
+ See the Apache Version 2.0 License for specific language governing permissions
48
+ and limitations under the License.
49
+ ***************************************************************************** */
50
+
51
+ /*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
52
+
53
+ /*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
54
+
55
+ /**
56
+ * @license
57
+ * Lodash <https://lodash.com/>
58
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
59
+ * Released under MIT license <https://lodash.com/license>
60
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
61
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
62
+ */
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { WorkspaceMetadata } from '@proteinjs/util-node';
2
+ export declare function buildWorkspace(workspaceMetadata?: WorkspaceMetadata): Promise<void>;
3
+ //# sourceMappingURL=buildWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildWorkspace.d.ts","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,iBAAiB,EAAO,MAAM,sBAAsB,CAAA;AAG1E,wBAAsB,cAAc,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,iBAwBzE"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.buildWorkspace = void 0;
63
+ var path = __importStar(require("path"));
64
+ var util_node_1 = require("@proteinjs/util-node");
65
+ var util_1 = require("@proteinjs/util");
66
+ function buildWorkspace(workspaceMetadata) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var logger, workspacePath, _a, packageMap, sortedPackageNames, _b, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, packageDir;
69
+ return __generator(this, function (_c) {
70
+ switch (_c.label) {
71
+ case 0:
72
+ logger = new util_1.Logger('buildWorkspace');
73
+ workspacePath = process.cwd();
74
+ logger.info("> Building workspace (".concat(workspacePath, ")"));
75
+ if (!workspaceMetadata) return [3 /*break*/, 1];
76
+ _b = workspaceMetadata;
77
+ return [3 /*break*/, 3];
78
+ case 1: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
79
+ case 2:
80
+ _b = _c.sent();
81
+ _c.label = 3;
82
+ case 3:
83
+ _a = _b, packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
84
+ filteredPackageNames = sortedPackageNames.filter(function (packageName) { var _a; return !!((_a = packageMap[packageName].packageJson.scripts) === null || _a === void 0 ? void 0 : _a.build); });
85
+ logger.debug("packageMap:\n".concat(JSON.stringify(packageMap, null, 2)), true);
86
+ logger.debug("filteredPackageNames:\n".concat(JSON.stringify(filteredPackageNames, null, 2)), true);
87
+ logger.info("> Installing and building ".concat(filteredPackageNames.length, " package").concat(filteredPackageNames.length != 1 ? 's' : '', " packages"));
88
+ _i = 0, filteredPackageNames_1 = filteredPackageNames;
89
+ _c.label = 4;
90
+ case 4:
91
+ if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 9];
92
+ packageName = filteredPackageNames_1[_i];
93
+ localPackage = packageMap[packageName];
94
+ packageDir = path.dirname(localPackage.filePath);
95
+ return [4 /*yield*/, (0, util_node_1.cmd)('npm', ['install'], { cwd: packageDir })];
96
+ case 5:
97
+ _c.sent();
98
+ return [4 /*yield*/, util_node_1.PackageUtil.symlinkDependencies(localPackage, packageMap, logger)];
99
+ case 6:
100
+ _c.sent();
101
+ logger.info("Installed ".concat(packageName, " (").concat(packageDir, ")"));
102
+ if (!(packageName != 'typescript-parser')) return [3 /*break*/, 8];
103
+ return [4 /*yield*/, (0, util_node_1.cmd)('npm', ['run', 'build'], { cwd: packageDir })];
104
+ case 7:
105
+ _c.sent();
106
+ logger.info("Built ".concat(packageName, " (").concat(packageDir, ")"));
107
+ _c.label = 8;
108
+ case 8:
109
+ _i++;
110
+ return [3 /*break*/, 4];
111
+ case 9:
112
+ logger.info("> Built workspace (".concat(workspacePath, ")"));
113
+ return [2 /*return*/];
114
+ }
115
+ });
116
+ });
117
+ }
118
+ exports.buildWorkspace = buildWorkspace;
119
+ //# sourceMappingURL=buildWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildWorkspace.js","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4B;AAC5B,kDAA0E;AAC1E,wCAAwC;AAExC,SAAsB,cAAc,CAAC,iBAAqC;;;;;;oBAClE,MAAM,GAAG,IAAI,aAAM,CAAC,gBAAgB,CAAC,CAAC;oBACtC,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,gCAAyB,aAAa,MAAG,CAAC,CAAC;yBACZ,iBAAiB,EAAjB,wBAAiB;oBAAG,KAAA,iBAAiB,CAAA;;wBAAG,qBAAM,uBAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAA;;oBAArD,KAAA,SAAqD,CAAA;;;oBAAlI,OAAkI,EAAhI,UAAU,gBAAA,EAAE,kBAAkB,wBAAA;oBAChC,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAA,WAAW,YAAI,OAAA,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,0CAAE,KAAK,CAAA,CAAA,EAAA,CAAC,CAAC;oBAC5H,MAAM,CAAC,KAAK,CAAC,uBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;oBAC1E,MAAM,CAAC,KAAK,CAAC,iCAA0B,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;oBAE9F,MAAM,CAAC,IAAI,CAAC,oCAA6B,oBAAoB,CAAC,MAAM,qBAAW,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAW,CAAC,CAAC;0BAC3F,EAApB,6CAAoB;;;yBAApB,CAAA,kCAAoB,CAAA;oBAAnC,WAAW;oBACZ,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;oBACvC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACvD,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAA;;oBAAlD,SAAkD,CAAC;oBACnD,qBAAM,uBAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAA;;oBAAvE,SAAuE,CAAC;oBACxE,MAAM,CAAC,IAAI,CAAC,oBAAa,WAAW,eAAK,UAAU,MAAG,CAAC,CAAC;yBAEpD,CAAA,WAAW,IAAI,mBAAmB,CAAA,EAAlC,wBAAkC;oBACpC,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAA;;oBAAvD,SAAuD,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,gBAAS,WAAW,eAAK,UAAU,MAAG,CAAC,CAAC;;;oBAThC,IAAoB,CAAA;;;oBAa5C,MAAM,CAAC,IAAI,CAAC,6BAAsB,aAAa,MAAG,CAAC,CAAC;;;;;CACrD;AAxBD,wCAwBC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=runBuildWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runBuildWorkspace.d.ts","sourceRoot":"","sources":["../../src/runBuildWorkspace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var buildWorkspace_1 = require("./buildWorkspace");
5
+ (0, buildWorkspace_1.buildWorkspace)();
6
+ //# sourceMappingURL=runBuildWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runBuildWorkspace.js","sourceRoot":"","sources":["../../src/runBuildWorkspace.ts"],"names":[],"mappings":";;;AAEA,mDAAiD;AAEjD,IAAA,+BAAc,GAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=runTestWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runTestWorkspace.d.ts","sourceRoot":"","sources":["../../src/runTestWorkspace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var testWorkspace_1 = require("./testWorkspace");
5
+ (0, testWorkspace_1.testWorkspace)();
6
+ //# sourceMappingURL=runTestWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runTestWorkspace.js","sourceRoot":"","sources":["../../src/runTestWorkspace.ts"],"names":[],"mappings":";;;AAEA,iDAA+C;AAE/C,IAAA,6BAAa,GAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=runWatchWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runWatchWorkspace.d.ts","sourceRoot":"","sources":["../../src/runWatchWorkspace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var watchWorkspace_1 = require("./watchWorkspace");
5
+ (0, watchWorkspace_1.watchWorkspace)();
6
+ //# sourceMappingURL=runWatchWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runWatchWorkspace.js","sourceRoot":"","sources":["../../src/runWatchWorkspace.ts"],"names":[],"mappings":";;;AAEA,mDAAiD;AAEjD,IAAA,+BAAc,GAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { WorkspaceMetadata } from '@proteinjs/util-node';
2
+ export declare const testWorkspace: (workspaceMetadata?: WorkspaceMetadata) => Promise<void>;
3
+ //# sourceMappingURL=testWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testWorkspace.d.ts","sourceRoot":"","sources":["../../src/testWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAG1E,eAAO,MAAM,aAAa,uBAA8B,iBAAiB,kBAgBxE,CAAA"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.testWorkspace = void 0;
63
+ var path = __importStar(require("path"));
64
+ var util_node_1 = require("@proteinjs/util-node");
65
+ var util_1 = require("@proteinjs/util");
66
+ var testWorkspace = function (workspaceMetadata) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var logger, workspacePath, _a, packageMap, sortedPackageNames, _b, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, packageDir;
68
+ return __generator(this, function (_c) {
69
+ switch (_c.label) {
70
+ case 0:
71
+ logger = new util_1.Logger('testWorkspace');
72
+ workspacePath = process.cwd();
73
+ if (!workspaceMetadata) return [3 /*break*/, 1];
74
+ _b = workspaceMetadata;
75
+ return [3 /*break*/, 3];
76
+ case 1: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
77
+ case 2:
78
+ _b = _c.sent();
79
+ _c.label = 3;
80
+ case 3:
81
+ _a = _b, packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
82
+ filteredPackageNames = sortedPackageNames.filter(function (packageName) { var _a; return !!((_a = packageMap[packageName].packageJson.scripts) === null || _a === void 0 ? void 0 : _a.test) && packageName != 'typescript-parser'; });
83
+ logger.info("> Testing ".concat(filteredPackageNames.length, " package").concat(filteredPackageNames.length != 1 ? 's' : '', " in workspace (").concat(workspacePath, ")"));
84
+ _i = 0, filteredPackageNames_1 = filteredPackageNames;
85
+ _c.label = 4;
86
+ case 4:
87
+ if (!(_i < filteredPackageNames_1.length)) return [3 /*break*/, 8];
88
+ packageName = filteredPackageNames_1[_i];
89
+ localPackage = packageMap[packageName];
90
+ packageDir = path.dirname(localPackage.filePath);
91
+ return [4 /*yield*/, util_node_1.PackageUtil.hasTests(packageDir)];
92
+ case 5:
93
+ if (!(_c.sent()))
94
+ return [3 /*break*/, 7];
95
+ return [4 /*yield*/, (0, util_node_1.cmd)('npm', ['run', 'test'], { cwd: packageDir })];
96
+ case 6:
97
+ _c.sent();
98
+ _c.label = 7;
99
+ case 7:
100
+ _i++;
101
+ return [3 /*break*/, 4];
102
+ case 8:
103
+ logger.info("> Finished testing ".concat(filteredPackageNames.length, " package").concat(filteredPackageNames.length != 1 ? 's' : '', " in workspace (").concat(workspacePath, ")"));
104
+ return [2 /*return*/];
105
+ }
106
+ });
107
+ }); };
108
+ exports.testWorkspace = testWorkspace;
109
+ //# sourceMappingURL=testWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testWorkspace.js","sourceRoot":"","sources":["../../src/testWorkspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4B;AAC5B,kDAA0E;AAC1E,wCAAwC;AAEjC,IAAM,aAAa,GAAG,UAAO,iBAAqC;;;;;gBACjE,MAAM,GAAG,IAAI,aAAM,CAAC,eAAe,CAAC,CAAC;gBACrC,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;qBACO,iBAAiB,EAAjB,wBAAiB;gBAAG,KAAA,iBAAiB,CAAA;;oBAAG,qBAAM,uBAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAA;;gBAArD,KAAA,SAAqD,CAAA;;;gBAAlI,OAAkI,EAAhI,UAAU,gBAAA,EAAE,kBAAkB,wBAAA;gBAChC,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAA,WAAW,YAAI,OAAA,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,0CAAE,IAAI,CAAA,IAAI,WAAW,IAAI,mBAAmB,CAAA,EAAA,CAAC,CAAC;gBAEjK,MAAM,CAAC,IAAI,CAAC,oBAAa,oBAAoB,CAAC,MAAM,qBAAW,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAAkB,aAAa,MAAG,CAAC,CAAC;sBAClG,EAApB,6CAAoB;;;qBAApB,CAAA,kCAAoB,CAAA;gBAAnC,WAAW;gBACZ,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;gBACvC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAClD,qBAAM,uBAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAA;;gBAA3C,IAAI,CAAC,CAAA,SAAsC,CAAA;oBACzC,wBAAS;gBAEX,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAA;;gBAAtD,SAAsD,CAAC;;;gBANjC,IAAoB,CAAA;;;gBAQ5C,MAAM,CAAC,IAAI,CAAC,6BAAsB,oBAAoB,CAAC,MAAM,qBAAW,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAAkB,aAAa,MAAG,CAAC,CAAC;;;;KACxJ,CAAA;AAhBY,QAAA,aAAa,iBAgBzB"}
@@ -0,0 +1,3 @@
1
+ import { WorkspaceMetadata } from '@proteinjs/util-node';
2
+ export declare const watchWorkspace: (workspaceMetadata?: WorkspaceMetadata) => Promise<void>;
3
+ //# sourceMappingURL=watchWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchWorkspace.d.ts","sourceRoot":"","sources":["../../src/watchWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,iBAAiB,EAAO,MAAM,sBAAsB,CAAA;AAG1E,eAAO,MAAM,cAAc,uBAA8B,iBAAiB,kBAkDzE,CAAA"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.watchWorkspace = void 0;
63
+ var path = __importStar(require("path"));
64
+ var util_node_1 = require("@proteinjs/util-node");
65
+ var util_1 = require("@proteinjs/util");
66
+ var watchWorkspace = function (workspaceMetadata) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var logger, workspacePath, _a, packageMap, sortedPackageNames, _b, filteredPackageNames, loggingStartDelay, _loop_1, _i, filteredPackageNames_1, packageName;
68
+ return __generator(this, function (_c) {
69
+ switch (_c.label) {
70
+ case 0:
71
+ logger = new util_1.Logger('watchWorkspace');
72
+ workspacePath = process.cwd();
73
+ if (!workspaceMetadata) return [3 /*break*/, 1];
74
+ _b = workspaceMetadata;
75
+ return [3 /*break*/, 3];
76
+ case 1: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
77
+ case 2:
78
+ _b = _c.sent();
79
+ _c.label = 3;
80
+ case 3:
81
+ _a = _b, packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
82
+ filteredPackageNames = sortedPackageNames.filter(function (packageName) { var _a; return !!((_a = packageMap[packageName].packageJson.scripts) === null || _a === void 0 ? void 0 : _a.watch); });
83
+ logger.info("> Watching ".concat(filteredPackageNames.length, " package").concat(filteredPackageNames.length != 1 ? 's' : '', " in workspace (").concat(workspacePath, ")"));
84
+ loggingStartDelay = 0;
85
+ _loop_1 = function (packageName) {
86
+ var localPackage = packageMap[packageName];
87
+ var packageDir = path.dirname(localPackage.filePath);
88
+ var loggingEnabledState = { loggingEnabled: false };
89
+ setTimeout(function () { return loggingEnabledState.loggingEnabled = true; }, loggingStartDelay);
90
+ var logPrefix = "[".concat(packageName, "] ");
91
+ var inMultiLineLog = false;
92
+ var stdoutFilter = function (log) {
93
+ if (log.includes('File change detected. Starting incremental compilation'))
94
+ return;
95
+ var filteredOutput = log.replace(/\x1Bc|\x1B\[2J\x1B\[0;0H/g, ''); // char sequence for clearing terminal
96
+ if (filteredOutput.includes('Watching for file changes.'))
97
+ filteredOutput = filteredOutput.replace(/^\n/, '');
98
+ if (filteredOutput.trim() == '')
99
+ return;
100
+ // Replace newline with newline+prefix under the following conditions:
101
+ // 1. It is not at the start of the string (?<!^)
102
+ // 2. It is not at the end of the string (?!$)
103
+ // 3. It is not followed by another newline (?!\r?\n)
104
+ filteredOutput = filteredOutput.replace(/(?<!^)(\r?\n)(?!\r?\n|$)/g, "$1".concat(logPrefix));
105
+ if (!inMultiLineLog)
106
+ filteredOutput = "".concat(logPrefix).concat(filteredOutput);
107
+ if (filteredOutput.endsWith('\n') || filteredOutput.endsWith('\r\n'))
108
+ inMultiLineLog = false;
109
+ else
110
+ inMultiLineLog = true;
111
+ return filteredOutput;
112
+ };
113
+ (0, util_node_1.cmd)('npm', ['run', 'watch'], { cwd: packageDir }, {
114
+ omitLogs: {
115
+ stdout: {
116
+ filter: stdoutFilter,
117
+ }
118
+ },
119
+ });
120
+ };
121
+ for (_i = 0, filteredPackageNames_1 = filteredPackageNames; _i < filteredPackageNames_1.length; _i++) {
122
+ packageName = filteredPackageNames_1[_i];
123
+ _loop_1(packageName);
124
+ }
125
+ return [2 /*return*/];
126
+ }
127
+ });
128
+ }); };
129
+ exports.watchWorkspace = watchWorkspace;
130
+ //# sourceMappingURL=watchWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchWorkspace.js","sourceRoot":"","sources":["../../src/watchWorkspace.ts"],"names":[],"mappings":"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"}
package/index.ts ADDED
File without changes
package/jest.config.js ADDED
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ "roots": [
3
+ "<rootDir>/test"
4
+ ],
5
+ "transform": {
6
+ "^.+\\.tsx?$": "ts-jest"
7
+ },
8
+ "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
9
+ "moduleFileExtensions": [
10
+ "ts",
11
+ "tsx",
12
+ "js",
13
+ "jsx",
14
+ "json",
15
+ "node"
16
+ ],
17
+ "testEnvironment": "node"
18
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@proteinjs/build",
3
+ "version": "1.0.1",
4
+ "description": "Workspace build tools",
5
+ "main": "./dist/generated/index.js",
6
+ "types": "./dist/generated/index.d.ts",
7
+ "bin": {
8
+ "build-workspace": "dist/src/runBuildWorkspace.js",
9
+ "test-workspace": "dist/src/runTestWorkspace.js",
10
+ "watch-workspace": "dist/src/runWatchWorkspace.js"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/proteinjs/build.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/proteinjs/build/issues"
21
+ },
22
+ "homepage": "https://github.com/proteinjs/build#readme",
23
+ "author": "Brent Bahry",
24
+ "license": "MIT",
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "watch": "tsc -w -p .",
28
+ "build-dist": "tsc && webpack --mode production"
29
+ },
30
+ "dependencies": {
31
+ "@proteinjs/util": "1.0.18",
32
+ "@proteinjs/util-node": "1.0.18"
33
+ },
34
+ "devDependencies": {
35
+ "@babel/core": "7.23.7",
36
+ "@babel/preset-env": "7.23.8",
37
+ "@types/jest": "29.5.5",
38
+ "@types/node": "14.0.27",
39
+ "babel-loader": "9.1.3",
40
+ "jest": "29.7.0",
41
+ "ts-jest": "29.1.1",
42
+ "typescript": "5.2.2",
43
+ "webpack": "5.90.0",
44
+ "webpack-cli": "5.1.4"
45
+ },
46
+ "gitHead": "c2c77669754ead06e574265d5e2d4c0ee034b4d3"
47
+ }