@decaf-ts/cli 0.0.2
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/LICENSE.md +21 -0
- package/README.md +297 -0
- package/lib/CliWrapper.cjs +131 -0
- package/lib/CliWrapper.d.ts +51 -0
- package/lib/cli.cjs +17 -0
- package/lib/cli.d.ts +4 -0
- package/lib/constants.cjs +13 -0
- package/lib/constants.d.ts +8 -0
- package/lib/demo/cli-module.cjs +25 -0
- package/lib/demo/cli-module.d.ts +13 -0
- package/lib/esm/CliWrapper.d.ts +51 -0
- package/lib/esm/CliWrapper.js +124 -0
- package/lib/esm/cli.d.ts +4 -0
- package/lib/esm/cli.js +15 -0
- package/lib/esm/constants.d.ts +8 -0
- package/lib/esm/constants.js +10 -0
- package/lib/esm/demo/cli-module.d.ts +13 -0
- package/lib/esm/demo/cli-module.js +22 -0
- package/lib/esm/index.d.ts +29 -0
- package/lib/esm/index.js +31 -0
- package/lib/esm/types.d.ts +8 -0
- package/lib/esm/types.js +3 -0
- package/lib/esm/utils.d.ts +49 -0
- package/lib/esm/utils.js +78 -0
- package/lib/index.cjs +48 -0
- package/lib/index.d.ts +29 -0
- package/lib/types.cjs +4 -0
- package/lib/types.d.ts +8 -0
- package/lib/utils.cjs +118 -0
- package/lib/utils.d.ts +49 -0
- package/package.json +109 -0
package/lib/utils.cjs
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.CLIUtils = void 0;
|
|
40
|
+
const path_1 = __importDefault(require("path"));
|
|
41
|
+
const fs_1 = __importDefault(require("fs"));
|
|
42
|
+
/**
|
|
43
|
+
* @description util class to retrieve versions and other information
|
|
44
|
+
*
|
|
45
|
+
* @class CLIUtils
|
|
46
|
+
* @static
|
|
47
|
+
*/
|
|
48
|
+
class CLIUtils {
|
|
49
|
+
/**
|
|
50
|
+
* @description Dynamically imports a cjs file into a decaf module
|
|
51
|
+
* @param {string} path
|
|
52
|
+
* @static
|
|
53
|
+
*/
|
|
54
|
+
static async loadFromFile(path) {
|
|
55
|
+
try {
|
|
56
|
+
return CLIUtils.normalizeImport(Promise.resolve(`${path}`).then(s => __importStar(require(s))));
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
throw new Error(`Failed to load from ${path}: ${e instanceof Error ? e.message : e}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description allows safe dynamic imports
|
|
64
|
+
* @summary property imports JS files regardless of esm status
|
|
65
|
+
*
|
|
66
|
+
* @typeParam T
|
|
67
|
+
* @param {Promise} importPromise
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
static async normalizeImport(importPromise) {
|
|
71
|
+
// CommonJS's `module.exports` is wrapped as `default` in ESModule.
|
|
72
|
+
return importPromise.then((m) => (m.default || m));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @description initializes the Cli object
|
|
76
|
+
*
|
|
77
|
+
* @param {Command} command
|
|
78
|
+
* @param {string} [basePath] defaults to the current working directory
|
|
79
|
+
*/
|
|
80
|
+
static initialize(command, basePath) {
|
|
81
|
+
const name = CLIUtils.packageName(basePath);
|
|
82
|
+
command
|
|
83
|
+
.name(name)
|
|
84
|
+
.description(`Runs ${name} related commands`)
|
|
85
|
+
.version(CLIUtils.packageVersion(basePath));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @description retrieves and parses the package.json file
|
|
89
|
+
*
|
|
90
|
+
* @param {string} basePath
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
static getPackage(basePath) {
|
|
94
|
+
try {
|
|
95
|
+
return JSON.parse(fs_1.default.readFileSync(path_1.default.join(basePath, "package.json"), "utf8"));
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
throw new Error(`Unable to read version from ${basePath}: ${e}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* @description returns the package version
|
|
103
|
+
* @param {string} [basePath] defaults to current working dir
|
|
104
|
+
*/
|
|
105
|
+
static packageVersion(basePath) {
|
|
106
|
+
return CLIUtils.getPackage(basePath)["version"];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @description returns the package name
|
|
110
|
+
* @param {string} [basePath] defaults to current working dir
|
|
111
|
+
*/
|
|
112
|
+
static packageName(basePath) {
|
|
113
|
+
return CLIUtils.getPackage(basePath)["name"].split("/")[1];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.CLIUtils = CLIUtils;
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsNENBQW9CO0FBSXBCOzs7OztHQUtHO0FBQ0gsTUFBYSxRQUFRO0lBQ25COzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFZO1FBQ3BDLElBQUksQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDLGVBQWUsb0JBQVEsSUFBSSx3Q0FBRSxDQUFDO1FBQ2hELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUJBQXVCLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDckUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUNsQyxhQUF5QjtRQUV6QixtRUFBbUU7UUFDbkUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUN2QixDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsQ0FBRSxDQUFvQixDQUFDLE9BQU8sSUFBSSxDQUFDLENBQU0sQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBZ0IsRUFBRSxRQUFnQjtRQUNsRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLE9BQU87YUFDSixJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ1YsV0FBVyxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQzthQUM1QyxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBZ0I7UUFDeEMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLFlBQUUsQ0FBQyxZQUFZLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQzdELENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBZ0I7UUFDcEMsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBVyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2pDLE9BQVEsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGO0FBOUVELDRCQThFQyIsImZpbGUiOiJ1dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgQ2xpTW9kdWxlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gdXRpbCBjbGFzcyB0byByZXRyaWV2ZSB2ZXJzaW9ucyBhbmQgb3RoZXIgaW5mb3JtYXRpb25cbiAqXG4gKiBAY2xhc3MgQ0xJVXRpbHNcbiAqIEBzdGF0aWNcbiAqL1xuZXhwb3J0IGNsYXNzIENMSVV0aWxzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEeW5hbWljYWxseSBpbXBvcnRzIGEgY2pzIGZpbGUgaW50byBhIGRlY2FmIG1vZHVsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAc3RhdGljXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgbG9hZEZyb21GaWxlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8Q2xpTW9kdWxlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBDTElVdGlscy5ub3JtYWxpemVJbXBvcnQoaW1wb3J0KHBhdGgpKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gbG9hZCBmcm9tICR7cGF0aH06ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYWxsb3dzIHNhZmUgZHluYW1pYyBpbXBvcnRzXG4gICAqIEBzdW1tYXJ5IHByb3BlcnR5IGltcG9ydHMgSlMgZmlsZXMgcmVnYXJkbGVzcyBvZiBlc20gc3RhdHVzXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVFxuICAgKiBAcGFyYW0ge1Byb21pc2V9IGltcG9ydFByb21pc2VcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGFzeW5jIG5vcm1hbGl6ZUltcG9ydDxUPihcbiAgICBpbXBvcnRQcm9taXNlOiBQcm9taXNlPFQ+XG4gICk6IFByb21pc2U8VD4ge1xuICAgIC8vIENvbW1vbkpTJ3MgYG1vZHVsZS5leHBvcnRzYCBpcyB3cmFwcGVkIGFzIGBkZWZhdWx0YCBpbiBFU01vZHVsZS5cbiAgICByZXR1cm4gaW1wb3J0UHJvbWlzZS50aGVuKFxuICAgICAgKG06IHVua25vd24pID0+ICgobSBhcyB7IGRlZmF1bHQ6IFQgfSkuZGVmYXVsdCB8fCBtKSBhcyBUXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gaW5pdGlhbGl6ZXMgdGhlIENsaSBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIHtDb21tYW5kfSBjb21tYW5kXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYmFzZVBhdGhdIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4gICAqL1xuICBzdGF0aWMgaW5pdGlhbGl6ZShjb21tYW5kOiBDb21tYW5kLCBiYXNlUGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZSA9IENMSVV0aWxzLnBhY2thZ2VOYW1lKGJhc2VQYXRoKTtcbiAgICBjb21tYW5kXG4gICAgICAubmFtZShuYW1lKVxuICAgICAgLmRlc2NyaXB0aW9uKGBSdW5zICR7bmFtZX0gcmVsYXRlZCBjb21tYW5kc2ApXG4gICAgICAudmVyc2lvbihDTElVdGlscy5wYWNrYWdlVmVyc2lvbihiYXNlUGF0aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiByZXRyaWV2ZXMgYW5kIHBhcnNlcyB0aGUgcGFja2FnZS5qc29uIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2VQYXRoXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRQYWNrYWdlKGJhc2VQYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKFxuICAgICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKGJhc2VQYXRoLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGY4XCIpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJlYWQgdmVyc2lvbiBmcm9tICR7YmFzZVBhdGh9OiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBwYWNrYWdlIHZlcnNpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF0gZGVmYXVsdHMgdG8gY3VycmVudCB3b3JraW5nIGRpclxuICAgKi9cbiAgc3RhdGljIHBhY2thZ2VWZXJzaW9uKGJhc2VQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBDTElVdGlscy5nZXRQYWNrYWdlKGJhc2VQYXRoKVtcInZlcnNpb25cIl0gYXMgc3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBwYWNrYWdlIG5hbWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF0gZGVmYXVsdHMgdG8gY3VycmVudCB3b3JraW5nIGRpclxuICAgKi9cbiAgc3RhdGljIHBhY2thZ2VOYW1lKGJhc2VQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiAoQ0xJVXRpbHMuZ2V0UGFja2FnZShiYXNlUGF0aClbXCJuYW1lXCJdIGFzIHN0cmluZykuc3BsaXQoXCIvXCIpWzFdO1xuICB9XG59XG4iXX0=
|
package/lib/utils.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { CliModule } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @description util class to retrieve versions and other information
|
|
5
|
+
*
|
|
6
|
+
* @class CLIUtils
|
|
7
|
+
* @static
|
|
8
|
+
*/
|
|
9
|
+
export declare class CLIUtils {
|
|
10
|
+
/**
|
|
11
|
+
* @description Dynamically imports a cjs file into a decaf module
|
|
12
|
+
* @param {string} path
|
|
13
|
+
* @static
|
|
14
|
+
*/
|
|
15
|
+
static loadFromFile(path: string): Promise<CliModule>;
|
|
16
|
+
/**
|
|
17
|
+
* @description allows safe dynamic imports
|
|
18
|
+
* @summary property imports JS files regardless of esm status
|
|
19
|
+
*
|
|
20
|
+
* @typeParam T
|
|
21
|
+
* @param {Promise} importPromise
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
private static normalizeImport;
|
|
25
|
+
/**
|
|
26
|
+
* @description initializes the Cli object
|
|
27
|
+
*
|
|
28
|
+
* @param {Command} command
|
|
29
|
+
* @param {string} [basePath] defaults to the current working directory
|
|
30
|
+
*/
|
|
31
|
+
static initialize(command: Command, basePath: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* @description retrieves and parses the package.json file
|
|
34
|
+
*
|
|
35
|
+
* @param {string} basePath
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
private static getPackage;
|
|
39
|
+
/**
|
|
40
|
+
* @description returns the package version
|
|
41
|
+
* @param {string} [basePath] defaults to current working dir
|
|
42
|
+
*/
|
|
43
|
+
static packageVersion(basePath: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* @description returns the package name
|
|
46
|
+
* @param {string} [basePath] defaults to current working dir
|
|
47
|
+
*/
|
|
48
|
+
static packageName(basePath: string): string;
|
|
49
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@decaf-ts/cli",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "cli for decaf-ts projects",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
"require": "./lib/index.cjs",
|
|
8
|
+
"import": "./lib/esm/index.js"
|
|
9
|
+
},
|
|
10
|
+
"types": "lib/index.d.ts",
|
|
11
|
+
"bin": "lib/cli.cjs",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"do-install": "TOKEN=$(cat .token) npm install",
|
|
14
|
+
"flash-forward": "npx npm-check-updates -u && npm run do-install",
|
|
15
|
+
"reset": "rm -rf * && git checkout . && git pull && npm run do-install",
|
|
16
|
+
"build": "rimraf ./lib && rimraf ./dist && gulp dev",
|
|
17
|
+
"build:prod": "rimraf ./lib && rimraf ./dist && gulp prod",
|
|
18
|
+
"test": "jest --coverage --testPathPattern=\"/tests/unit\" --passWithNoTests --detectOpenHandles",
|
|
19
|
+
"test:integration": "jest --coverage --testPathPattern=\"/tests/(integration)\" --passWithNoTests --detectOpenHandles",
|
|
20
|
+
"test:all": "jest --coverage --testPathPattern=\"/tests/(unit|integration)\" --passWithNoTests",
|
|
21
|
+
"lint": "eslint .",
|
|
22
|
+
"lint-fix": "eslint --fix .",
|
|
23
|
+
"test:circular": "dpdm -T --no-warning --no-tree ./src/index.ts",
|
|
24
|
+
"prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
|
25
|
+
"release": "./bin/tag-release.sh",
|
|
26
|
+
"clean-publish": "npx clean-publish",
|
|
27
|
+
"coverage": "npm run test:all && cd workdocs && jest-coverage-badges",
|
|
28
|
+
"drawings": "for FILE in workdocs/drawings/*.drawio; do echo \"converting $FILE to image...\" && docker run --rm -v $(pwd):/data rlespinasse/drawio-export --format png $FILE; done && cp -rf workdocs/drawings/export/* workdocs/resources/",
|
|
29
|
+
"uml": "cd workdocs/uml && for FILE in ./*.puml; do docker run --rm -v $(pwd):/work -w /work miy4/plantuml -DPLANTUML_LIMIT_SIZE=8192 -tpng $FILE; done && cd ../.. && cp -fr workdocs/uml/*.png workdocs/resources/",
|
|
30
|
+
"docs": "npx rimraf ./docs && mkdir docs && npm run do-install -- better-docs taffydb && gulp docs; npm remove better-docs taffydb"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/decaf-ts/ts-workspace.git"
|
|
35
|
+
},
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=20.0.0",
|
|
38
|
+
"npm": ">=10.0.0"
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"lib",
|
|
42
|
+
"dist"
|
|
43
|
+
],
|
|
44
|
+
"keywords": [
|
|
45
|
+
"plantuml",
|
|
46
|
+
"mermaid",
|
|
47
|
+
"uml",
|
|
48
|
+
"drawio",
|
|
49
|
+
"mddocs",
|
|
50
|
+
"md",
|
|
51
|
+
"jsdoc",
|
|
52
|
+
"doc",
|
|
53
|
+
"docs",
|
|
54
|
+
"documentation",
|
|
55
|
+
"ci/cd",
|
|
56
|
+
"ci",
|
|
57
|
+
"cd",
|
|
58
|
+
"template",
|
|
59
|
+
"typescript",
|
|
60
|
+
"ts"
|
|
61
|
+
],
|
|
62
|
+
"author": "Tiago Venceslau",
|
|
63
|
+
"license": "MIT",
|
|
64
|
+
"bugs": {
|
|
65
|
+
"url": "https://github.com/decaf-ts/ts-workspace/issues"
|
|
66
|
+
},
|
|
67
|
+
"homepage": "https://github.com/decaf-ts/ts-workspace#readme",
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@eslint/js": "^9.19.0",
|
|
70
|
+
"@stylistic/eslint-plugin": "^3.0.1",
|
|
71
|
+
"@types/jest": "^29.5.14",
|
|
72
|
+
"clean-publish": "^5.1.0",
|
|
73
|
+
"dpdm": "^3.14.0",
|
|
74
|
+
"eslint": "^9.19.0",
|
|
75
|
+
"eslint-config-prettier": "^10.0.1",
|
|
76
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
77
|
+
"globals": "^15.14.0",
|
|
78
|
+
"gulp": "^5.0.0",
|
|
79
|
+
"gulp-if": "^3.0.0",
|
|
80
|
+
"gulp-rename": "^2.0.0",
|
|
81
|
+
"gulp-replace": "^1.1.4",
|
|
82
|
+
"gulp-run-command": "^0.0.10",
|
|
83
|
+
"gulp-sourcemaps": "^2.6.5",
|
|
84
|
+
"gulp-typescript": "^6.0.0-alpha.1",
|
|
85
|
+
"gulp-uglify": "^3.0.2",
|
|
86
|
+
"jest": "^29.7.0",
|
|
87
|
+
"jest-coverage-badges": "^1.0.0",
|
|
88
|
+
"jest-junit": "^16.0.0",
|
|
89
|
+
"jsdoc": "^4.0.4",
|
|
90
|
+
"jsdoc-mermaid": "^1.0.0",
|
|
91
|
+
"markdown-include": "^0.4.3",
|
|
92
|
+
"merge-stream": "^2.0.0",
|
|
93
|
+
"minimist": "^1.2.8",
|
|
94
|
+
"nodemon": "^3.1.9",
|
|
95
|
+
"npm-check-updates": "^17.1.14",
|
|
96
|
+
"prettier": "3.4.2",
|
|
97
|
+
"rimraf": "^6.0.1",
|
|
98
|
+
"ts-jest": "^29.2.5",
|
|
99
|
+
"ts-loader": "^9.5.2",
|
|
100
|
+
"ts-node": "^10.9.2",
|
|
101
|
+
"typescript": "^5.7.3",
|
|
102
|
+
"typescript-eslint": "^8.22.0",
|
|
103
|
+
"vinyl-named": "^1.1.0",
|
|
104
|
+
"webpack-stream": "^7.0.0"
|
|
105
|
+
},
|
|
106
|
+
"dependencies": {
|
|
107
|
+
"commander": "^13.1.0"
|
|
108
|
+
}
|
|
109
|
+
}
|