@ywfe/fe-tools 1.0.2-beta.4 → 1.0.2-beta.6

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/JSON2String.ts ADDED
@@ -0,0 +1,13 @@
1
+ interface userInput {
2
+ data?: object;
3
+ }
4
+ function JSON2String({ input }) {
5
+ const { data = {} } = input;
6
+ try {
7
+ return "```json" + JSON.stringify(data) + "json```";
8
+ } catch (error) {
9
+ return "```json" + JSON.stringify({}) + "json```";
10
+ }
11
+ }
12
+
13
+ export default JSON2String
package/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { default as request } from './request'
2
+ export { default as userInputToJson } from './userInputToJson'
3
+ export { default as JSON2String } from './JSON2String'
package/jest.config.js ADDED
@@ -0,0 +1,12 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'jsdom',
4
+ moduleFileExtensions: ['js', 'jsx', 'json', 'ts', 'tsx'],
5
+ rootDir: '.',
6
+ roots: ['<rootDir>/src/'],
7
+ testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?|ts?)$',
8
+ transform: {
9
+ '^.+\\.(t|j)s$': 'ts-jest',
10
+ '^.+\\.(t|j)sx$': 'ts-jest',
11
+ },
12
+ };
package/package.json CHANGED
@@ -1,27 +1,32 @@
1
1
  {
2
+ "private": false,
2
3
  "name": "@ywfe/fe-tools",
3
- "version": "1.0.2-beta.4",
4
+ "version": "1.0.2-beta.6",
4
5
  "description": "工具函数库",
5
- "main": "./dist/bundle.js",
6
- "module": "./dist/bundle.js",
7
- "type": "module",
8
- "files": [
9
- "dist"
10
- ],
6
+ "main": "lib/ywfe-tools.esm.js",
7
+ "module": "lib/ywfe-tools.esm.js",
8
+ "browser": "lib/ywfe-tools.umd.js",
9
+ "types": "lib/index.d.ts",
11
10
  "scripts": {
12
- "build": "rollup -c",
13
- "prepublishOnly": "npm run build"
11
+ "build": "NODE_ENV=production rollup -c",
12
+ "build:type": "tsc -p ./tsconfig.type.json",
13
+ "publish:npm": "npm publish --access public",
14
+ "test": "jest --coverage"
14
15
  },
15
- "publishConfig": {
16
- "access": "public",
17
- "registry": "https://registry.npmjs.org/"
16
+ "repository": "ywfe",
17
+ "author": {
18
+ "name": "YWFE",
19
+ "email": "ywfe@ywwl.com",
20
+ "url": "http://ywfe.com"
18
21
  },
22
+ "license": "MIT",
19
23
  "dependencies": {
20
- "@ywfe/utils": "^0.10.74"
24
+ "@ywfe/utils": "^0.10.74",
25
+ "crypto-js": "^4.0.0",
26
+ "ramda": "^0.27.1",
27
+ "strtok3": "^6.3.0",
28
+ "token-types": "^4.2.0",
29
+ "uuid": "^8.3.2"
21
30
  },
22
- "devDependencies": {
23
- "typescript": "^5.4.5"
24
- },
25
- "author": "",
26
- "license": "ISC"
31
+ "gitHead": "795058c747c80a3a69f6904dccffb53c42acfcc7"
27
32
  }
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%_.&#126;+]*)*' + // port and path
26
+ '(\\?[;&a-z\\d%_.&#126;+=-]*)?' + // 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,77 @@
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
+ watch: {
62
+ include: 'src/**',
63
+ exclude: 'node_modules/**',
64
+ },
65
+ };
66
+
67
+ if (isProd) {
68
+ const file = formats.umd.file;
69
+
70
+ config.output.push({
71
+ ...formats.umd,
72
+ file,
73
+ plugins: [terser()],
74
+ });
75
+ }
76
+
77
+ export default config;
package/tsconfig.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "compilerOptions": {
3
+ "rootDir": "./src",
4
+ "outDir": "./lib",
5
+ /* Basic Options */
6
+ "target": "es2017",
7
+ "module": "esnext",
8
+ "skipLibCheck": true,
9
+ "declaration": true,
10
+ "declarationMap": true,
11
+ "sourceMap": true,
12
+ "composite": false,
13
+ "esModuleInterop": true,
14
+ "importHelpers": true,
15
+ /* Strict Type-Checking Options */
16
+ "strict": true,
17
+ "strictBindCallApply": true,
18
+ /* Additional Checks */
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noImplicitAny": true,
22
+ "noImplicitThis": true,
23
+ "noFallthroughCasesInSwitch": true,
24
+ /* Module Resolution Options */
25
+ "moduleResolution": "node",
26
+ "resolveJsonModule": true,
27
+ /* Advanced Options */
28
+ "forceConsistentCasingInFileNames": true,
29
+ /* 实验支持 */
30
+ "experimentalDecorators": true,
31
+ "emitDecoratorMetadata": true,
32
+ /* Cli Options */
33
+ "pretty": true,
34
+ "jsx": "react",
35
+ "allowJs": true,
36
+ "baseUrl": "./",
37
+ "paths": {
38
+ "@/*": [
39
+ "src/*"
40
+ ]
41
+ }
42
+ },
43
+ "include": [
44
+ "src/**/*.ts",
45
+ "**/*.spec.ts",
46
+ "src/_internal/jsMD5.js"
47
+ ],
48
+ "exclude": [
49
+ "node_modules",
50
+ "src/**/*.js",
51
+ ]
52
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "declarationDir": "./lib",
6
+ "emitDeclarationOnly": true
7
+ }
8
+ }
@@ -0,0 +1,18 @@
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
+ console.log('cesh',input)
9
+ //@ts-ignore
10
+ const res = await feTools.request({
11
+ input:{
12
+ url:"https://fc-typechat.ywwl.com/userInputToJson",
13
+ method:"GET"
14
+ }
15
+ })
16
+ return res
17
+ }
18
+ export default userInputToJson