Add circle ci
This commit is contained in:
parent
4bdd38ec15
commit
3aee2ac8ab
19
.circleci/config.yml
Normal file
19
.circleci/config.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
version: 2.1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test_and_publish:
|
||||||
|
docker:
|
||||||
|
- image: node:12.16-alpine
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: npm ci
|
||||||
|
- run: npm run format-check
|
||||||
|
- run: npm run test
|
||||||
|
- run: npm run build
|
||||||
|
- run: npm run build:dev
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
version: 2
|
||||||
|
test_and_publish:
|
||||||
|
jobs:
|
||||||
|
- test_and_publish
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ built/
|
|||||||
coverage/
|
coverage/
|
||||||
node_modules/
|
node_modules/
|
||||||
var/
|
var/
|
||||||
|
.npmrc
|
||||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -2016,12 +2016,6 @@
|
|||||||
"type-detect": "^4.0.0"
|
"type-detect": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deepmerge": {
|
|
||||||
"version": "2.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
|
|
||||||
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"default-require-extensions": {
|
"default-require-extensions": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
|
||||||
|
@ -13,8 +13,10 @@
|
|||||||
"test": "mocha",
|
"test": "mocha",
|
||||||
"coverage": "nyc mocha",
|
"coverage": "nyc mocha",
|
||||||
"build:dev": "webpack",
|
"build:dev": "webpack",
|
||||||
"build": "WEBPACK_ENV=build webpack",
|
"build": "webpack --env.production",
|
||||||
"format": "prettier --tab-width=4 --single-quote --trailing-comma es5 --write '{src,tests}/**/*.{ts,js}'",
|
"format": "prettier --tab-width=4 --single-quote --trailing-comma es5 --write '{src,tests}/**/*.{ts,js}'",
|
||||||
|
"format-check": "prettier --tab-width=4 --single-quote --trailing-comma es5 --check '{src,tests}/**/*.{ts,js}'",
|
||||||
|
"format-wp": "prettier --tab-width=4 --single-quote --trailing-comma es5 --write 'webpack.config.js'",
|
||||||
"format-md": "prettier --write './*.md'"
|
"format-md": "prettier --write './*.md'"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -22,7 +24,6 @@
|
|||||||
"@types/mocha": "^7.0.2",
|
"@types/mocha": "^7.0.2",
|
||||||
"@types/node": "^13.9.2",
|
"@types/node": "^13.9.2",
|
||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
"deepmerge": "^2.2.1",
|
|
||||||
"mocha": "^7.1.1",
|
"mocha": "^7.1.1",
|
||||||
"nyc": "^15.0.0",
|
"nyc": "^15.0.0",
|
||||||
"prettier": "^1.19.1",
|
"prettier": "^1.19.1",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "./built",
|
"outDir": "./dist",
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"target": "es5",
|
"target": "es5",
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const merge = require('deepmerge');
|
|
||||||
|
|
||||||
const baseConfig = {
|
module.exports = (env = {}) => ({
|
||||||
|
mode: env.production ? 'production' : 'development',
|
||||||
|
entry: path.resolve(__dirname, 'src/index.ts'),
|
||||||
|
output: {
|
||||||
|
filename: env.production ? 'predictor.min.js' : 'predictor.js',
|
||||||
|
path: path.resolve(__dirname, 'dist'),
|
||||||
|
library: 'predictor',
|
||||||
|
libraryTarget: 'umd',
|
||||||
|
umdNamedDefine: true,
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.ts', '.js'],
|
||||||
|
},
|
||||||
module: {
|
module: {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
@ -10,41 +21,6 @@ const baseConfig = {
|
|||||||
loader: 'ts-loader',
|
loader: 'ts-loader',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
};
|
});
|
||||||
|
|
||||||
const buildConfig = {
|
|
||||||
mode: 'production',
|
|
||||||
entry: path.resolve(__dirname, 'src/index.ts'),
|
|
||||||
output: {
|
|
||||||
filename: 'predictor.min.js',
|
|
||||||
path: path.resolve(__dirname, 'built'),
|
|
||||||
library: 'predictor',
|
|
||||||
libraryTarget: 'umd',
|
|
||||||
umdNamedDefine: true
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
extensions: ['.ts', '.js']
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const devConfig = {
|
|
||||||
mode: 'development',
|
|
||||||
entry: path.resolve(__dirname, 'src/index.ts'),
|
|
||||||
output: {
|
|
||||||
filename: 'predictor.js',
|
|
||||||
path: path.resolve(__dirname, 'built'),
|
|
||||||
library: 'predictor',
|
|
||||||
libraryTarget: 'umd',
|
|
||||||
umdNamedDefine: true
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
extensions: ['.ts', '.js']
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = merge(
|
|
||||||
baseConfig,
|
|
||||||
process.env.WEBPACK_ENV === 'build' ? buildConfig : devConfig
|
|
||||||
);
|
|
||||||
|
Loading…
Reference in New Issue
Block a user