@ywfe/fe-tools 1.0.2-beta.1 → 1.0.2-beta.11
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/index.ts +2 -0
- package/jest.config.js +12 -0
- package/{dist/bundle.js → lib/ywfe-tools.esm.js} +82 -134
- package/lib/ywfe-tools.esm.js.map +1 -0
- package/package.json +20 -17
- package/request.ts +49 -0
- package/rollup.config.js +73 -0
- package/tsconfig.json +10 -0
- package/tsconfig.type.json +8 -0
- package/userInputToJson.ts +16 -0
- package/dist/bundle.js.map +0 -1
package/package.json
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
{
|
2
|
+
"private": false,
|
2
3
|
"name": "@ywfe/fe-tools",
|
3
|
-
"version": "1.0.2-beta.
|
4
|
+
"version": "1.0.2-beta.11",
|
4
5
|
"description": "工具函数库",
|
5
|
-
"main": "./
|
6
|
-
"module": "./
|
6
|
+
"main": "./lib/ywfe-tools.esm.js",
|
7
|
+
"module": "./lib/ywfe-tools.esm.js",
|
7
8
|
"type": "module",
|
8
|
-
"files": [
|
9
|
-
"dist"
|
10
|
-
],
|
11
9
|
"scripts": {
|
12
10
|
"build": "rollup -c",
|
13
|
-
"
|
11
|
+
"build:type": "tsc -p ./tsconfig.type.json",
|
12
|
+
"prepublishOnly": "npm run build",
|
13
|
+
"test": "jest --coverage"
|
14
14
|
},
|
15
|
-
"
|
16
|
-
|
17
|
-
"
|
15
|
+
"repository": "ywfe",
|
16
|
+
"author": {
|
17
|
+
"name": "YWFE",
|
18
|
+
"email": "ywfe@ywwl.com",
|
19
|
+
"url": "http://ywfe.com"
|
18
20
|
},
|
21
|
+
"license": "MIT",
|
19
22
|
"dependencies": {
|
20
|
-
"
|
23
|
+
"crypto-js": "^4.0.0",
|
24
|
+
"ramda": "^0.27.1",
|
25
|
+
"strtok3": "^6.3.0",
|
26
|
+
"token-types": "^4.2.0",
|
27
|
+
"uuid": "^8.3.2"
|
21
28
|
},
|
22
|
-
"
|
23
|
-
|
24
|
-
},
|
25
|
-
"author": "",
|
26
|
-
"license": "ISC"
|
27
|
-
}
|
29
|
+
"gitHead": "795058c747c80a3a69f6904dccffb53c42acfcc7"
|
30
|
+
}
|
package/request.ts
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
// Ctrl-S保存代码
|
2
|
+
import {querystring} from '@ywfe/utils'
|
3
|
+
interface RequestOptions {
|
4
|
+
url:string,
|
5
|
+
method?:string,
|
6
|
+
params?:any
|
7
|
+
}
|
8
|
+
async function request({input}:{input:RequestOptions}){
|
9
|
+
const method = input.method || 'GET';
|
10
|
+
const basePathMap = new Map([
|
11
|
+
['prod', 'https://gateway.ywwl.com'],
|
12
|
+
['test', 'https://test-gateway.ywwl.com'],
|
13
|
+
['test2', 'https://test2-gateway.ywwl.com'],
|
14
|
+
['dev', 'https://dev-gateway.ywwl.com'],
|
15
|
+
])
|
16
|
+
const getBasePath = () => {
|
17
|
+
const env = '{{env}}';
|
18
|
+
return basePathMap.get(env);
|
19
|
+
};
|
20
|
+
const isValidURL = (url)=> {
|
21
|
+
var pattern = new RegExp(
|
22
|
+
'^(https?:\\/\\/)?' + // protocol
|
23
|
+
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
|
24
|
+
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
|
25
|
+
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
|
26
|
+
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
|
27
|
+
'(\\#[-a-z\\d_]*)?$','i'); // fragment locator
|
28
|
+
return !!pattern.test(url);
|
29
|
+
}
|
30
|
+
const prefix = getBasePath()
|
31
|
+
let requestUrl = isValidURL(input.url) ? input.url :`${prefix}${input.url}`
|
32
|
+
const fetchOption: {[key:string]:any} = {
|
33
|
+
method: method,
|
34
|
+
headers: {
|
35
|
+
'Content-type': 'application/json',
|
36
|
+
'x-token': '{{token}}',
|
37
|
+
},
|
38
|
+
};
|
39
|
+
if (method.toUpperCase() === 'POST') {
|
40
|
+
fetchOption.body = JSON.stringify(input.params);
|
41
|
+
}else if(method.toUpperCase() === 'GET'){
|
42
|
+
requestUrl = `${requestUrl}?${querystring.stringify(input.params || {})}`
|
43
|
+
|
44
|
+
}
|
45
|
+
|
46
|
+
const res = await fetch(requestUrl, fetchOption);
|
47
|
+
return res.json();
|
48
|
+
}
|
49
|
+
export default request
|
package/rollup.config.js
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
import nodeResolver from '@rollup/plugin-node-resolve';
|
2
|
+
import commonjs from '@rollup/plugin-commonjs';
|
3
|
+
import replace from '@rollup/plugin-replace';
|
4
|
+
import json from '@rollup/plugin-json';
|
5
|
+
import nodePolyfills from 'rollup-plugin-node-polyfills';
|
6
|
+
import clear from 'rollup-plugin-clear';
|
7
|
+
import progress from 'rollup-plugin-progress';
|
8
|
+
import typescript from '@rollup/plugin-typescript';
|
9
|
+
import { terser } from 'rollup-plugin-terser';
|
10
|
+
// import pkg from './package.json';
|
11
|
+
|
12
|
+
const isProd = process.env.NODE_ENV === 'production';
|
13
|
+
|
14
|
+
const formats = {
|
15
|
+
commonjs: {
|
16
|
+
format: 'cjs',
|
17
|
+
file: 'lib/ywfe-tools.esm.js',
|
18
|
+
sourcemap: true,
|
19
|
+
exports: 'named',
|
20
|
+
},
|
21
|
+
esm: {
|
22
|
+
format: 'esm',
|
23
|
+
file: 'lib/ywfe-tools.esm.js',
|
24
|
+
sourcemap: true,
|
25
|
+
exports: 'named',
|
26
|
+
},
|
27
|
+
umd: {
|
28
|
+
format: 'umd',
|
29
|
+
file: 'lib/ywfe-tools.umd.js',
|
30
|
+
name: 'YWTOOLS',
|
31
|
+
sourcemap: true,
|
32
|
+
exports: 'named',
|
33
|
+
globals: {
|
34
|
+
'react': 'React',
|
35
|
+
'react-dom': 'ReactDOM',
|
36
|
+
},
|
37
|
+
},
|
38
|
+
};
|
39
|
+
|
40
|
+
const config = {
|
41
|
+
input: './index.ts',
|
42
|
+
inlineDynamicImports: true,
|
43
|
+
output: [formats.esm, formats.commonjs],
|
44
|
+
external: ['react', 'react-dom'],
|
45
|
+
plugins: [
|
46
|
+
clear({
|
47
|
+
targets: ['lib'],
|
48
|
+
}),
|
49
|
+
progress({
|
50
|
+
clearLine: false,
|
51
|
+
}),
|
52
|
+
replace({
|
53
|
+
NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'),
|
54
|
+
}),
|
55
|
+
nodeResolver(),
|
56
|
+
commonjs(),
|
57
|
+
typescript(),
|
58
|
+
json(),
|
59
|
+
nodePolyfills(),
|
60
|
+
],
|
61
|
+
};
|
62
|
+
|
63
|
+
if (isProd) {
|
64
|
+
const file = formats.umd.file;
|
65
|
+
|
66
|
+
config.output.push({
|
67
|
+
...formats.umd,
|
68
|
+
file,
|
69
|
+
plugins: [terser()],
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
export default config;
|
package/tsconfig.json
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
// Ctrl-S保存代码
|
2
|
+
interface userInput {
|
3
|
+
userInput?:string,
|
4
|
+
rules?:string,
|
5
|
+
}
|
6
|
+
async function userInputToJson({input}:{input:userInput}){
|
7
|
+
const {userInput, rules} = input
|
8
|
+
const res = await feTools.request({
|
9
|
+
input:{
|
10
|
+
url:"https://fc-typechat.ywwl.com/userInputToJson",
|
11
|
+
method:"GET"
|
12
|
+
}
|
13
|
+
})
|
14
|
+
return res
|
15
|
+
}
|
16
|
+
export default userInputToJson
|