Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
simlu committed Jan 23, 2021
0 parents commit fae0d3e
Show file tree
Hide file tree
Showing 22 changed files with 10,026 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"presets": [["latest-node", {"target": "10"}]],
"plugins": [],
"sourceMaps": false
}
190 changes: 190 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
workflows:
version: 2
node-multi-build:
jobs:
- gally-create-pr
- test-node-v14:
requires:
- gally-create-pr
- test-node-v12:
requires:
- gally-create-pr
- test-node-v10:
requires:
- gally-create-pr
- gally-auto-approve:
requires:
- gally-create-pr
- test-node-v14
- test-node-v12
- test-node-v10
filters:
branches:
only: /dependabot\/.*/
- release:
requires:
- gally-create-pr
- test-node-v14
- test-node-v12
- test-node-v10
filters:
branches:
only: master
version: 2
jobs:
gally-create-pr:
docker:
- image: 'circleci/node:12'
steps:
- checkout
- run: sudo yarn global add gally
- run: ga promote $CIRCLE_BRANCH
test-node-v14:
docker:
- image: 'circleci/node:14'
steps:
- checkout
- run:
command: |
# sync submodules as checkout doesn't do this automatically
if [[ $(git config --file .gitmodules --get-regexp path) ]]; then
git submodule sync && git submodule update --init
fi
- run:
command: |
if [[ -n "${NPM_TOKEN}" ]]; then
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
fi
- restore_cache:
name: Restore Yarn Package Cache
keys:
- 'yarn-packages-{{ checksum "yarn.lock" }}'
- run:
name: Install Dependencies
command: yarn install --frozen-lockfile
- save_cache:
name: Save Yarn Package Cache
key: 'yarn-packages-{{ checksum "yarn.lock" }}'
paths:
- ~/.cache/yarn
- run: yarn test
- run: >-
(git add . && git diff-index --quiet HEAD --) || (git status && exit
1);
test-node-v12:
docker:
- image: 'circleci/node:12'
steps:
- checkout
- run:
command: |
# sync submodules as checkout doesn't do this automatically
if [[ $(git config --file .gitmodules --get-regexp path) ]]; then
git submodule sync && git submodule update --init
fi
- run:
command: |
if [[ -n "${NPM_TOKEN}" ]]; then
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
fi
- restore_cache:
name: Restore Yarn Package Cache
keys:
- 'yarn-packages-{{ checksum "yarn.lock" }}'
- run:
name: Install Dependencies
command: yarn install --frozen-lockfile
- save_cache:
name: Save Yarn Package Cache
key: 'yarn-packages-{{ checksum "yarn.lock" }}'
paths:
- ~/.cache/yarn
- run: yarn test
- run: >-
(git add . && git diff-index --quiet HEAD --) || (git status && exit
1);
- run:
command: |
if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
yarn run coveralls
fi
test-node-v10:
docker:
- image: 'circleci/node:10'
steps:
- checkout
- run:
command: |
# sync submodules as checkout doesn't do this automatically
if [[ $(git config --file .gitmodules --get-regexp path) ]]; then
git submodule sync && git submodule update --init
fi
- run:
command: |
if [[ -n "${NPM_TOKEN}" ]]; then
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
fi
- restore_cache:
name: Restore Yarn Package Cache
keys:
- 'yarn-packages-{{ checksum "yarn.lock" }}'
- run:
name: Install Dependencies
command: yarn install --frozen-lockfile
- save_cache:
name: Save Yarn Package Cache
key: 'yarn-packages-{{ checksum "yarn.lock" }}'
paths:
- ~/.cache/yarn
- run: yarn test
- run: >-
(git add . && git diff-index --quiet HEAD --) || (git status && exit
1);
gally-auto-approve:
docker:
- image: 'circleci/node:12'
steps:
- run:
name: Set PR number
command: >
echo 'export
CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"'
>> $BASH_ENV
source $BASH_ENV
echo $CIRCLE_PR_NUMBER
- checkout
- run: sudo yarn global add gally
- run: >-
ga approve $CIRCLE_PR_NUMBER --condition
"base.ref=dev&state=open&user.login=dependabot-preview[bot]"
release:
docker:
- image: 'circleci/node:12'
steps:
- checkout
- run:
command: |
# sync submodules as checkout doesn't do this automatically
if [[ $(git config --file .gitmodules --get-regexp path) ]]; then
git submodule sync && git submodule update --init
fi
- run:
command: |
if [[ -n "${NPM_TOKEN}" ]]; then
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
fi
- restore_cache:
name: Restore Yarn Package Cache
keys:
- 'yarn-packages-{{ checksum "yarn.lock" }}'
- run:
name: Install Dependencies
command: yarn install --frozen-lockfile
- save_cache:
name: Save Yarn Package Cache
key: 'yarn-packages-{{ checksum "yarn.lock" }}'
paths:
- ~/.cache/yarn
- run: yarn run semantic-release
18 changes: 18 additions & 0 deletions .dependabot/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 1
update_configs:
- package_manager: javascript
directory: /
update_schedule: live
commit_message:
prefix: fix
prefix_development: chore
include_scope: true
target_branch: dev
automerged_updates:
- match:
dependency_type: development
update_type: all
- match:
dependency_type: production
update_type: all
version_requirement_updates: increase_versions
2 changes: 2 additions & 0 deletions .depunusedignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@blackflux/robo-config-plugin
@babel/core
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
42 changes: 42 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"root": true,
"extends": ["airbnb-base", "plugin:mocha/recommended"],
"rules": {
"mocha/no-mocha-arrows": 0,
"mocha/no-hooks-for-single-case": 0,
"@blackflux/rules/istanbul-prevent-ignore": 1,
"@blackflux/rules/kebab-case-enforce": 1,
"@blackflux/rules/prevent-typeof-object": 1,
"import/no-useless-path-segments": [2, {"commonjs": true}],
"max-len": ["error", {"code": 120}],
"mocha/no-exclusive-tests": "error",
"prefer-destructuring": ["error", {"object": false, "array": false}],
"comma-dangle": ["error", "never"],
"indent": ["error", 2, {"SwitchCase": 1}],
"quotes": [2, "single", {"avoidEscape": true}],
"linebreak-style": [2, "unix"],
"semi": [2, "always"],
"no-unused-vars": [
1,
{"vars": "all", "args": "none", "ignoreRestSiblings": true}
],
"no-var": [1],
"no-fallthrough": [1],
"spaced-comment": [
"error",
"always",
{
"line": {"exceptions": ["-", "+"], "markers": ["=", "!"]},
"block": {
"exceptions": ["-", "+"],
"markers": ["=", "!", ":", "::"],
"balanced": true
}
}
]
},
"env": {"es6": true, "node": true, "mocha": true},
"globals": {},
"plugins": ["json", "mocha", "markdown", "@blackflux/rules"],
"parser": "babel-eslint"
}
41 changes: 41 additions & 0 deletions .gally.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"defaultBranch": "master",
"contribBranch": "dev",
"repository": {"url": "https://github.com/blackflux/object-lib.git"},
"branches": {
"dev": {"upstream": "master", "protection": "$full-dev", "create": true},
"master": {"protection": "$full-master", "create": true},
"fix/*": {"upstream": "dev"},
"feat/*": {"upstream": "dev"},
"dependabot/*": {"upstream": "dev"}
},
"protection": {
"$full-dev": {
"@": "$full",
"restrictions": {
"users": ["simlu", "MrsFlux"],
"apps": ["dependabot-preview"]
}
},
"$full-master": {"@": "$full", "required_status_checks": {"strict": false}},
"$full": {
"required_status_checks": {
"strict": true,
"contexts": [
"ci/circleci: gally-create-pr",
"ci/circleci: test-node-v14",
"ci/circleci: test-node-v12",
"ci/circleci: test-node-v10"
]
},
"enforce_admins": true,
"required_pull_request_reviews": {
"dismissal_restrictions": {"users": ["simlu"], "teams": []},
"dismiss_stale_reviews": true,
"require_code_owner_reviews": true,
"required_approving_review_count": 1
},
"restrictions": {"users": ["simlu"], "teams": [], "apps": []}
}
}
}
Loading

0 comments on commit fae0d3e

Please sign in to comment.