init commit
Showing
14 changed files
with
293 additions
and
0 deletions
boilerplate/babelrc
0 → 100644
boilerplate/demo/index.html
0 → 100644
| 1 | <!DOCTYPE html> | ||
| 2 | <html> | ||
| 3 | <head> | ||
| 4 | <meta charset="UTF-8"> | ||
| 5 | <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"> | ||
| 6 | <script src="https://zb100.oss-cn-shanghai.aliyuncs.com/f/flexible_css_flexible20171215.js"></script> | ||
| 7 | <title>${projectName} Demo</title> | ||
| 8 | </head> | ||
| 9 | <body> | ||
| 10 | <div id="app"></div> | ||
| 11 | </body> | ||
| 12 | </html> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
boilerplate/demo/index.tsx
0 → 100644
boilerplate/gitignore
0 → 100644
File mode changed
boilerplate/npmignore
0 → 100644
boilerplate/package.json
0 → 100644
| 1 | { | ||
| 2 | "name": "${projectName}", | ||
| 3 | "version": "0.1.0", | ||
| 4 | "description": "${description}", | ||
| 5 | "main": "dist/${projectName}.js", | ||
| 6 | "scripts": { | ||
| 7 | "build": "webpack", | ||
| 8 | "dev": "webpack-dev-server --config=webpack.dev.js --hot --inline" | ||
| 9 | }, | ||
| 10 | "repository": { | ||
| 11 | "type": "git", | ||
| 12 | "url": "ssh://git@gitlab.zb100.com:10022/${repo}.git" | ||
| 13 | }, | ||
| 14 | "author": "${author}", | ||
| 15 | "license": "MIT", | ||
| 16 | "devDependencies": { | ||
| 17 | "@babel/core": "^7.1.6", | ||
| 18 | "@babel/plugin-proposal-class-properties": "^7.1.0", | ||
| 19 | "@babel/preset-env": "^7.1.6", | ||
| 20 | "@babel/preset-react": "^7.0.0", | ||
| 21 | "@babel/preset-typescript": "^7.1.0", | ||
| 22 | "@types/react": "^16.7.6", | ||
| 23 | "@types/react-dom": "^16.0.9", | ||
| 24 | "autoprefixer": "^9.3.1", | ||
| 25 | "babel-loader": "^8.0.4", | ||
| 26 | "css-loader": "^1.0.1", | ||
| 27 | "eslint-plugin-typescript": "^0.13.0", | ||
| 28 | "html-webpack-plugin": "^3.2.0", | ||
| 29 | "ip": "^1.1.5", | ||
| 30 | "less": "^3.8.1", | ||
| 31 | "less-loader": "^4.1.0", | ||
| 32 | "mini-css-extract-plugin": "^0.4.4", | ||
| 33 | "postcss-loader": "^3.0.0", | ||
| 34 | "postcss-pxtorem": "^4.0.1", | ||
| 35 | "react": "^16.6.3", | ||
| 36 | "react-dom": "^16.6.3", | ||
| 37 | "style-loader": "^0.23.1", | ||
| 38 | "typescript": "^3.1.6", | ||
| 39 | "typescript-eslint-parser": "^21.0.1", | ||
| 40 | "typings-for-css-modules-loader": "^1.7.0", | ||
| 41 | "webpack": "^4.25.1", | ||
| 42 | "webpack-cli": "^3.1.2", | ||
| 43 | "webpack-dev-server": "^3.1.10" | ||
| 44 | }, | ||
| 45 | "files": [ | ||
| 46 | "dist" | ||
| 47 | ], | ||
| 48 | "standard": { | ||
| 49 | "parser": "typescript-eslint-parser", | ||
| 50 | "plugins": [ | ||
| 51 | "typescript" | ||
| 52 | ] | ||
| 53 | } | ||
| 54 | } |
boilerplate/postcss.config.js
0 → 100644
boilerplate/src/index.tsx
0 → 100644
| 1 | import React from 'react' | ||
| 2 | import styles from './styles/index.less' | ||
| 3 | |||
| 4 | interface PropsInterface { | ||
| 5 | |||
| 6 | } | ||
| 7 | |||
| 8 | interface StateInterface { | ||
| 9 | |||
| 10 | } | ||
| 11 | |||
| 12 | class Component extends React.Component<PropsInterface, StateInterface> { | ||
| 13 | render () { | ||
| 14 | return ( | ||
| 15 | <div className={styles.container}> | ||
| 16 | ${projectName} | ||
| 17 | </div> | ||
| 18 | ) | ||
| 19 | } | ||
| 20 | } | ||
| 21 | |||
| 22 | export default Component | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
boilerplate/src/styles/index.less
0 → 100644
| 1 | .container { | ||
| 2 | font-weight: 400; | ||
| 3 | font-family: | ||
| 4 | system, -apple-system, BlinkMacSystemFont, | ||
| 5 | "PingFang SC", "Segoe UI", "Microsoft YaHei", "wenquanyi micro hei","Hiragino Sans GB", "Hiragino Sans GB W3", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", | ||
| 6 | "Helvetica Neue", Helvetica, Arial, sans-serif; | ||
| 7 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
boilerplate/tsconfig.json
0 → 100644
| 1 | { | ||
| 2 | "compilerOptions": { | ||
| 3 | "allowJs": true, | ||
| 4 | "allowSyntheticDefaultImports": true, | ||
| 5 | "baseUrl": ".", | ||
| 6 | "jsx": "preserve", | ||
| 7 | "lib": ["dom", "es2017"], | ||
| 8 | "module": "esnext", | ||
| 9 | "moduleResolution": "node", | ||
| 10 | "noEmit": true, | ||
| 11 | "noUnusedLocals": true, | ||
| 12 | "noUnusedParameters": true, | ||
| 13 | "preserveConstEnums": true, | ||
| 14 | "removeComments": false, | ||
| 15 | "skipLibCheck": true, | ||
| 16 | "sourceMap": true, | ||
| 17 | "strict": true, | ||
| 18 | "target": "esnext" | ||
| 19 | }, | ||
| 20 | "includes": [ | ||
| 21 | "./externals.d.ts" | ||
| 22 | ] | ||
| 23 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
boilerplate/webpack.config.js
0 → 100644
| 1 | const path = require('path') | ||
| 2 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') | ||
| 3 | |||
| 4 | module.exports = { | ||
| 5 | mode: 'production', | ||
| 6 | entry: './src/index.tsx', | ||
| 7 | output: { | ||
| 8 | filename: '${projectName}.js', | ||
| 9 | path: path.resolve(__dirname, 'dist'), | ||
| 10 | library: '${projectName}', | ||
| 11 | libraryTarget: 'umd' | ||
| 12 | }, | ||
| 13 | resolve: { | ||
| 14 | extensions: [ | ||
| 15 | '.ts', | ||
| 16 | '.tsx', | ||
| 17 | '.js' | ||
| 18 | ] | ||
| 19 | }, | ||
| 20 | module: { | ||
| 21 | rules: [{ | ||
| 22 | test: /\.tsx?$/, | ||
| 23 | loader: 'babel-loader' | ||
| 24 | }, { | ||
| 25 | test: /\.less$/, | ||
| 26 | use: [ | ||
| 27 | MiniCssExtractPlugin.loader, | ||
| 28 | { | ||
| 29 | loader: 'css-loader', | ||
| 30 | options: { | ||
| 31 | modules: true, | ||
| 32 | localIdentName: '${projectName}__[local]__[hash:base64:5]', | ||
| 33 | importLoaders: 1 | ||
| 34 | } | ||
| 35 | }, { | ||
| 36 | loader: 'less-loader' | ||
| 37 | } | ||
| 38 | ] | ||
| 39 | }] | ||
| 40 | }, | ||
| 41 | externals: { | ||
| 42 | react: { | ||
| 43 | commonjs: 'react', | ||
| 44 | amd: 'react', | ||
| 45 | root: 'React', | ||
| 46 | commonjs2: 'react' | ||
| 47 | } | ||
| 48 | }, | ||
| 49 | plugins: [ | ||
| 50 | new MiniCssExtractPlugin({ | ||
| 51 | filename: '${projectName}.css', | ||
| 52 | chunkFilename: '[id].css' | ||
| 53 | }) | ||
| 54 | ] | ||
| 55 | } |
boilerplate/webpack.dev.js
0 → 100644
| 1 | const HtmlWebpackPlugin = require('html-webpack-plugin') | ||
| 2 | const ip = require('ip') | ||
| 3 | |||
| 4 | module.exports = { | ||
| 5 | mode: 'development', | ||
| 6 | entry: './demo/index.tsx', | ||
| 7 | output: { | ||
| 8 | filename: 'demo.js', | ||
| 9 | publicPath: '/' | ||
| 10 | }, | ||
| 11 | resolve: { | ||
| 12 | extensions: [ | ||
| 13 | '.ts', | ||
| 14 | '.tsx', | ||
| 15 | '.js' | ||
| 16 | ] | ||
| 17 | }, | ||
| 18 | module: { | ||
| 19 | rules: [{ | ||
| 20 | test: /\.tsx?$/, | ||
| 21 | loader: 'babel-loader' | ||
| 22 | }, { | ||
| 23 | test: /\.less$/, | ||
| 24 | use: [ | ||
| 25 | 'style-loader', | ||
| 26 | { | ||
| 27 | loader: 'typings-for-css-modules-loader', | ||
| 28 | options: { | ||
| 29 | namedExport: true, | ||
| 30 | modules: true, | ||
| 31 | localIdentName: '${projectName}__[local]__[hash:base64:5]', | ||
| 32 | importLoaders: 2 | ||
| 33 | } | ||
| 34 | }, { | ||
| 35 | loader: 'postcss-loader' | ||
| 36 | }, { | ||
| 37 | loader: 'less-loader' | ||
| 38 | } | ||
| 39 | ] | ||
| 40 | }] | ||
| 41 | }, | ||
| 42 | plugins: [new HtmlWebpackPlugin({ | ||
| 43 | template: 'demo/index.html' | ||
| 44 | })], | ||
| 45 | devServer: { | ||
| 46 | host: ip.address(), | ||
| 47 | open: true, | ||
| 48 | port: 9527 | ||
| 49 | }, | ||
| 50 | devtool: 'source-map' | ||
| 51 | } |
index.js
0 → 100644
| 1 | module.exports = { | ||
| 2 | projectName: { | ||
| 3 | desc: '请输入工程名称', | ||
| 4 | default: 'my-awesome-project' | ||
| 5 | }, | ||
| 6 | description: { | ||
| 7 | desc: '请输入工程描述', | ||
| 8 | default: 'my awesome project' | ||
| 9 | }, | ||
| 10 | author: { | ||
| 11 | desc: '请输入开发者名称', | ||
| 12 | default: '公瑾' | ||
| 13 | }, | ||
| 14 | repo: { | ||
| 15 | desc: '请输入 git 仓库名', | ||
| 16 | default: 'ui/my-awesome-project' | ||
| 17 | } | ||
| 18 | } |
package.json
0 → 100644
| 1 | { | ||
| 2 | "name": "pkg-template", | ||
| 3 | "version": "0.1.0", | ||
| 4 | "description": "", | ||
| 5 | "main": "index.js", | ||
| 6 | "scripts": { | ||
| 7 | "test": "echo \"Error: no test specified\" && exit 1" | ||
| 8 | }, | ||
| 9 | "repository": { | ||
| 10 | "type": "git", | ||
| 11 | "url": "ssh://git@gitlab.zb100.com:10022/templates/pkg-template.git" | ||
| 12 | }, | ||
| 13 | "author": "公瑾", | ||
| 14 | "license": "MIT" | ||
| 15 | } |
-
Please register or sign in to post a comment