@vitus-labs/tools-core 0.46.0 → 1.0.1-alpha.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.
- package/lib/{vitus-tools-core.module.js → index.js} +117 -119
- package/lib/index.js.map +1 -0
- package/lib/types/index.d.ts +13 -14
- package/package.json +12 -16
- package/src/index.ts +25 -24
- package/tsconfig.json +8 -5
- package/tsconfig.tsbuildinfo +1 -0
- package/.babelrc.js +0 -1
- package/lib/analysis/vitus-tools-core.js.html +0 -6638
- package/lib/analysis/vitus-tools-core.module.js.html +0 -6638
- package/lib/index.d.ts +0 -21
- package/lib/types/index.d.ts.map +0 -1
- package/lib/vitus-tools-core.js +0 -135
- package/lib/vitus-tools-core.js.map +0 -1
- package/lib/vitus-tools-core.module.js.map +0 -1
|
@@ -1,119 +1,117 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import
|
|
3
|
-
import { get, merge } from 'lodash';
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
//
|
|
79
|
-
// namespace,
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
'
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
acc
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
export { CONFIG, PKG, TS_CONFIG, findFile, loadConfigParam, loadFileToJSON, loadVLToolsConfig, swapGlobals };
|
|
119
|
-
//# sourceMappingURL=vitus-tools-core.module.js.map
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { findUpSync } from 'find-up';
|
|
3
|
+
import { get as _get, merge } from 'lodash-es';
|
|
4
|
+
const VITUS_LABS_FILE_NAME = 'vl-tools.config.js';
|
|
5
|
+
const PACKAGE_FILE_NAME = 'package.json';
|
|
6
|
+
const TYPESCRIPT_FILE_NAME = 'tsconfig.json';
|
|
7
|
+
// --------------------------------------------------------
|
|
8
|
+
// FIND & READ file helpers
|
|
9
|
+
// --------------------------------------------------------
|
|
10
|
+
const findFile = async (filename) => findUpSync(filename, { type: 'file' });
|
|
11
|
+
const loadFileToJSON = async (filename) => {
|
|
12
|
+
const file = await findFile(filename);
|
|
13
|
+
if (!file)
|
|
14
|
+
return {};
|
|
15
|
+
let data;
|
|
16
|
+
// try to read an exported module first
|
|
17
|
+
try {
|
|
18
|
+
data = await import(file);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
// ignore eror
|
|
22
|
+
}
|
|
23
|
+
// try to read a plain json file like tsconfig.json
|
|
24
|
+
if (!data) {
|
|
25
|
+
try {
|
|
26
|
+
data = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
// ignore error
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
// --------------------------------------------------------
|
|
35
|
+
// GET PACKAGE.JSON info
|
|
36
|
+
// --------------------------------------------------------
|
|
37
|
+
const getPackageJSON = async () => {
|
|
38
|
+
const data = await loadFileToJSON(PACKAGE_FILE_NAME);
|
|
39
|
+
return data;
|
|
40
|
+
};
|
|
41
|
+
// --------------------------------------------------------
|
|
42
|
+
// PACKAGE.json parsing functions
|
|
43
|
+
// --------------------------------------------------------
|
|
44
|
+
// GET LIST OF DEPENDENCIES from package.json
|
|
45
|
+
const getDependenciesList = async (types) => {
|
|
46
|
+
const pkg = await getPackageJSON();
|
|
47
|
+
let result = [];
|
|
48
|
+
types.forEach((item) => {
|
|
49
|
+
const data = pkg[item];
|
|
50
|
+
result = [...result, ...Object.keys(data || {})];
|
|
51
|
+
});
|
|
52
|
+
return result;
|
|
53
|
+
};
|
|
54
|
+
// parse namespace name
|
|
55
|
+
// const parseNamespace = (name) =>
|
|
56
|
+
// name.startsWith('@') ? name.split('/')[0] : ''
|
|
57
|
+
// converts package name to umd or iife valid format
|
|
58
|
+
// example: napespace-package-name => namespacePackageName
|
|
59
|
+
const camelspaceBundleName = (name) => {
|
|
60
|
+
const parsedName = name.replace('@', '').replace('/', '-');
|
|
61
|
+
const arrayStringsCamel = (arr) => arr.map((item, i) => i === 0
|
|
62
|
+
? item
|
|
63
|
+
: item.charAt(0).toUpperCase() + item.substr(1).toLowerCase());
|
|
64
|
+
const arr = parsedName.split('-');
|
|
65
|
+
const result = arrayStringsCamel(arr).join('');
|
|
66
|
+
return result;
|
|
67
|
+
};
|
|
68
|
+
// --------------------------------------------------------
|
|
69
|
+
// PACKAGE JSON DATA
|
|
70
|
+
// --------------------------------------------------------
|
|
71
|
+
const getPkgData = async () => {
|
|
72
|
+
const pkg = await getPackageJSON();
|
|
73
|
+
const { name } = pkg;
|
|
74
|
+
// const namespace = parseNamespace(name)
|
|
75
|
+
return {
|
|
76
|
+
...pkg,
|
|
77
|
+
// nameWithoutPrefix: name.replace(namespace, '').replace('/', ''),
|
|
78
|
+
// namespace,
|
|
79
|
+
// namespaceName: namespace.replace('@', ''),
|
|
80
|
+
// rootPath: findFilePath('package.json'),
|
|
81
|
+
bundleName: camelspaceBundleName(name),
|
|
82
|
+
externalDependencies: await getDependenciesList([
|
|
83
|
+
'dependencies',
|
|
84
|
+
'peerDependencies',
|
|
85
|
+
]),
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
// --------------------------------------------------------
|
|
89
|
+
// LOAD EXTERNAL CONFIGURATION
|
|
90
|
+
// --------------------------------------------------------
|
|
91
|
+
const getExternalConfig = async () => loadFileToJSON(VITUS_LABS_FILE_NAME);
|
|
92
|
+
const loadConfigParam = (filename) => async (key, defaultValue = {}) => {
|
|
93
|
+
const externalConfig = await loadFileToJSON(filename);
|
|
94
|
+
return _get(externalConfig, key, defaultValue);
|
|
95
|
+
};
|
|
96
|
+
const loadVLToolsConfig = async (key) => {
|
|
97
|
+
const externalConfig = await getExternalConfig();
|
|
98
|
+
const result = _get(externalConfig, key, {});
|
|
99
|
+
const cloneAndEnhance = (object) => ({
|
|
100
|
+
get config() {
|
|
101
|
+
return object;
|
|
102
|
+
},
|
|
103
|
+
get: (param, defaultValue) => _get(object, param, defaultValue),
|
|
104
|
+
merge: (param) => cloneAndEnhance(merge(param, object)),
|
|
105
|
+
});
|
|
106
|
+
return cloneAndEnhance(result);
|
|
107
|
+
};
|
|
108
|
+
const swapGlobals = (globals) => Object.entries(globals).reduce((acc, [key, value]) => {
|
|
109
|
+
// eslint-disable-next-line no-param-reassign
|
|
110
|
+
acc[value] = key;
|
|
111
|
+
return acc;
|
|
112
|
+
}, {});
|
|
113
|
+
const PKG = await getPkgData();
|
|
114
|
+
const VL_CONFIG = await getExternalConfig();
|
|
115
|
+
const TS_CONFIG = await loadFileToJSON(TYPESCRIPT_FILE_NAME);
|
|
116
|
+
export { findFile, loadConfigParam, loadFileToJSON, loadVLToolsConfig, swapGlobals, PKG, VL_CONFIG, TS_CONFIG, };
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
declare const findFile: (filename: string) => string | undefined
|
|
2
|
-
declare const loadFileToJSON: (filename: string) => any
|
|
3
|
-
declare const loadConfigParam: (filename: string) => (key: string, defaultValue?: {}) => any
|
|
4
|
-
declare const loadVLToolsConfig: (key: string) => {
|
|
5
|
-
readonly config: any;
|
|
6
|
-
get: (param: string, defaultValue?: any) => any;
|
|
7
|
-
merge: (param: Record<string, any>) => any;
|
|
8
|
-
}
|
|
9
|
-
declare const swapGlobals: (globals: Record<string, string>) => {};
|
|
10
|
-
declare const PKG: any;
|
|
11
|
-
declare const
|
|
12
|
-
declare const TS_CONFIG: any;
|
|
13
|
-
export { findFile, loadConfigParam, loadFileToJSON, loadVLToolsConfig, swapGlobals, PKG,
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
declare const findFile: (filename: string) => Promise<string | undefined>;
|
|
2
|
+
declare const loadFileToJSON: (filename: string) => Promise<any>;
|
|
3
|
+
declare const loadConfigParam: (filename: string) => (key: string, defaultValue?: {}) => Promise<any>;
|
|
4
|
+
declare const loadVLToolsConfig: (key: string) => Promise<{
|
|
5
|
+
readonly config: any;
|
|
6
|
+
get: (param: string, defaultValue?: any) => any;
|
|
7
|
+
merge: (param: Record<string, any>) => any;
|
|
8
|
+
}>;
|
|
9
|
+
declare const swapGlobals: (globals: Record<string, string>) => {};
|
|
10
|
+
declare const PKG: any;
|
|
11
|
+
declare const VL_CONFIG: any;
|
|
12
|
+
declare const TS_CONFIG: any;
|
|
13
|
+
export { findFile, loadConfigParam, loadFileToJSON, loadVLToolsConfig, swapGlobals, PKG, VL_CONFIG, TS_CONFIG, };
|
package/package.json
CHANGED
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitus-labs/tools-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1-alpha.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Vit Bokisch <vit@bokisch.com>",
|
|
6
6
|
"maintainers": [
|
|
7
7
|
"Vit Bokisch <vit@bokisch.com>"
|
|
8
8
|
],
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"types": "lib/index.d.ts",
|
|
9
|
+
"type": "module",
|
|
10
|
+
"exports": "./lib/index.js",
|
|
11
|
+
"types": "./lib/types/index.d.ts",
|
|
12
12
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
13
|
+
"node": ">= 16"
|
|
14
14
|
},
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"prepublish": "yarn build",
|
|
20
|
-
"build": "
|
|
21
|
-
"build:watch": "yarn vl_build-watch",
|
|
22
|
-
"lint:ts": "eslint src/*",
|
|
23
|
-
"lint": "yarn lint:ts"
|
|
20
|
+
"build": "tsc"
|
|
24
21
|
},
|
|
25
22
|
"dependencies": {
|
|
26
|
-
"find-up": "
|
|
27
|
-
"lodash": "^4.17.21"
|
|
23
|
+
"find-up": "^6.3.0",
|
|
24
|
+
"lodash-es": "^4.17.21"
|
|
28
25
|
},
|
|
29
26
|
"devDependencies": {
|
|
30
|
-
"@
|
|
31
|
-
"@vitus-labs/tools-
|
|
32
|
-
"
|
|
33
|
-
"@vitus-labs/tools-typescript": "0.46.0"
|
|
27
|
+
"@types/lodash-es": "^4.17.8",
|
|
28
|
+
"@vitus-labs/tools-typescript": "1.0.1-alpha.1",
|
|
29
|
+
"typescript": "^5.1.6"
|
|
34
30
|
},
|
|
35
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "52d479556ae2a3e6047e251526e80cb08d77ecdd"
|
|
36
32
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import fs from 'fs'
|
|
2
|
-
import
|
|
3
|
-
import { get as _get, merge } from 'lodash'
|
|
1
|
+
import fs from 'node:fs'
|
|
2
|
+
import { findUpSync } from 'find-up'
|
|
3
|
+
import { get as _get, merge } from 'lodash-es'
|
|
4
4
|
|
|
5
5
|
const VITUS_LABS_FILE_NAME = 'vl-tools.config.js'
|
|
6
6
|
const PACKAGE_FILE_NAME = 'package.json'
|
|
7
|
-
const TYPESCRIPT_FILE_NAME = '
|
|
7
|
+
const TYPESCRIPT_FILE_NAME = 'tsconfig.json'
|
|
8
8
|
|
|
9
9
|
// --------------------------------------------------------
|
|
10
10
|
// FIND & READ file helpers
|
|
11
11
|
// --------------------------------------------------------
|
|
12
|
-
const findFile = (filename: string) =>
|
|
12
|
+
const findFile = async (filename: string) =>
|
|
13
|
+
findUpSync(filename, { type: 'file' })
|
|
13
14
|
|
|
14
|
-
const loadFileToJSON = (filename: string) => {
|
|
15
|
-
const file = findFile(filename)
|
|
15
|
+
const loadFileToJSON = async (filename: string) => {
|
|
16
|
+
const file = await findFile(filename)
|
|
16
17
|
|
|
17
18
|
if (!file) return {}
|
|
18
19
|
|
|
@@ -20,7 +21,7 @@ const loadFileToJSON = (filename: string) => {
|
|
|
20
21
|
|
|
21
22
|
// try to read an exported module first
|
|
22
23
|
try {
|
|
23
|
-
data =
|
|
24
|
+
data = await import(file)
|
|
24
25
|
} catch (e) {
|
|
25
26
|
// ignore eror
|
|
26
27
|
}
|
|
@@ -40,8 +41,8 @@ const loadFileToJSON = (filename: string) => {
|
|
|
40
41
|
// --------------------------------------------------------
|
|
41
42
|
// GET PACKAGE.JSON info
|
|
42
43
|
// --------------------------------------------------------
|
|
43
|
-
const getPackageJSON = () => {
|
|
44
|
-
const data = loadFileToJSON(PACKAGE_FILE_NAME)
|
|
44
|
+
const getPackageJSON = async () => {
|
|
45
|
+
const data = await loadFileToJSON(PACKAGE_FILE_NAME)
|
|
45
46
|
|
|
46
47
|
return data
|
|
47
48
|
}
|
|
@@ -51,8 +52,8 @@ const getPackageJSON = () => {
|
|
|
51
52
|
// --------------------------------------------------------
|
|
52
53
|
|
|
53
54
|
// GET LIST OF DEPENDENCIES from package.json
|
|
54
|
-
const getDependenciesList = (types: any) => {
|
|
55
|
-
const pkg = getPackageJSON()
|
|
55
|
+
const getDependenciesList = async (types: any) => {
|
|
56
|
+
const pkg = await getPackageJSON()
|
|
56
57
|
let result: any = []
|
|
57
58
|
|
|
58
59
|
types.forEach((item: any) => {
|
|
@@ -86,8 +87,8 @@ const camelspaceBundleName = (name: string) => {
|
|
|
86
87
|
// --------------------------------------------------------
|
|
87
88
|
// PACKAGE JSON DATA
|
|
88
89
|
// --------------------------------------------------------
|
|
89
|
-
const getPkgData = () => {
|
|
90
|
-
const pkg = getPackageJSON()
|
|
90
|
+
const getPkgData = async () => {
|
|
91
|
+
const pkg = await getPackageJSON()
|
|
91
92
|
const { name } = pkg
|
|
92
93
|
// const namespace = parseNamespace(name)
|
|
93
94
|
|
|
@@ -98,7 +99,7 @@ const getPkgData = () => {
|
|
|
98
99
|
// namespaceName: namespace.replace('@', ''),
|
|
99
100
|
// rootPath: findFilePath('package.json'),
|
|
100
101
|
bundleName: camelspaceBundleName(name),
|
|
101
|
-
externalDependencies: getDependenciesList([
|
|
102
|
+
externalDependencies: await getDependenciesList([
|
|
102
103
|
'dependencies',
|
|
103
104
|
'peerDependencies',
|
|
104
105
|
]),
|
|
@@ -108,18 +109,18 @@ const getPkgData = () => {
|
|
|
108
109
|
// --------------------------------------------------------
|
|
109
110
|
// LOAD EXTERNAL CONFIGURATION
|
|
110
111
|
// --------------------------------------------------------
|
|
111
|
-
const getExternalConfig = () => loadFileToJSON(VITUS_LABS_FILE_NAME)
|
|
112
|
+
const getExternalConfig = async () => loadFileToJSON(VITUS_LABS_FILE_NAME)
|
|
112
113
|
|
|
113
114
|
const loadConfigParam =
|
|
114
115
|
(filename: string) =>
|
|
115
|
-
(key: string, defaultValue = {}) => {
|
|
116
|
-
const externalConfig = loadFileToJSON(filename)
|
|
116
|
+
async (key: string, defaultValue = {}) => {
|
|
117
|
+
const externalConfig = await loadFileToJSON(filename)
|
|
117
118
|
|
|
118
119
|
return _get(externalConfig, key, defaultValue)
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
const loadVLToolsConfig = (key: string) => {
|
|
122
|
-
const externalConfig = getExternalConfig()
|
|
122
|
+
const loadVLToolsConfig = async (key: string) => {
|
|
123
|
+
const externalConfig = await getExternalConfig()
|
|
123
124
|
const result = _get(externalConfig, key, {})
|
|
124
125
|
|
|
125
126
|
const cloneAndEnhance = (object) => ({
|
|
@@ -142,9 +143,9 @@ const swapGlobals = (globals: Record<string, string>) =>
|
|
|
142
143
|
return acc
|
|
143
144
|
}, {})
|
|
144
145
|
|
|
145
|
-
const PKG = getPkgData()
|
|
146
|
-
const
|
|
147
|
-
const TS_CONFIG = loadFileToJSON(TYPESCRIPT_FILE_NAME)
|
|
146
|
+
const PKG = await getPkgData()
|
|
147
|
+
const VL_CONFIG = await getExternalConfig()
|
|
148
|
+
const TS_CONFIG = await loadFileToJSON(TYPESCRIPT_FILE_NAME)
|
|
148
149
|
|
|
149
150
|
export {
|
|
150
151
|
findFile,
|
|
@@ -153,6 +154,6 @@ export {
|
|
|
153
154
|
loadVLToolsConfig,
|
|
154
155
|
swapGlobals,
|
|
155
156
|
PKG,
|
|
156
|
-
|
|
157
|
+
VL_CONFIG,
|
|
157
158
|
TS_CONFIG,
|
|
158
159
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "@vitus-labs/tools-typescript/lib",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
4
|
+
"target": "ESNext",
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"moduleResolution": "Bundler",
|
|
7
7
|
"outDir": "lib",
|
|
8
|
+
"rootDir": "src",
|
|
8
9
|
"baseUrl": ".",
|
|
10
|
+
"declarationDir": "./lib/types",
|
|
9
11
|
"paths": {
|
|
10
12
|
"~/*": [
|
|
11
13
|
"src/*"
|
|
12
14
|
]
|
|
13
|
-
}
|
|
15
|
+
},
|
|
14
16
|
},
|
|
15
17
|
"include": [
|
|
16
|
-
"
|
|
18
|
+
"typings",
|
|
19
|
+
"src",
|
|
17
20
|
],
|
|
18
21
|
"exclude": [
|
|
19
22
|
"node_modules",
|