From bc43ca3300e8a1a49239723d273d041baf544186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=B2=E5=B0=98?= Date: Thu, 27 Jan 2022 15:28:00 +0800 Subject: [PATCH] fix: lint --- .commitlintrc.js | 4 +- .eslintrc.js | 28 +- .github/workflows/ci.yml | 11 +- .husky/pre-commit | 2 +- .prettierrc | 8 - .prettierrc.js | 2 + examples/basic-vite/mock/index.ts | 4 +- examples/basic-vite/src/app.tsx | 3 +- examples/basic-vite/src/pages/Home/index.tsx | 1 + .../basic-vite/src/pages/Home/models/title.ts | 4 +- examples/basic-vite/src/routes.ts | 17 +- jest.config.js | 6 +- package.json | 7 +- packages/icejs/src/index.ts | 2 +- pnpm-lock.yaml | 464 +++++++----------- scripts/build.ts | 1 + scripts/dependencyCheck.ts | 2 +- scripts/getPackageInfos.ts | 4 +- scripts/lintDiff.ts | 31 ++ scripts/publishPackage.ts | 3 +- scripts/publishPackageWithDistTag.ts | 5 +- scripts/tagVersion.ts | 3 +- scripts/versionCheck.ts | 3 +- scripts/watch.ts | 4 +- 24 files changed, 275 insertions(+), 344 deletions(-) delete mode 100644 .prettierrc create mode 100644 .prettierrc.js create mode 100644 scripts/lintDiff.ts diff --git a/.commitlintrc.js b/.commitlintrc.js index e9327dd77..54823c750 100644 --- a/.commitlintrc.js +++ b/.commitlintrc.js @@ -1,3 +1,3 @@ -const { getCommitlintConfig } = require('@iceworks/spec'); +const { getCommitlintConfig } = require('@applint/spec'); -module.exports = getCommitlintConfig('common'); \ No newline at end of file +module.exports = getCommitlintConfig('common'); diff --git a/.eslintrc.js b/.eslintrc.js index 210e3b3f0..64b6a7534 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,4 @@ -const { getESLintConfig } = require('@iceworks/spec'); +const { getESLintConfig } = require('@applint/spec'); const commonRules = { 'react/jsx-filename-extension': 0, @@ -15,13 +15,10 @@ const commonRules = { 'jsx-a11y/html-has-lang': 0, 'react/static-property-placement': 0, 'no-multiple-empty-lines': 1, - 'react/jsx-no-bind': 0 + 'react/jsx-no-bind': 0, }; -const jsRules = getESLintConfig('react', { - rules: commonRules -}); -const tsRules = getESLintConfig('react-ts', { +module.exports = getESLintConfig('react-ts', { rules: { ...commonRules, '@typescript-eslint/ban-types': 0, @@ -31,24 +28,11 @@ const tsRules = getESLintConfig('react-ts', { '@typescript-eslint/explicit-function-return-type': 0, '@typescript-eslint/no-var-requires': 0, '@typescript-eslint/explicit-module-boundary-types': 0, + '@typescript-eslint/prefer-for-of': 0, + 'id-length': 0, 'no-use-before-define': 0, 'no-unused-vars': 0, '@typescript-eslint/no-unused-vars': 1, '@typescript-eslint/ban-ts-ignore': 0, - } -}); - -delete tsRules.root; - -module.exports = { - ...jsRules, - overrides: [ - { - ...tsRules, - files: ['**/*.ts', '**/*.tsx'], - }, - ], - env: { - jest: true, }, -}; +}); \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bc410cb1..dd4c2ae42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,16 +18,23 @@ jobs: - name: Echo branch name run: echo ${BRANCH_NAME} - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ + - name: Cache .pnpm-store + id: cache + uses: actions/cache@v1 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-node${{ matrix.node-version }}-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install pnpm + run: npm i pnpm -g - run: npm run setup - run: npm run dependency:check - run: npm run lint - run: npm run test - run: npm run version:check - - run: npm run coverage env: ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY_ID }} ACCESS_KEY_SECRET: ${{ secrets.ACCESS_KEY_SECRET }} diff --git a/.husky/pre-commit b/.husky/pre-commit index 20d0d06e5..cb5024d8f 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -npm run lint +npm run lint:diff diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index e5d4d14e4..000000000 --- a/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "printWidth": 80, - "singleQuote": true, - "trailingComma": "all", - "proseWrap": "never", - "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }], - "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson"] -} \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000..a0a7f3a25 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,2 @@ +const { getPrettierConfig } = require('@applint/spec'); +module.exports = getPrettierConfig('common'); \ No newline at end of file diff --git a/examples/basic-vite/mock/index.ts b/examples/basic-vite/mock/index.ts index f1186686d..8dc50c342 100644 --- a/examples/basic-vite/mock/index.ts +++ b/examples/basic-vite/mock/index.ts @@ -5,7 +5,7 @@ export default { status, data: { group: 'ice.js', - url: 'https://github.com/ice-lab/ice.js' - } + url: 'https://github.com/ice-lab/ice.js', + }, }, }; diff --git a/examples/basic-vite/src/app.tsx b/examples/basic-vite/src/app.tsx index eedafeab3..38c058f9c 100644 --- a/examples/basic-vite/src/app.tsx +++ b/examples/basic-vite/src/app.tsx @@ -1,4 +1,5 @@ -import { runApp, IAppConfig } from 'ice'; +import type { IAppConfig } from 'ice'; +import { runApp } from 'ice'; const appConfig: IAppConfig = { app: { diff --git a/examples/basic-vite/src/pages/Home/index.tsx b/examples/basic-vite/src/pages/Home/index.tsx index c839aa53e..46d5e0ee4 100644 --- a/examples/basic-vite/src/pages/Home/index.tsx +++ b/examples/basic-vite/src/pages/Home/index.tsx @@ -7,6 +7,7 @@ function App() { const [count, setCount] = useState(0); const [titleState] = store.useModel('title'); + return (
diff --git a/examples/basic-vite/src/pages/Home/models/title.ts b/examples/basic-vite/src/pages/Home/models/title.ts index aa11faf3d..45764cd50 100644 --- a/examples/basic-vite/src/pages/Home/models/title.ts +++ b/examples/basic-vite/src/pages/Home/models/title.ts @@ -1,10 +1,10 @@ export default { state: { - title: '🚀 Vite + Icejs' + title: '🚀 Vite + Icejs', }, reducers: { update(prevState, payload) { return { title: payload }; }, - } + }, }; diff --git a/examples/basic-vite/src/routes.ts b/examples/basic-vite/src/routes.ts index 4200b5339..bfd235ddd 100644 --- a/examples/basic-vite/src/routes.ts +++ b/examples/basic-vite/src/routes.ts @@ -1,16 +1,17 @@ -import { IRouterConfig, lazy } from 'ice'; +import type { IRouterConfig } from 'ice'; +import { lazy } from 'ice'; import DashboardLayout from '@/pages/Dashboard'; import Dashboard1 from '@/pages/Dashboard/Page1'; import Dashboard2 from '@/pages/Dashboard/Page2'; import Layout from '@/Layout'; -const Home = lazy(() => import('@/pages/Home')); +const Home = lazy(async () => import('@/pages/Home')); const routes: IRouterConfig[] = [ { path: '/', component: Home, - exact: true + exact: true, }, { path: '/', @@ -23,16 +24,16 @@ const routes: IRouterConfig[] = [ { path: '/a', component: Dashboard1, - exact: true + exact: true, }, { path: '/b', component: Dashboard2, - exact: true - } - ] + exact: true, + }, + ], }, - ] + ], }, ]; diff --git a/jest.config.js b/jest.config.js index 151942ef0..37ee7ccc2 100644 --- a/jest.config.js +++ b/jest.config.js @@ -10,14 +10,14 @@ module.exports = { collectCoverage: true, collectCoverageFrom: ['packages/*/lib/*.{js,jsx}'], coveragePathIgnorePatterns: [ - '/node_modules/' + '/node_modules/', ], // copy from jest config testEnvironment: 'node', transform: { '^.+\\.jsx?$': 'babel-jest', - '^.+\\.tsx?$': 'ts-jest' + '^.+\\.tsx?$': 'ts-jest', }, roots: [ '/packages', @@ -26,7 +26,7 @@ module.exports = { testPathIgnorePatterns: [ '/node_modules/', '/lib/', - 'create-cli-utils/' + 'create-cli-utils/', ], testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'], // For ts-jest use rootDir's tsconfig.json, while unable to resolve references. diff --git a/package.json b/package.json index 93e68deef..ce35150d9 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,9 @@ "watch": "esmo ./scripts/watch.ts", "build": "esmo ./scripts/build.ts", "clean": "rimraf packages/*/lib", + "dependency:check": "esmo ./scripts/dependencyCheck.ts", + "version:check": "esmo ./scripts/versionCheck.ts", + "lint:diff": "esmo ./scripts/lintDiff.ts", "lint": "eslint --cache --ext .js,.jsx,.ts,.tsx ./", "lint:fix": "npm run lint -- --fix", "test": "jest --forceExit --ci", @@ -17,15 +20,17 @@ "author": "ice-admin@alibaba-inc.com", "license": "MIT", "devDependencies": { + "@applint/spec": "^1.0.1", "@commitlint/cli": "^16.1.0", - "@iceworks/spec": "^1.5.0", "@types/cross-spawn": "^6.0.2", + "@types/eslint": "^8.4.1", "@types/fs-extra": "^9.0.13", "@types/glob": "^7.2.0", "@types/jest": "^27.4.0", "@types/node": "^17.0.12", "@types/pify": "^5.0.1", "@types/semver": "^7.3.9", + "chalk": "^5.0.0", "chokidar": "^3.5.3", "dependency-check": "^4.1.0", "eslint": "^8.7.0", diff --git a/packages/icejs/src/index.ts b/packages/icejs/src/index.ts index 6b49e1c3c..c635d50b1 100644 --- a/packages/icejs/src/index.ts +++ b/packages/icejs/src/index.ts @@ -1 +1 @@ -export default () => 'ice'; +export default () => 'ice'; \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5f6716e4..d1019f6d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,15 +4,17 @@ importers: .: specifiers: + '@applint/spec': ^1.0.1 '@commitlint/cli': ^16.1.0 - '@iceworks/spec': ^1.5.0 '@types/cross-spawn': ^6.0.2 + '@types/eslint': ^8.4.1 '@types/fs-extra': ^9.0.13 '@types/glob': ^7.2.0 '@types/jest': ^27.4.0 '@types/node': ^17.0.12 '@types/pify': ^5.0.1 '@types/semver': ^7.3.9 + chalk: ^5.0.0 chokidar: ^3.5.3 dependency-check: ^4.1.0 eslint: ^8.7.0 @@ -34,15 +36,17 @@ importers: ts-jest: ^27.1.3 typescript: ^4.5.5 devDependencies: + '@applint/spec': 1.0.1_df4e92b56166aa6123b396ff358723e0 '@commitlint/cli': 16.1.0_@types+node@17.0.12 - '@iceworks/spec': 1.5.0_95becaf2e00998532e79eb3bc37d8e20 '@types/cross-spawn': 6.0.2 + '@types/eslint': 8.4.1 '@types/fs-extra': 9.0.13 '@types/glob': 7.2.0 '@types/jest': 27.4.0 '@types/node': 17.0.12 '@types/pify': 5.0.1 '@types/semver': 7.3.9 + chalk: 5.0.0 chokidar: 3.5.3 dependency-check: 4.1.0 eslint: 8.7.0 @@ -66,6 +70,92 @@ importers: packages: + /@applint/commitlint-config/1.0.1_3273ff7aa75517990ea55d747b07c2d0: + resolution: {integrity: sha512-OD4gVltC+0gOhiHgI0eNrdxkdXOsFg92mLVj0Qf80USbATvJASO+EILQPSYaHxdTkDkGcvwAvRU8PGvDfRVUMw==} + peerDependencies: + '@commitlint/cli': '>=13.0.0' + husky: '>=7.0.0' + dependencies: + '@commitlint/cli': 16.1.0_@types+node@17.0.12 + conventional-changelog-conventionalcommits: 4.6.3 + husky: 7.0.4 + dev: true + + /@applint/eslint-config/1.0.1_d5d54cb6a81463f462c0c3a754580765: + resolution: {integrity: sha512-ESOYMxGfSHM+7Z6FGrDfMNctuESmO320kzivxx6ECrAa7M7MbFQNGhdftVpqzTjrPei2Olo7/mqiTIdDzTcCMw==} + peerDependencies: + '@typescript-eslint/eslint-plugin': '>=5.0.0' + eslint: '>=6.8.0' + eslint-plugin-import: '>=2.24.2' + eslint-plugin-jsx-a11y: '>=6.4.1' + eslint-plugin-jsx-plus: '>=0.1.0' + eslint-plugin-react: '>=7.26.1' + eslint-plugin-react-hooks: '>=4.2.0' + dependencies: + '@typescript-eslint/eslint-plugin': 5.10.1_eslint@8.7.0+typescript@4.5.5 + '@typescript-eslint/parser': 5.10.1_eslint@8.7.0+typescript@4.5.5 + eslint: 8.7.0 + eslint-plugin-import: 2.25.4_eslint@8.7.0 + eslint-plugin-jsx-a11y: 6.5.1_eslint@8.7.0 + eslint-plugin-jsx-plus: 0.1.0 + eslint-plugin-react: 7.28.0_eslint@8.7.0 + eslint-plugin-react-hooks: 4.3.0_eslint@8.7.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@applint/prettier-config/1.0.0_prettier@2.5.1: + resolution: {integrity: sha512-W9VXju71c5AQYq7YD0t0Uidy9tBnIDiLDl8qwgACdTx4VuvVGxc5a0W6aTCBKIi7mh6QIv3ntcE1DvC0qhX+4A==} + peerDependencies: + prettier: '>=2.0.0' + dependencies: + prettier: 2.5.1 + dev: true + + /@applint/spec/1.0.1_df4e92b56166aa6123b396ff358723e0: + resolution: {integrity: sha512-Pu5M4ow7WXP3ieB4K9qrzssRpu6lMCAxAFHlK8/oFMEyP4LyYV0W1A/B1kaJD9o9DpnOSuiJywn2TBULxU8saw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@commitlint/cli': '>=13.0.0' + eslint: '>=6.8.0' + prettier: '>=2.0.0' + stylelint: '>=8.0.0' + dependencies: + '@applint/commitlint-config': 1.0.1_3273ff7aa75517990ea55d747b07c2d0 + '@applint/eslint-config': 1.0.1_d5d54cb6a81463f462c0c3a754580765 + '@applint/prettier-config': 1.0.0_prettier@2.5.1 + '@applint/stylelint-config': 1.0.1_c4db853c427014d49a4e6300742e2cd9 + '@commitlint/cli': 16.1.0_@types+node@17.0.12 + '@typescript-eslint/eslint-plugin': 5.10.1_eslint@8.7.0+typescript@4.5.5 + deepmerge: 4.2.2 + eslint: 8.7.0 + eslint-plugin-import: 2.25.4_eslint@8.7.0 + eslint-plugin-jsx-a11y: 6.5.1_eslint@8.7.0 + eslint-plugin-jsx-plus: 0.1.0 + eslint-plugin-react: 7.28.0_eslint@8.7.0 + eslint-plugin-react-hooks: 4.3.0_eslint@8.7.0 + prettier: 2.5.1 + require-all: 3.0.0 + stylelint: 14.3.0 + stylelint-scss: 3.21.0_stylelint@14.3.0 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - husky + - supports-color + - typescript + dev: true + + /@applint/stylelint-config/1.0.1_c4db853c427014d49a4e6300742e2cd9: + resolution: {integrity: sha512-SFbLDYsgxolwMomnrNO5rN06BWoQlW7Ao/qXSsx3n74WPF02qSWVfcMI8UzWvzGk7Qq/13dlDpFnWkSEK5CPzA==} + peerDependencies: + stylelint: '>=11.0.0' + stylelint-scss: '>=3.18.0' + dependencies: + stylelint: 14.3.0 + stylelint-scss: 3.21.0_stylelint@14.3.0 + dev: true + /@appworks/constant/0.1.4: resolution: {integrity: sha512-lEUeujTP/MPoeXQNAW316/LEh+PYHk6VpYvEgW/BO5xtFEu4UIwRPb5LclgINXQq3ribqQ6jq9VEgL3QMFCm3Q==} dependencies: @@ -107,20 +197,6 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.16.5_@babel+core@7.16.12+eslint@8.7.0: - resolution: {integrity: sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==} - engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} - peerDependencies: - '@babel/core': '>=7.11.0' - eslint: ^7.5.0 || ^8.0.0 - dependencies: - '@babel/core': 7.16.12 - eslint: 8.7.0 - eslint-scope: 5.1.1 - eslint-visitor-keys: 2.1.0 - semver: 6.3.0 - dev: true - /@babel/generator/7.16.8: resolution: {integrity: sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==} engines: {node: '>=6.9.0'} @@ -130,13 +206,6 @@ packages: source-map: 0.5.7 dev: true - /@babel/helper-annotate-as-pure/7.16.7: - resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.12: resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} engines: {node: '>=6.9.0'} @@ -303,16 +372,6 @@ packages: '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.12: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -387,64 +446,19 @@ packages: '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-react-display-name/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==} + /@babel/runtime-corejs3/7.16.8: + resolution: {integrity: sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 + core-js-pure: 3.20.3 + regenerator-runtime: 0.13.9 dev: true - /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==} + /@babel/runtime/7.16.7: + resolution: {integrity: sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.16.12 - '@babel/plugin-transform-react-jsx': 7.16.7_@babel+core@7.16.12 - dev: true - - /@babel/plugin-transform-react-jsx/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.16.12 - '@babel/types': 7.16.8 - dev: true - - /@babel/plugin-transform-react-pure-annotations/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/preset-react/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - '@babel/helper-validator-option': 7.16.7 - '@babel/plugin-transform-react-display-name': 7.16.7_@babel+core@7.16.12 - '@babel/plugin-transform-react-jsx': 7.16.7_@babel+core@7.16.12 - '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.16.12 - '@babel/plugin-transform-react-pure-annotations': 7.16.7_@babel+core@7.16.12 + regenerator-runtime: 0.13.9 dev: true /@babel/template/7.16.7: @@ -683,56 +697,6 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@iceworks/eslint-plugin-best-practices/0.2.10_95becaf2e00998532e79eb3bc37d8e20: - resolution: {integrity: sha512-5VyGibvZ9bkwBnijjG1oSo+iAuMi7dxlPUmPDiG2sYsENjQueMLjh7E180a7Ija2n7dWYRWhFpsAP/c93W8gcA==} - dependencies: - '@iceworks/spec': 1.5.0_95becaf2e00998532e79eb3bc37d8e20 - '@mdn/browser-compat-data': 2.0.7 - fs-extra: 9.1.0 - glob: 7.2.0 - line-column: 1.0.2 - path-to-regexp: 6.2.0 - require-all: 3.0.0 - semver: 7.3.5 - transitivePeerDependencies: - - eslint - - stylelint - - supports-color - - typescript - dev: true - - /@iceworks/spec/1.5.0_95becaf2e00998532e79eb3bc37d8e20: - resolution: {integrity: sha512-HegR9GIVEE+TSPRYSftI5gkO+/P7EARn7d3u+5hf0XUogwkKmxBsRVFOpjH4NJQCnufZAzFRGXztzKwRBn14GA==} - peerDependencies: - eslint: '>=6.8.0' - stylelint: '>=8.3.0' - dependencies: - '@babel/core': 7.16.12 - '@babel/eslint-parser': 7.16.5_@babel+core@7.16.12+eslint@8.7.0 - '@babel/preset-react': 7.16.7_@babel+core@7.16.12 - '@iceworks/eslint-plugin-best-practices': 0.2.10_95becaf2e00998532e79eb3bc37d8e20 - '@typescript-eslint/eslint-plugin': 5.10.1_0f442f6b60390429061d5d9b6bcaaba6 - '@typescript-eslint/parser': 5.10.1_eslint@8.7.0+typescript@4.5.5 - commitlint-config-ali: 0.1.3 - eslint: 8.7.0 - eslint-config-ali: 13.1.0_eslint@8.7.0 - eslint-plugin-import: 2.25.4_eslint@8.7.0 - eslint-plugin-jsx-plus: 0.1.0 - eslint-plugin-rax-compile-time-miniapp: 1.0.0 - eslint-plugin-react: 7.28.0_eslint@8.7.0 - eslint-plugin-react-hooks: 4.3.0_eslint@8.7.0 - eslint-plugin-vue: 7.20.0_eslint@8.7.0 - json5: 2.2.0 - require-all: 3.0.0 - stylelint: 14.3.0 - stylelint-config-ali: 0.3.4_c4db853c427014d49a4e6300742e2cd9 - stylelint-scss: 3.21.0_stylelint@14.3.0 - vue-eslint-parser: 7.11.0_eslint@8.7.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -940,13 +904,6 @@ packages: chalk: 4.1.2 dev: true - /@mdn/browser-compat-data/2.0.7: - resolution: {integrity: sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==} - engines: {node: '>=10.0.0'} - dependencies: - extend: 3.0.2 - dev: true - /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1036,6 +993,17 @@ packages: '@types/node': 17.0.12 dev: true + /@types/eslint/8.4.1: + resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} + dependencies: + '@types/estree': 0.0.50 + '@types/json-schema': 7.0.9 + dev: true + + /@types/estree/0.0.50: + resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} + dev: true + /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: @@ -1140,7 +1108,7 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin/5.10.1_0f442f6b60390429061d5d9b6bcaaba6: + /@typescript-eslint/eslint-plugin/5.10.1_eslint@8.7.0+typescript@4.5.5: resolution: {integrity: sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1151,7 +1119,6 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.10.1_eslint@8.7.0+typescript@4.5.5 '@typescript-eslint/scope-manager': 5.10.1 '@typescript-eslint/type-utils': 5.10.1_eslint@8.7.0+typescript@4.5.5 '@typescript-eslint/utils': 5.10.1_eslint@8.7.0+typescript@4.5.5 @@ -1285,14 +1252,6 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - /acorn-jsx/5.3.2_acorn@8.7.0: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1411,6 +1370,14 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-query/4.2.2: + resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} + engines: {node: '>=6.0'} + dependencies: + '@babel/runtime': 7.16.7 + '@babel/runtime-corejs3': 7.16.8 + dev: true + /array-ify/1.0.0: resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=} dev: true @@ -1454,6 +1421,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /ast-types-flow/0.0.7: + resolution: {integrity: sha1-9wtzXGvKGlycItmCw+Oef+ujva0=} + dev: true + /astral-regex/2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -1463,9 +1434,9 @@ packages: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: true - /at-least-node/1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + /axe-core/4.3.5: + resolution: {integrity: sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==} + engines: {node: '>=4'} dev: true /axios/0.23.0: @@ -1476,6 +1447,10 @@ packages: - debug dev: true + /axobject-query/2.2.0: + resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} + dev: true + /babel-jest/27.4.6_@babel+core@7.16.12: resolution: {integrity: sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -1690,6 +1665,11 @@ packages: supports-color: 7.2.0 dev: true + /chalk/5.0.0: + resolution: {integrity: sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /char-regex/1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -1783,12 +1763,6 @@ packages: delayed-stream: 1.0.0 dev: true - /commitlint-config-ali/0.1.3: - resolution: {integrity: sha512-udq2cb0i9uXfT6JOgOL7w+iJ0NCcg84az3i6vqEHNI1GCeKXOdZCAjz20XE5dvyWVIfFMcj3d3J0ydgCL6eJHQ==} - dependencies: - conventional-changelog-conventionalcommits: 4.6.3 - dev: true - /compare-func/2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -1836,6 +1810,11 @@ packages: safe-buffer: 5.1.2 dev: true + /core-js-pure/3.20.3: + resolution: {integrity: sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==} + requiresBuild: true + dev: true + /cosmiconfig-typescript-loader/1.0.4_a4f631dedb43a025ec8d07f05ba12686: resolution: {integrity: sha512-ulv2dvwurP/MZAIthXm69bO7EzzIUThZ6RJ1qXhdlXM6to3F+IKBL/17EnhYSG52A5N1KcAUu66vSG/3/77KrA==} engines: {node: '>=12', npm: '>=6'} @@ -1897,6 +1876,10 @@ packages: cssom: 0.3.8 dev: true + /damerau-levenshtein/1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + /dargs/7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} @@ -2093,6 +2076,10 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -2359,14 +2346,6 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-ali/13.1.0_eslint@8.7.0: - resolution: {integrity: sha512-ZjWrpiKADEmNhtfB64iVN3ejlDS5sS9OZx9+jN3mF+oqaroWqrTPvqQvY472M4ykL0JgT+AqsZdG+kWDqUw/6g==} - peerDependencies: - eslint: '>=6.8.0' - dependencies: - eslint: 8.7.0 - dev: true - /eslint-import-resolver-node/0.3.6: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: @@ -2404,6 +2383,27 @@ packages: tsconfig-paths: 3.12.0 dev: true + /eslint-plugin-jsx-a11y/6.5.1_eslint@8.7.0: + resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.16.7 + aria-query: 4.2.2 + array-includes: 3.1.4 + ast-types-flow: 0.0.7 + axe-core: 4.3.5 + axobject-query: 2.2.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 8.7.0 + has: 1.0.3 + jsx-ast-utils: 3.2.1 + language-tags: 1.0.5 + minimatch: 3.0.4 + dev: true + /eslint-plugin-jsx-plus/0.1.0: resolution: {integrity: sha512-iANfZsPWwUWT2czz3A7Ti7B5Iun8YvIMDe6c7VYEZAVjCZyZkB+djflAxOv1XD/TwQeFoEYhCoqaBRWFk5/vIA==} engines: {node: '>=0.10.0'} @@ -2412,13 +2412,6 @@ packages: requireindex: 1.2.0 dev: true - /eslint-plugin-rax-compile-time-miniapp/1.0.0: - resolution: {integrity: sha512-1mF068gM1f3LeP2kAv7G1IbHMs/H2pfGBSH1JysidLBEqJPNlx1bUQNFqr7r/N6jHawUhtTAknSwj3pSTzi61A==} - engines: {node: '>=0.10.0'} - dependencies: - requireindex: 1.1.0 - dev: true - /eslint-plugin-react-hooks/4.3.0_eslint@8.7.0: resolution: {integrity: sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==} engines: {node: '>=10'} @@ -2451,21 +2444,6 @@ packages: string.prototype.matchall: 4.0.6 dev: true - /eslint-plugin-vue/7.20.0_eslint@8.7.0: - resolution: {integrity: sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==} - engines: {node: '>=8.10'} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.7.0 - eslint-utils: 2.1.0 - natural-compare: 1.4.0 - semver: 6.3.0 - vue-eslint-parser: 7.11.0_eslint@8.7.0 - transitivePeerDependencies: - - supports-color - dev: true - /eslint-scope/5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2482,13 +2460,6 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - /eslint-utils/3.0.0_eslint@8.7.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -2499,11 +2470,6 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - /eslint-visitor-keys/2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} @@ -2571,15 +2537,6 @@ packages: - typescript dev: true - /espree/6.2.1: - resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} - engines: {node: '>=6.0.0'} - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 - dev: true - /espree/9.3.0: resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2676,10 +2633,6 @@ packages: jest-message-util: 27.4.6 dev: true - /extend/3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true - /extract-zip/2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -2827,16 +2780,6 @@ packages: universalify: 2.0.0 dev: true - /fs-extra/9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.9 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-minipass/2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -3414,21 +3357,10 @@ packages: call-bind: 1.0.2 dev: true - /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} - dev: true - /isexe/2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /isobject/2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -4085,6 +4017,16 @@ packages: resolution: {integrity: sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==} dev: true + /language-subtag-registry/0.3.21: + resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==} + dev: true + + /language-tags/1.0.5: + resolution: {integrity: sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=} + dependencies: + language-subtag-registry: 0.3.21 + dev: true + /leven/3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -4106,13 +4048,6 @@ packages: type-check: 0.4.0 dev: true - /line-column/1.0.2: - resolution: {integrity: sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=} - dependencies: - isarray: 1.0.0 - isobject: 2.1.0 - dev: true - /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -4634,10 +4569,6 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp/6.2.0: - resolution: {integrity: sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==} - dev: true - /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -4909,6 +4840,10 @@ packages: strip-indent: 3.0.0 dev: true + /regenerator-runtime/0.13.9: + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + dev: true + /regexp.prototype.flags/1.4.1: resolution: {integrity: sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==} engines: {node: '>= 0.4'} @@ -4937,11 +4872,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /requireindex/1.1.0: - resolution: {integrity: sha1-5UBLgVV+91225JxacgBIk/4D4WI=} - engines: {node: '>=0.10.5'} - dev: true - /requireindex/1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -5269,16 +5199,6 @@ packages: resolution: {integrity: sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=} dev: true - /stylelint-config-ali/0.3.4_c4db853c427014d49a4e6300742e2cd9: - resolution: {integrity: sha512-VSh0Kep888xoXHKfJYjotG9LWDwWDOGmz61z5OdI3Y5MwkIYTX5hNfHN6D5+cJjunK1uTU3kbF1vkjrkexUh1Q==} - peerDependencies: - stylelint: '>=8.3.0' - stylelint-scss: '>=2.0.0' - dependencies: - stylelint: 14.3.0 - stylelint-scss: 3.21.0_stylelint@14.3.0 - dev: true - /stylelint-scss/3.21.0_stylelint@14.3.0: resolution: {integrity: sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==} engines: {node: '>=8'} @@ -5720,24 +5640,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vue-eslint-parser/7.11.0_eslint@8.7.0: - resolution: {integrity: sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==} - engines: {node: '>=8.10'} - peerDependencies: - eslint: '>=5.0.0' - dependencies: - debug: 4.3.3 - eslint: 8.7.0 - eslint-scope: 5.1.1 - eslint-visitor-keys: 1.3.0 - espree: 6.2.1 - esquery: 1.4.0 - lodash: 4.17.21 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /w3c-hr-time/1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} dependencies: diff --git a/scripts/build.ts b/scripts/build.ts index 4715f4069..0342790bd 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -6,6 +6,7 @@ import { run } from './shell'; (async () => { await run('npm run clean'); + const fileParten = '*/src/**/!(*.ts|*.tsx|*.rs)'; console.log(`[COPY]: ${fileParten}`); diff --git a/scripts/dependencyCheck.ts b/scripts/dependencyCheck.ts index 67d439561..71df93286 100644 --- a/scripts/dependencyCheck.ts +++ b/scripts/dependencyCheck.ts @@ -9,7 +9,7 @@ const chalk = require('chalk'); packageDirs.forEach((pkgDir) => { execaCommand(`dependency-check ${pkgDir} --missing`, { cwd: pkgDir, - stdio: 'inherit' + stdio: 'inherit', }); }); })().catch((e) => { diff --git a/scripts/getPackageInfos.ts b/scripts/getPackageInfos.ts index afe62957e..fd3b1f0b4 100644 --- a/scripts/getPackageInfos.ts +++ b/scripts/getPackageInfos.ts @@ -25,7 +25,7 @@ function checkBuildSuccess(directory: string, mainFile: string): boolean { return isExist; } -function checkVersionExists(pkg: string, version: string, distTag: string): Promise { +async function checkVersionExists(pkg: string, version: string, distTag: string): Promise { const tag = distTag || 'latest'; return getNpmInfo(pkg).then((data) => { if (!data['dist-tags'] || (!data['dist-tags'][tag] && !data['dist-tags'].latest)) { @@ -70,7 +70,7 @@ export async function getPackageInfos(distTag = ''): Promise { // If localVersion not exist, publish it shouldPublish: checkBuildSuccess(packageFolder, packageInfo.main) && - !await checkVersionExists(packageName, publishVersion, distTag) + !await checkVersionExists(packageName, publishVersion, distTag), }); } catch (e) { console.log(`[ERROR] get ${packageName} information failed: `, e); diff --git a/scripts/lintDiff.ts b/scripts/lintDiff.ts new file mode 100644 index 000000000..bcef24faf --- /dev/null +++ b/scripts/lintDiff.ts @@ -0,0 +1,31 @@ +import { execSync } from 'child_process'; +import { ESLint } from 'eslint'; +import chalk from 'chalk'; + +const GIT_DIFF = 'git diff --diff-filter=ACMR --name-only'; + +(async () => { + const linter = new ESLint(); + + // file level + const fileList = execSync(GIT_DIFF).toString().split('\n'); + // ignore file which is not js/jsx/ts/tsx + const lintFileList = (await Promise.all(fileList + .map(async (file) => !!file && (/\.(j|t)sx?$/g.test(file) && !(await linter.isPathIgnored(file)) && file)))) + .filter(Boolean); + + if (!lintFileList.length) { + console.log(chalk.green('no file should be lint.')); + return; + } + + console.log(chalk.green(lintFileList.join('\n'))); + console.log(); + console.log(chalk.green('above file should be lint.')); + const lintResults = await linter.lintFiles(lintFileList); + const Formatter = await linter.loadFormatter(); + console.log(Formatter.format(lintResults)); +})().catch((error) => { + console.trace(error); + process.exit(1); +}); \ No newline at end of file diff --git a/scripts/publishPackage.ts b/scripts/publishPackage.ts index 899a2be41..babffd20f 100644 --- a/scripts/publishPackage.ts +++ b/scripts/publishPackage.ts @@ -3,7 +3,8 @@ */ import { spawnSync } from 'child_process'; import { setPublishedPackages } from './published-info'; -import { IPackageInfo, getPackageInfos } from './getPackageInfos'; +import type { IPackageInfo } from './getPackageInfos'; +import { getPackageInfos } from './getPackageInfos'; const publishTag = process.env.PUBLISH_TAG || ''; diff --git a/scripts/publishPackageWithDistTag.ts b/scripts/publishPackageWithDistTag.ts index dfd1d7960..a330dcb8f 100644 --- a/scripts/publishPackageWithDistTag.ts +++ b/scripts/publishPackageWithDistTag.ts @@ -5,7 +5,8 @@ import * as path from 'path'; import * as fs from 'fs-extra'; import { spawnSync } from 'child_process'; import { setPublishedPackages } from './published-info'; -import { IPackageInfo, getPackageInfos, getVersionPrefix } from './getPackageInfos'; +import type { IPackageInfo } from './getPackageInfos'; +import { getPackageInfos, getVersionPrefix } from './getPackageInfos'; const PUBLISH_TYPE = process.env.PUBLISH_TYPE || 'beta'; const VERSION_PREFIX = process.env.VERSION_PREFIX || PUBLISH_TYPE; @@ -27,7 +28,7 @@ function getVersionInfo(packageInfo: IPackageInfo, tag: string): ITagPackageInfo 'show', name, 'dist-tags', '--json', ], { - encoding: 'utf-8' + encoding: 'utf-8', }); let distTags = {}; diff --git a/scripts/tagVersion.ts b/scripts/tagVersion.ts index 987a09cb1..eba9d2803 100644 --- a/scripts/tagVersion.ts +++ b/scripts/tagVersion.ts @@ -1,7 +1,8 @@ import * as path from 'path'; import * as fs from 'fs-extra'; import * as semver from 'semver'; -import { getPackageInfos, IPackageInfo, getVersionPrefix } from './getPackageInfos'; +import type { IPackageInfo } from './getPackageInfos'; +import { getPackageInfos, getVersionPrefix } from './getPackageInfos'; console.log('[VERSION] tag versions'); diff --git a/scripts/versionCheck.ts b/scripts/versionCheck.ts index bd85684bb..6686df004 100644 --- a/scripts/versionCheck.ts +++ b/scripts/versionCheck.ts @@ -1,5 +1,6 @@ import * as semver from 'semver'; -import { getPackageInfos, IPackageInfo } from './getPackageInfos'; +import type { IPackageInfo } from './getPackageInfos'; +import { getPackageInfos } from './getPackageInfos'; function checkPackageVersion(publishPackages: IPackageInfo[]) { publishPackages.forEach((publishPackage: IPackageInfo) => { diff --git a/scripts/watch.ts b/scripts/watch.ts index 81c38b604..21236cb91 100644 --- a/scripts/watch.ts +++ b/scripts/watch.ts @@ -23,8 +23,8 @@ import { run } from './shell'; watcher .on('all', (event, filePath) => { const availableEvents = ['add', 'change']; - if (availableEvents.includes(event) - && filePath.match(/.+[\\/]src[\\/].+\.(?!ts$|tsx$|rs$)/)) { + if (availableEvents.includes(event) && + filePath.match(/.+[\\/]src[\\/].+\.(?!ts$|tsx$|rs$)/)) { console.log('non-ts change detected:', filePath); copyOneFile(path.relative(cwd, filePath), cwd); }