@ywfe/fe-tools 1.0.2-beta.0 → 1.0.2-beta.10

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/package.json CHANGED
@@ -1,27 +1,30 @@
1
1
  {
2
+ "private": false,
2
3
  "name": "@ywfe/fe-tools",
3
- "version": "1.0.2-beta.0",
4
+ "version": "1.0.2-beta.10",
4
5
  "description": "工具函数库",
5
- "main": "./dist/bundle.js",
6
- "module": "./dist/bundle.js",
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
- "prepublishOnly": "npm run build"
11
+ "build:type": "tsc -p ./tsconfig.type.json",
12
+ "prepublishOnly": "npm run build",
13
+ "test": "jest --coverage"
14
14
  },
15
- "publishConfig": {
16
- "access": "public",
17
- "registry": "https://registry.npmjs.org/"
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
- "@ywfe/utils": "^0.10.74"
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
- "devDependencies": {
23
- "typescript": "^5.4.5"
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:string)=> {
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
@@ -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,10 @@
1
+ {
2
+ "ts-node": {
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "allowSyntheticDefaultImports": true,
6
+ "allowImportingTsExtensions": true,
7
+ "esModuleInterop": true
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "declarationDir": "./lib",
6
+ "emitDeclarationOnly": true
7
+ }
8
+ }