提交 92663374f06b6e2b82cc4c8de6bf7b2b67457d5a
提交者
chencheng (云谦)
1 个父辈
70d4167a
feat: add-table (#54)
* feat: add-table * add engines * update doc
正在显示
23 个修改的文件
包含
307 行增加
和
200 行删除
1 | 1 | module.exports = { |
2 | - parser: 'babel-eslint', | |
3 | - extends: ['airbnb', 'prettier', 'plugin:compat/recommended'], | |
4 | - env: { | |
5 | - browser: true, | |
6 | - node: true, | |
7 | - es6: true, | |
8 | - mocha: true, | |
9 | - jest: true, | |
10 | - jasmine: true, | |
11 | - }, | |
12 | - globals: { | |
13 | - APP_TYPE: true, | |
14 | - page: true, | |
15 | - }, | |
2 | + extends: [require.resolve('@umijs/fabric/dist/eslint')], | |
16 | 3 | rules: { |
17 | - 'import/prefer-default-export': 0, | |
18 | - 'react/jsx-filename-extension': [1, { extensions: ['.js'] }], | |
19 | - 'react/jsx-wrap-multilines': 0, | |
20 | - 'react/prop-types': 0, | |
21 | - 'react/forbid-prop-types': 0, | |
22 | - 'react/jsx-one-expression-per-line': 0, | |
23 | - 'import/no-unresolved': 0, | |
24 | - 'import/no-extraneous-dependencies': [ | |
25 | - 2, | |
26 | - { | |
27 | - optionalDependencies: true, | |
28 | - devDependencies: ['**/tests/**.js', '/mock/**.js', '**/**.test.js', '**/_scripts/*.js'], | |
29 | - }, | |
30 | - ], | |
31 | - 'jsx-a11y/no-noninteractive-element-interactions': 0, | |
32 | - 'jsx-a11y/click-events-have-key-events': 0, | |
33 | - 'jsx-a11y/no-static-element-interactions': 0, | |
34 | - 'jsx-a11y/anchor-is-valid': 0, | |
35 | - 'linebreak-style': 0, | |
36 | - }, | |
37 | - settings: { | |
38 | - polyfills: ['fetch', 'promises', 'url'], | |
4 | + 'import/no-extraneous-dependencies': 0, | |
39 | 5 | }, |
40 | 6 | }; | ... | ... |
1 | - | |
2 | 1 | export default { |
3 | 2 | plugins: [ |
4 | - ['umi-plugin-block-dev', { | |
5 | - layout: process.env.LAYOUT || 'ant-design-pro', | |
6 | - menu: { | |
7 | - name: process.env.BLOCK, | |
8 | - icon: 'home', | |
3 | + [ | |
4 | + 'umi-plugin-block-dev', | |
5 | + { | |
6 | + layout: process.env.LAYOUT || 'ant-design-pro', | |
7 | + menu: { | |
8 | + name: process.env.BLOCK, | |
9 | + icon: 'home', | |
10 | + }, | |
9 | 11 | }, |
10 | - }], | |
11 | - ['umi-plugin-react', { | |
12 | - 'dva': true, | |
13 | - 'antd': true, | |
14 | - }], | |
15 | - require.resolve('./plugin'), | |
12 | + ], | |
13 | + [ | |
14 | + 'umi-plugin-react', | |
15 | + { | |
16 | + dva: true, | |
17 | + antd: true, | |
18 | + }, | |
19 | + ], | |
20 | + // require.resolve('./plugin'), | |
16 | 21 | ], |
17 | 22 | }; | ... | ... |
... | ... | @@ -33,7 +33,7 @@ function haveImport(cwd, name) { |
33 | 33 | function parseJSON(root) { |
34 | 34 | const dirs = readdirSync(root); |
35 | 35 | const type = basename(root); |
36 | - const list = dirs.reduce((memo, dir) => { | |
36 | + const list = dirs.reduce((memo = [], dir) => { | |
37 | 37 | if (dir.charAt(0) === '.') return; |
38 | 38 | const absDirPath = join(root, dir); |
39 | 39 | const pkg = require(join(absDirPath, 'package.json')); |
... | ... | @@ -69,11 +69,7 @@ function generate(root) { |
69 | 69 | mkdirp.sync(dist); |
70 | 70 | |
71 | 71 | const json = parseJSON(root); |
72 | - writeFileSync( | |
73 | - join(dist, `${type}.json`), | |
74 | - JSON.stringify(json, null, 2), | |
75 | - 'utf-8', | |
76 | - ); | |
72 | + writeFileSync(join(dist, `${type}.json`), JSON.stringify(json, null, 2), 'utf-8'); | |
77 | 73 | } |
78 | 74 | |
79 | 75 | generate(join(__dirname, '..', 'templates')); | ... | ... |
... | ... | @@ -32,7 +32,9 @@ files.forEach(file => { |
32 | 32 | }; |
33 | 33 | const isPrettier = prettier.check(input, withParserOptions); |
34 | 34 | if (!isPrettier) { |
35 | - console.log(`\x1b[31m ${file} is no prettier, please use npm run prettier and git add !\x1b[0m`); | |
35 | + console.log( | |
36 | + `\x1b[31m ${file} is no prettier, please use npm run prettier and git add !\x1b[0m` | |
37 | + ); | |
36 | 38 | didWarn = true; |
37 | 39 | } |
38 | 40 | } catch (e) { | ... | ... |
blocks/.DS_Store
0 → 100644
不能预览此文件类型
1 | - | |
2 | 1 | .wrapper { |
3 | 2 | display: flex; |
4 | 3 | min-height: 100vh; |
5 | 4 | flex-direction: column; |
6 | 5 | |
7 | - header, footer { | |
6 | + header, | |
7 | + footer { | |
8 | 8 | background: #82caff; |
9 | 9 | flex: 0 0 6em; |
10 | 10 | } |
... | ... | @@ -19,7 +19,8 @@ |
19 | 19 | flex: 1; |
20 | 20 | background: #fecccc; |
21 | 21 | } |
22 | - aside, nav { | |
22 | + aside, | |
23 | + nav { | |
23 | 24 | flex: 0 0 12em; |
24 | 25 | background: #c9c; |
25 | 26 | } | ... | ... |
blocks/table/package.json
0 → 100644
1 | +{ | |
2 | + "name": "table", | |
3 | + "description": "查询表格是每一个项目都需要的基本页面。", | |
4 | + "dependencies": { | |
5 | + "@ant-design/pro-table": "^1.0.31", | |
6 | + "@umijs/ui-flag": "1.0.2", | |
7 | + "antd": "^3.10.9" | |
8 | + }, | |
9 | + "peerDependencies": { | |
10 | + "react": "^16.8.6", | |
11 | + "react-dom": "^16.8.6" | |
12 | + }, | |
13 | + "devDependencies": { | |
14 | + "umi": "^2.13.0" | |
15 | + } | |
16 | +} | ... | ... |
blocks/table/snapshot.png
0 → 100644
69.5 KB
blocks/table/src/index.tsx
0 → 100755
1 | +import { Button, Divider, Dropdown, Form, Icon, Menu } from 'antd'; | |
2 | +import React, { useState, useRef } from 'react'; | |
3 | +import ProTable, { ProColumns, ActionType } from '@ant-design/pro-table'; | |
4 | +import UmiUIFlag from '@umijs/ui-flag'; | |
5 | +import { FormComponentProps } from 'antd/es/form'; | |
6 | +import { TableListItem, TableListParams } from './typing.d'; | |
7 | + | |
8 | +export async function queryRule(params?: TableListParams) { | |
9 | + console.log(params); | |
10 | + return { data: [], success: true }; | |
11 | +} | |
12 | + | |
13 | +const TableList: React.FC<FormComponentProps> = () => { | |
14 | + const [sorter, setSorter] = useState({}); | |
15 | + const actionRef = useRef<ActionType>(); | |
16 | + const columns: ProColumns<TableListItem>[] = [ | |
17 | + { | |
18 | + title: '规则名称', | |
19 | + dataIndex: 'name', | |
20 | + }, | |
21 | + { | |
22 | + title: '描述', | |
23 | + dataIndex: 'desc', | |
24 | + }, | |
25 | + { | |
26 | + title: '服务调用次数', | |
27 | + dataIndex: 'callNo', | |
28 | + sorter: true, | |
29 | + align: 'right', | |
30 | + renderText: (val: string) => `${val} 万`, | |
31 | + }, | |
32 | + { | |
33 | + title: '状态', | |
34 | + dataIndex: 'status', | |
35 | + valueEnum: { | |
36 | + 0: { text: '关闭', status: 'Default' }, | |
37 | + 1: { text: '运行中', status: 'Processing' }, | |
38 | + 2: { text: '已上线', status: 'Success' }, | |
39 | + 3: { text: '异常', status: 'Error' }, | |
40 | + }, | |
41 | + }, | |
42 | + { | |
43 | + title: '上次调度时间', | |
44 | + dataIndex: 'updatedAt', | |
45 | + sorter: true, | |
46 | + valueType: 'dateTime', | |
47 | + }, | |
48 | + { | |
49 | + title: '操作', | |
50 | + dataIndex: 'option', | |
51 | + valueType: 'option', | |
52 | + render: () => ( | |
53 | + <> | |
54 | + <a>配置</a> | |
55 | + <Divider type="vertical" /> | |
56 | + <a href="">订阅警报</a> | |
57 | + </> | |
58 | + ), | |
59 | + }, | |
60 | + ]; | |
61 | + | |
62 | + return ( | |
63 | + <ProTable<TableListItem> | |
64 | + headerTitle="查询表格" | |
65 | + actionRef={actionRef} | |
66 | + rowKey="key" | |
67 | + onChange={(_, _filter, _sorter) => { | |
68 | + setSorter(`${_sorter.field}_${_sorter.order}`); | |
69 | + }} | |
70 | + params={{ | |
71 | + sorter, | |
72 | + }} | |
73 | + toolBarRender={(action, { selectedRows }) => [ | |
74 | + <> | |
75 | + <UmiUIFlag /> | |
76 | + </>, | |
77 | + <Button icon="plus" type="primary"> | |
78 | + 新建 | |
79 | + </Button>, | |
80 | + selectedRows && selectedRows.length > 0 && ( | |
81 | + <Dropdown | |
82 | + overlay={ | |
83 | + <Menu | |
84 | + onClick={async e => { | |
85 | + if (e.key === 'remove') { | |
86 | + console.log('remove'); | |
87 | + action.reload(); | |
88 | + } | |
89 | + }} | |
90 | + selectedKeys={[]} | |
91 | + > | |
92 | + <Menu.Item key="remove">批量删除</Menu.Item> | |
93 | + <Menu.Item key="approval">批量审批</Menu.Item> | |
94 | + </Menu> | |
95 | + } | |
96 | + > | |
97 | + <Button> | |
98 | + 批量操作 <Icon type="down" /> | |
99 | + </Button> | |
100 | + </Dropdown> | |
101 | + ), | |
102 | + ]} | |
103 | + tableAlertRender={(selectedRowKeys, selectedRows) => ( | |
104 | + <div> | |
105 | + 已选择 <a style={{ fontWeight: 600 }}>{selectedRowKeys.length}</a> 项 | |
106 | + <span> | |
107 | + 服务调用次数总计 {selectedRows.reduce((pre, item) => pre + item.callNo, 0)} 万 | |
108 | + </span> | |
109 | + </div> | |
110 | + )} | |
111 | + request={params => queryRule(params)} | |
112 | + columns={columns} | |
113 | + /> | |
114 | + ); | |
115 | +}; | |
116 | + | |
117 | +export default Form.create<FormComponentProps>()(TableList); | ... | ... |
blocks/table/src/typing.d.ts
0 → 100644
1 | +export interface TableListItem { | |
2 | + key: number; | |
3 | + disabled?: boolean; | |
4 | + href: string; | |
5 | + avatar: string; | |
6 | + name: string; | |
7 | + title: string; | |
8 | + owner: string; | |
9 | + desc: string; | |
10 | + callNo: number; | |
11 | + status: number; | |
12 | + updatedAt: Date; | |
13 | + createdAt: Date; | |
14 | + progress: number; | |
15 | +} | |
16 | + | |
17 | +export interface TableListParams { | |
18 | + sorter?: string; | |
19 | + status?: string; | |
20 | + name?: string; | |
21 | + desc?: string; | |
22 | + key?: number; | |
23 | + pageSize?: number; | |
24 | + currentPage?: number; | |
25 | +} | ... | ... |
1 | 1 | { |
2 | 2 | "private": true, |
3 | 3 | "scripts": { |
4 | - "start": "UMI_UI=none umi dev", | |
5 | - "lint:style": "stylelint \"src/**/*.less\" --syntax less", | |
4 | + "build": "node ./_scripts/build.js", | |
5 | + "create": "node ./_scripts/create.js", | |
6 | 6 | "lint": "eslint --ext .js src mock tests && npm run lint:style", |
7 | - "lint:fix": "eslint --fix --ext .js src mock tests && npm run lint:style", | |
8 | 7 | "lint-staged": "lint-staged", |
9 | 8 | "lint-staged:js": "eslint --ext .js", |
10 | - "prettier": "node ./_scripts/prettier.js", | |
11 | - "build": "node ./_scripts/build.js", | |
12 | - "create": "node ./_scripts/create.js" | |
9 | + "lint:fix": "eslint --fix --ext .js src mock tests && npm run lint:style", | |
10 | + "lint:style": "stylelint \"src/**/*.less\" --syntax less", | |
11 | + "prettier": "prettier -c --write \"**/*\"", | |
12 | + "screenshot": "pro screenshot", | |
13 | + "start": "umi block_dev" | |
13 | 14 | }, |
14 | - "devDependencies": { | |
15 | - "@ant-design/pro-layout": "^4.5.16", | |
16 | - "babel-eslint": "^10.0.1", | |
17 | - "eslint": "^5.4.0", | |
18 | - "eslint-config-airbnb": "^17.0.0", | |
19 | - "eslint-config-prettier": "^3.0.1", | |
20 | - "eslint-plugin-babel": "^5.3.0", | |
21 | - "eslint-plugin-compat": "^2.6.2", | |
22 | - "eslint-plugin-import": "^2.14.0", | |
23 | - "eslint-plugin-jsx-a11y": "^6.1.2", | |
24 | - "eslint-plugin-markdown": "^1.0.0-beta.6", | |
25 | - "eslint-plugin-react": "^7.11.1", | |
26 | - "glob": "^7.1.4", | |
27 | - "husky": "^1.2.0", | |
28 | - "lint-staged": "^8.1.0", | |
29 | - "mkdirp": "^0.5.1", | |
30 | - "prettier": "1.15.2", | |
31 | - "stylelint": "^9.8.0", | |
32 | - "stylelint-config-prettier": "^4.0.0", | |
33 | - "stylelint-config-standard": "^18.0.0", | |
34 | - "umi": "^2.3.0-0", | |
35 | - "umi-plugin-block-dev": "^2.0.0", | |
36 | - "umi-plugin-react": "^1.3.0-0", | |
37 | - "umi-request": "^1.2.6", | |
38 | - "yeoman-generator": "^4.1.0" | |
15 | + "husky": { | |
16 | + "hooks": { | |
17 | + "pre-commit": "npm run lint-staged" | |
18 | + } | |
39 | 19 | }, |
40 | 20 | "lint-staged": { |
21 | + "**/*.less": "stylelint --syntax less", | |
22 | + "x/**/*.{js,jsx}": "npm run lint-staged:js", | |
41 | 23 | "x/**/*.{js,ts,tsx,json,jsx,less}": [ |
42 | 24 | "node ./_scripts/lint-prettier.js", |
43 | 25 | "git add" |
44 | - ], | |
45 | - "x/**/*.{js,jsx}": "npm run lint-staged:js", | |
46 | - "**/*.less": "stylelint --syntax less" | |
26 | + ] | |
47 | 27 | }, |
48 | - "husky": { | |
49 | - "hooks": { | |
50 | - "pre-commit": "npm run lint-staged" | |
51 | - } | |
28 | + "devDependencies": { | |
29 | + "@ant-design/pro-cli": "^1.0.5", | |
30 | + "@ant-design/pro-layout": "^4.5.16", | |
31 | + "@umijs/fabric": "^2.0.0", | |
32 | + "cross-env": "^6.0.0", | |
33 | + "eslint": "^6.8.0", | |
34 | + "glob": "^7.1.4", | |
35 | + "husky": "^4.0.7", | |
36 | + "import-sort-cli": "^6.0.0", | |
37 | + "import-sort-parser-babylon": "^6.0.0", | |
38 | + "import-sort-parser-typescript": "^6.0.0", | |
39 | + "import-sort-style-module": "^6.0.0", | |
40 | + "lint-staged": "^9.5.0", | |
41 | + "mkdirp": "^0.5.1", | |
42 | + "prettier": "1.19.1", | |
43 | + "stylelint": "^13.0.0", | |
44 | + "stylelint-config-prettier": "^8.0.0", | |
45 | + "stylelint-config-standard": "^19.0.0", | |
46 | + "typescript": "^3.5.1", | |
47 | + "umi": "^2.13.0", | |
48 | + "umi-plugin-block-dev": "^3.0.1", | |
49 | + "umi-plugin-react": "^1.15.0", | |
50 | + "umi-request": "^1.2.17", | |
51 | + "yeoman-generator": "^4.1.0" | |
52 | + }, | |
53 | + "engines": { | |
54 | + "node": "12.x" | |
52 | 55 | } |
53 | 56 | } | ... | ... |
1 | - | |
2 | 1 | const PAGE_SIZE = 3; |
3 | 2 | let data = [ |
4 | 3 | { |
5 | - "id": 1, | |
6 | - "name": "Leanne Graham", | |
7 | - "email": "Sincere@april.biz", | |
8 | - "website": "hildegard.org", | |
4 | + id: 1, | |
5 | + name: 'Leanne Graham', | |
6 | + email: 'Sincere@april.biz', | |
7 | + website: 'hildegard.org', | |
9 | 8 | }, |
10 | 9 | { |
11 | - "id": 2, | |
12 | - "name": "Ervin Howell", | |
13 | - "email": "Shanna@melissa.tv", | |
14 | - "website": "anastasia.net", | |
10 | + id: 2, | |
11 | + name: 'Ervin Howell', | |
12 | + email: 'Shanna@melissa.tv', | |
13 | + website: 'anastasia.net', | |
15 | 14 | }, |
16 | 15 | { |
17 | - "id": 3, | |
18 | - "name": "Clementine Bauch", | |
19 | - "email": "Nathan@yesenia.net", | |
20 | - "website": "ramiro.info", | |
16 | + id: 3, | |
17 | + name: 'Clementine Bauch', | |
18 | + email: 'Nathan@yesenia.net', | |
19 | + website: 'ramiro.info', | |
21 | 20 | }, |
22 | 21 | { |
23 | - "id": 4, | |
24 | - "name": "Patricia Lebsack", | |
25 | - "email": "Julianne.OConner@kory.org", | |
26 | - "website": "kale.biz", | |
22 | + id: 4, | |
23 | + name: 'Patricia Lebsack', | |
24 | + email: 'Julianne.OConner@kory.org', | |
25 | + website: 'kale.biz', | |
27 | 26 | }, |
28 | 27 | { |
29 | - "id": 5, | |
30 | - "name": "Chelsey Dietrich", | |
31 | - "email": "Lucio_Hettinger@annie.ca", | |
32 | - "website": "demarco.info", | |
28 | + id: 5, | |
29 | + name: 'Chelsey Dietrich', | |
30 | + email: 'Lucio_Hettinger@annie.ca', | |
31 | + website: 'demarco.info', | |
33 | 32 | }, |
34 | 33 | { |
35 | - "id": 6, | |
36 | - "name": "Mrs. Dennis Schulist", | |
37 | - "email": "Karley_Dach@jasper.info", | |
38 | - "website": "ola.org", | |
34 | + id: 6, | |
35 | + name: 'Mrs. Dennis Schulist', | |
36 | + email: 'Karley_Dach@jasper.info', | |
37 | + website: 'ola.org', | |
39 | 38 | }, |
40 | 39 | { |
41 | - "id": 7, | |
42 | - "name": "Kurtis Weissnat", | |
43 | - "email": "Telly.Hoeger@billy.biz", | |
44 | - "website": "elvis.io", | |
40 | + id: 7, | |
41 | + name: 'Kurtis Weissnat', | |
42 | + email: 'Telly.Hoeger@billy.biz', | |
43 | + website: 'elvis.io', | |
45 | 44 | }, |
46 | 45 | { |
47 | - "id": 8, | |
48 | - "name": "Nicholas Runolfsdottir V", | |
49 | - "email": "Sherwood@rosamond.me", | |
50 | - "website": "jacynthe.com", | |
46 | + id: 8, | |
47 | + name: 'Nicholas Runolfsdottir V', | |
48 | + email: 'Sherwood@rosamond.me', | |
49 | + website: 'jacynthe.com', | |
51 | 50 | }, |
52 | 51 | { |
53 | - "id": 9, | |
54 | - "name": "Glenna Reichert", | |
55 | - "email": "Chaim_McDermott@dana.io", | |
56 | - "website": "conrad.com", | |
52 | + id: 9, | |
53 | + name: 'Glenna Reichert', | |
54 | + email: 'Chaim_McDermott@dana.io', | |
55 | + website: 'conrad.com', | |
57 | 56 | }, |
58 | 57 | ]; |
59 | 58 | |
60 | 59 | function uid(len) { |
61 | 60 | len = len || 7; |
62 | - return Math.random().toString(35).substr(2, len); | |
61 | + return Math.random() | |
62 | + .toString(35) | |
63 | + .substr(2, len); | |
63 | 64 | } |
64 | 65 | |
65 | 66 | function getData(page) { | ... | ... |
... | ... | @@ -11,7 +11,7 @@ class UserEditModal extends Component { |
11 | 11 | }; |
12 | 12 | } |
13 | 13 | |
14 | - showModelHandler = (e) => { | |
14 | + showModelHandler = e => { | |
15 | 15 | if (e) e.stopPropagation(); |
16 | 16 | this.setState({ |
17 | 17 | visible: true, |
... | ... | @@ -45,9 +45,7 @@ class UserEditModal extends Component { |
45 | 45 | |
46 | 46 | return ( |
47 | 47 | <span> |
48 | - <span onClick={this.showModelHandler}> | |
49 | - { children } | |
50 | - </span> | |
48 | + <span onClick={this.showModelHandler}>{children}</span> | |
51 | 49 | <Modal |
52 | 50 | title="Edit User" |
53 | 51 | visible={this.state.visible} |
... | ... | @@ -55,35 +53,20 @@ class UserEditModal extends Component { |
55 | 53 | onCancel={this.hideModelHandler} |
56 | 54 | > |
57 | 55 | <Form horizontal onSubmit={this.okHandler}> |
58 | - <FormItem | |
59 | - {...formItemLayout} | |
60 | - label="Name" | |
61 | - > | |
62 | - { | |
63 | - getFieldDecorator('name', { | |
64 | - initialValue: name, | |
65 | - })(<Input />) | |
66 | - } | |
56 | + <FormItem {...formItemLayout} label="Name"> | |
57 | + {getFieldDecorator('name', { | |
58 | + initialValue: name, | |
59 | + })(<Input />)} | |
67 | 60 | </FormItem> |
68 | - <FormItem | |
69 | - {...formItemLayout} | |
70 | - label="Email" | |
71 | - > | |
72 | - { | |
73 | - getFieldDecorator('email', { | |
74 | - initialValue: email, | |
75 | - })(<Input />) | |
76 | - } | |
61 | + <FormItem {...formItemLayout} label="Email"> | |
62 | + {getFieldDecorator('email', { | |
63 | + initialValue: email, | |
64 | + })(<Input />)} | |
77 | 65 | </FormItem> |
78 | - <FormItem | |
79 | - {...formItemLayout} | |
80 | - label="Website" | |
81 | - > | |
82 | - { | |
83 | - getFieldDecorator('website', { | |
84 | - initialValue: website, | |
85 | - })(<Input />) | |
86 | - } | |
66 | + <FormItem {...formItemLayout} label="Website"> | |
67 | + {getFieldDecorator('website', { | |
68 | + initialValue: website, | |
69 | + })(<Input />)} | |
87 | 70 | </FormItem> |
88 | 71 | </Form> |
89 | 72 | </Modal> | ... | ... |
... | ... | @@ -2,8 +2,8 @@ |
2 | 2 | "compilerOptions": { |
3 | 3 | "outDir": "build/dist", |
4 | 4 | "module": "esnext", |
5 | - "target": "es2016", | |
6 | - "lib": ["es6", "dom"], | |
5 | + "target": "esnext", | |
6 | + "lib": ["esnext", "dom"], | |
7 | 7 | "sourceMap": true, |
8 | 8 | "baseUrl": ".", |
9 | 9 | "jsx": "react", |
... | ... | @@ -15,21 +15,13 @@ |
15 | 15 | "suppressImplicitAnyIndexErrors": true, |
16 | 16 | "noUnusedLocals": true, |
17 | 17 | "allowJs": true, |
18 | + "resolveJsonModule": true, | |
18 | 19 | "experimentalDecorators": true, |
20 | + "strict": true, | |
19 | 21 | "paths": { |
20 | - "@/*": ["./ant-design-pro/*/src/*"] | |
22 | + "@/*": ["./src/*"] | |
21 | 23 | } |
22 | 24 | }, |
23 | - "include": ["./ant-design-pro"], | |
24 | - "exclude": [ | |
25 | - "node_modules", | |
26 | - "build", | |
27 | - "scripts", | |
28 | - "acceptance-tests", | |
29 | - "webpack", | |
30 | - "jest", | |
31 | - "src/setupTests.ts", | |
32 | - "tslint:latest", | |
33 | - "tslint-config-prettier" | |
34 | - ] | |
25 | + "include": [".", "./typings.d"], | |
26 | + "exclude": ["node_modules", "_scripts", "jest", "tslint:latest", "tslint-config-prettier"] | |
35 | 27 | } | ... | ... |
tslint.json
已删除
100644 → 0
1 | -{ | |
2 | - "extends": ["tslint:latest", "tslint-react", "tslint-config-prettier"], | |
3 | - "rules": { | |
4 | - "no-var-requires": false, | |
5 | - "no-submodule-imports": false, | |
6 | - "object-literal-sort-keys": false, | |
7 | - "jsx-no-lambda": false, | |
8 | - "no-implicit-dependencies": false, | |
9 | - "no-console": false | |
10 | - } | |
11 | -} |
typings.d.ts
0 → 100644
1 | +declare module '*.css'; | |
2 | +declare module '*.less'; | |
3 | +declare module '*.scss'; | |
4 | +declare module '*.sass'; | |
5 | +declare module '*.svg'; | |
6 | +declare module '*.png'; | |
7 | +declare module '*.jpg'; | |
8 | +declare module '*.jpeg'; | |
9 | +declare module '*.gif'; | |
10 | +declare module '*.bmp'; | |
11 | +declare module '*.tiff'; | |
12 | +declare module 'mockjs'; | |
13 | + | |
14 | +declare module '@umijs/ui-flag'; | ... | ... |
请
注册
或
登录
后发表评论