Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Next #760

Closed
wants to merge 22 commits into from
Closed

Next #760

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
35 changes: 35 additions & 0 deletions .babelrc
@@ -0,0 +1,35 @@
{
"presets": [
[
"env",
{
"useBuiltIns": true,
"targets": {
"node": "6.9.0"
},
"exclude": [
"transform-async-to-generator",
"transform-regenerator"
]
}
]
],
"plugins": [
[
"transform-object-rest-spread",
{
"useBuiltIns": true
}
]
],
"env": {
"test": {
"presets": [
"env"
],
"plugins": [
"transform-object-rest-spread"
]
}
}
}
145 changes: 145 additions & 0 deletions .circleci/config.yml
@@ -0,0 +1,145 @@
unit_tests: &unit_tests
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
# npm@3 is buggy
command: if [[ $(npm -v | cut -c -1) > 3 ]] ; then npm i -g npm@latest; else echo "Skip npm updating"; fi
- run:
name: NPM Install.
command: npm ci || npm i
- run:
name: Run Test.
command: npm run ci:test
canary_tests: &canary_tests
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Install Webpack Canary.
command: npm i --no-save webpack@next
- run:
name: Run Test.
command: if [[ $(compver --name webpack --gte next --lt latest) < 1 ]] ; then printf "Next is older than Latest - Skipping Canary Suite"; else npm run ci:test; fi

version: 2
jobs:
dependency_cache:
docker:
- image: webpackcontrib/circleci-node-base:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- save_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
node6-latest:
docker:
- image: webpackcontrib/circleci-node6:latest
<<: *unit_tests
node8-latest:
docker:
- image: webpackcontrib/circleci-node8:latest
<<: *unit_tests
node10-latest:
docker:
- image: webpackcontrib/circleci-node10:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Run Test.
command: npm run ci:coverage
- run:
name: Submit coverage data to codecov.
command: bash <(curl -s https://codecov.io/bash)
when: on_success
node10-canary:
docker:
- image: webpackcontrib/circleci-node10:latest
<<: *canary_tests
analysis:
docker:
- image: webpackcontrib/circleci-node-base:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "package-lock.json" }}
- run:
name: Install Latest NPM.
command: npm i -g npm@latest
- run:
name: NPM Install.
command: npm ci
- run:
name: Run linting.
command: npm run lint
- run:
name: Run NPM Audit.
command: npm run security
- run:
name: Validate Commit Messages.
command: npm run ci:lint:commits

workflows:
version: 2
test:
jobs:
- dependency_cache
- analysis:
requires:
- dependency_cache
filters:
tags:
only: /.*/
- node6-latest:
requires:
- dependency_cache
filters:
tags:
only: /.*/
- node8-latest:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/
- node10-latest:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/
- node10-canary:
requires:
- analysis
- node6-latest
filters:
tags:
only: /.*/
13 changes: 13 additions & 0 deletions .editorconfig
@@ -0,0 +1,13 @@
# editorconfig.org

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
insert_final_newline = true
trim_trailing_whitespace = false
2 changes: 2 additions & 0 deletions .eslintignore
@@ -0,0 +1,2 @@
/node_modules
/dist
11 changes: 11 additions & 0 deletions .eslintrc.js
@@ -0,0 +1,11 @@
module.exports = {
root: true,
plugins: ['prettier'],
extends: ['@webpack-contrib/eslint-config-webpack'],
rules: {
'prettier/prettier': [
'error',
{ singleQuote: true, trailingComma: 'es5', arrowParens: 'always' },
],
},
};