@eggjs/utils 4.1.6 → 4.2.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/README.md +2 -0
- package/dist/commonjs/index.d.ts +10 -0
- package/dist/commonjs/index.js +41 -2
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +36 -1
- package/dist/package.json +1 -1
- package/package.json +3 -1
- package/src/index.ts +41 -0
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
[](https://github.com/eggjs/utils/actions/workflows/nodejs.yml)
|
|
5
5
|
[![Test coverage][codecov-image]][codecov-url]
|
|
6
6
|
[![npm download][download-image]][download-url]
|
|
7
|
+
[](https://nodejs.org/en/download/)
|
|
8
|
+
[](https://makeapullrequest.com)
|
|
7
9
|
|
|
8
10
|
[npm-image]: https://img.shields.io/npm/v/@eggjs/utils.svg?style=flat-square
|
|
9
11
|
[npm-url]: https://npmjs.org/package/@eggjs/utils
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -13,3 +13,13 @@ declare const _default: {
|
|
|
13
13
|
getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
|
|
14
14
|
};
|
|
15
15
|
export default _default;
|
|
16
|
+
export declare enum EggType {
|
|
17
|
+
framework = "framework",
|
|
18
|
+
plugin = "plugin",
|
|
19
|
+
application = "application",
|
|
20
|
+
unknown = "unknown"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Detect the type of egg project
|
|
24
|
+
*/
|
|
25
|
+
export declare function detectType(baseDir: string): Promise<EggType>;
|
package/dist/commonjs/index.js
CHANGED
|
@@ -13,8 +13,14 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
16
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getFrameworkOrEggPath = exports.getLoadUnits = exports.getConfig = exports.getPlugins = exports.getFrameworkPath = void 0;
|
|
20
|
+
exports.EggType = exports.getFrameworkOrEggPath = exports.getLoadUnits = exports.getConfig = exports.getPlugins = exports.getFrameworkPath = void 0;
|
|
21
|
+
exports.detectType = detectType;
|
|
22
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
23
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
18
24
|
const framework_js_1 = require("./framework.js");
|
|
19
25
|
const plugin_js_1 = require("./plugin.js");
|
|
20
26
|
const deprecated_js_1 = require("./deprecated.js");
|
|
@@ -34,4 +40,37 @@ exports.default = {
|
|
|
34
40
|
getPlugins: plugin_js_1.getPlugins, getConfig: plugin_js_1.getConfig, getLoadUnits: plugin_js_1.getLoadUnits,
|
|
35
41
|
getFrameworkOrEggPath: deprecated_js_1.getFrameworkOrEggPath,
|
|
36
42
|
};
|
|
37
|
-
|
|
43
|
+
var EggType;
|
|
44
|
+
(function (EggType) {
|
|
45
|
+
EggType["framework"] = "framework";
|
|
46
|
+
EggType["plugin"] = "plugin";
|
|
47
|
+
EggType["application"] = "application";
|
|
48
|
+
EggType["unknown"] = "unknown";
|
|
49
|
+
})(EggType || (exports.EggType = EggType = {}));
|
|
50
|
+
/**
|
|
51
|
+
* Detect the type of egg project
|
|
52
|
+
*/
|
|
53
|
+
async function detectType(baseDir) {
|
|
54
|
+
const pkgFile = node_path_1.default.join(baseDir, 'package.json');
|
|
55
|
+
let pkg;
|
|
56
|
+
try {
|
|
57
|
+
await promises_1.default.access(pkgFile);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return EggType.unknown;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
pkg = JSON.parse(await promises_1.default.readFile(pkgFile, 'utf-8'));
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return EggType.unknown;
|
|
67
|
+
}
|
|
68
|
+
if (pkg.egg?.framework) {
|
|
69
|
+
return EggType.framework;
|
|
70
|
+
}
|
|
71
|
+
if (pkg.eggPlugin?.name) {
|
|
72
|
+
return EggType.plugin;
|
|
73
|
+
}
|
|
74
|
+
return EggType.application;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsZ0NBMkJDO0FBeERELDBEQUE2QjtBQUM3QixnRUFBa0M7QUFDbEMsaURBQWtEO0FBQ2xELDJDQUFrRTtBQUNsRSxtREFBd0Q7QUFFeEQsMERBQTBEO0FBQzFELCtDQUFrRDtBQUF6QyxnSEFBQSxnQkFBZ0IsT0FBQTtBQUN6Qix5Q0FBa0U7QUFBekQsdUdBQUEsVUFBVSxPQUFBO0FBQUUsc0dBQUEsU0FBUyxPQUFBO0FBQUUseUdBQUEsWUFBWSxPQUFBO0FBQzVDLGlEQUF3RDtBQUEvQyxzSEFBQSxxQkFBcUIsT0FBQTtBQUM5Qiw4Q0FBNEI7QUFFNUIsMkNBQTJDO0FBQzNDLGtCQUFlO0lBQ2IsZ0JBQWdCLEVBQWhCLCtCQUFnQjtJQUNoQixVQUFVLEVBQVYsc0JBQVUsRUFBRSxTQUFTLEVBQVQscUJBQVMsRUFBRSxZQUFZLEVBQVosd0JBQVk7SUFDbkMscUJBQXFCLEVBQXJCLHFDQUFxQjtDQUN0QixDQUFDO0FBRUYsSUFBWSxPQUtYO0FBTEQsV0FBWSxPQUFPO0lBQ2pCLGtDQUF1QixDQUFBO0lBQ3ZCLDRCQUFpQixDQUFBO0lBQ2pCLHNDQUEyQixDQUFBO0lBQzNCLDhCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxPQUFPLHVCQUFQLE9BQU8sUUFLbEI7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSxVQUFVLENBQUMsT0FBZTtJQUM5QyxNQUFNLE9BQU8sR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsSUFBSSxHQU9ILENBQUM7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLGtCQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sa0JBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQzdCLENBQUMifQ==
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -13,3 +13,13 @@ declare const _default: {
|
|
|
13
13
|
getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
|
|
14
14
|
};
|
|
15
15
|
export default _default;
|
|
16
|
+
export declare enum EggType {
|
|
17
|
+
framework = "framework",
|
|
18
|
+
plugin = "plugin",
|
|
19
|
+
application = "application",
|
|
20
|
+
unknown = "unknown"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Detect the type of egg project
|
|
24
|
+
*/
|
|
25
|
+
export declare function detectType(baseDir: string): Promise<EggType>;
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
1
3
|
import { getFrameworkPath } from './framework.js';
|
|
2
4
|
import { getPlugins, getConfig, getLoadUnits } from './plugin.js';
|
|
3
5
|
import { getFrameworkOrEggPath } from './deprecated.js';
|
|
@@ -12,4 +14,37 @@ export default {
|
|
|
12
14
|
getPlugins, getConfig, getLoadUnits,
|
|
13
15
|
getFrameworkOrEggPath,
|
|
14
16
|
};
|
|
15
|
-
|
|
17
|
+
export var EggType;
|
|
18
|
+
(function (EggType) {
|
|
19
|
+
EggType["framework"] = "framework";
|
|
20
|
+
EggType["plugin"] = "plugin";
|
|
21
|
+
EggType["application"] = "application";
|
|
22
|
+
EggType["unknown"] = "unknown";
|
|
23
|
+
})(EggType || (EggType = {}));
|
|
24
|
+
/**
|
|
25
|
+
* Detect the type of egg project
|
|
26
|
+
*/
|
|
27
|
+
export async function detectType(baseDir) {
|
|
28
|
+
const pkgFile = path.join(baseDir, 'package.json');
|
|
29
|
+
let pkg;
|
|
30
|
+
try {
|
|
31
|
+
await fs.access(pkgFile);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return EggType.unknown;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
pkg = JSON.parse(await fs.readFile(pkgFile, 'utf-8'));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return EggType.unknown;
|
|
41
|
+
}
|
|
42
|
+
if (pkg.egg?.framework) {
|
|
43
|
+
return EggType.framework;
|
|
44
|
+
}
|
|
45
|
+
if (pkg.eggPlugin?.name) {
|
|
46
|
+
return EggType.plugin;
|
|
47
|
+
}
|
|
48
|
+
return EggType.application;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCwwREFBMEQ7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELGNBQWMsYUFBYSxDQUFDO0FBRTVCLDJDQUEyQztBQUMzQyxlQUFlO0lBQ2IsZ0JBQWdCO0lBQ2hCLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWTtJQUNuQyxxQkFBcUI7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLE9BS1g7QUFMRCxXQUFZLE9BQU87SUFDakIsa0NBQXVCLENBQUE7SUFDdkIsNEJBQWlCLENBQUE7SUFDakIsc0NBQTJCLENBQUE7SUFDM0IsOEJBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLE9BQU8sS0FBUCxPQUFPLFFBS2xCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFlO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELElBQUksR0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdkIsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDN0IsQ0FBQyJ9
|
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"engine": {
|
|
5
5
|
"node": ">=18.19.0"
|
|
6
6
|
},
|
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"lint": "eslint src test --ext ts",
|
|
13
13
|
"pretest": "npm run clean && npm run lint -- --fix && npm run prepublishOnly",
|
|
14
14
|
"test": "npm run test-local",
|
|
15
|
+
"posttest": "npm run clean",
|
|
15
16
|
"test-local": "egg-bin test",
|
|
16
17
|
"preci": "npm run clean && npm run lint && npm run prepublishOnly",
|
|
17
18
|
"ci": "egg-bin cov",
|
|
19
|
+
"postci": "npm run clean",
|
|
18
20
|
"clean": "rimraf dist",
|
|
19
21
|
"prepublishOnly": "tshy && tshy-after && attw --pack"
|
|
20
22
|
},
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
1
3
|
import { getFrameworkPath } from './framework.js';
|
|
2
4
|
import { getPlugins, getConfig, getLoadUnits } from './plugin.js';
|
|
3
5
|
import { getFrameworkOrEggPath } from './deprecated.js';
|
|
@@ -14,3 +16,42 @@ export default {
|
|
|
14
16
|
getPlugins, getConfig, getLoadUnits,
|
|
15
17
|
getFrameworkOrEggPath,
|
|
16
18
|
};
|
|
19
|
+
|
|
20
|
+
export enum EggType {
|
|
21
|
+
framework = 'framework',
|
|
22
|
+
plugin = 'plugin',
|
|
23
|
+
application = 'application',
|
|
24
|
+
unknown = 'unknown',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Detect the type of egg project
|
|
29
|
+
*/
|
|
30
|
+
export async function detectType(baseDir: string): Promise<EggType> {
|
|
31
|
+
const pkgFile = path.join(baseDir, 'package.json');
|
|
32
|
+
let pkg: {
|
|
33
|
+
egg?: {
|
|
34
|
+
framework?: boolean;
|
|
35
|
+
};
|
|
36
|
+
eggPlugin?: {
|
|
37
|
+
name: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
try {
|
|
41
|
+
await fs.access(pkgFile);
|
|
42
|
+
} catch {
|
|
43
|
+
return EggType.unknown;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
pkg = JSON.parse(await fs.readFile(pkgFile, 'utf-8'));
|
|
47
|
+
} catch {
|
|
48
|
+
return EggType.unknown;
|
|
49
|
+
}
|
|
50
|
+
if (pkg.egg?.framework) {
|
|
51
|
+
return EggType.framework;
|
|
52
|
+
}
|
|
53
|
+
if (pkg.eggPlugin?.name) {
|
|
54
|
+
return EggType.plugin;
|
|
55
|
+
}
|
|
56
|
+
return EggType.application;
|
|
57
|
+
}
|