-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: move to @npmcli/template-oss (#12)
BREAKING CHANGE: this will drop support for node10 and move our engines and CI to match npm@8
- Loading branch information
Showing
16 changed files
with
1,202 additions
and
3,664 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
const { readdirSync: readdir } = require('fs') | ||
|
||
const localConfigs = readdir(__dirname) | ||
.filter((file) => file.startsWith('.eslintrc.local.')) | ||
.map((file) => `./${file}`) | ||
|
||
module.exports = { | ||
extends: [ | ||
'@npmcli', | ||
...localConfigs, | ||
], | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: Bug | ||
description: File a bug/issue | ||
title: "[BUG] <title>" | ||
labels: [Bug, Needs Triage] | ||
body: | ||
- type: checkboxes | ||
attributes: | ||
label: Is there an existing issue for this? | ||
description: Please [search here](./issues) to see if an issue already exists for your problem. | ||
options: | ||
- label: I have searched the existing issues | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Current Behavior | ||
description: A clear & concise description of what you're experiencing. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Expected Behavior | ||
description: A clear & concise description of what you expected to happen. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Steps To Reproduce | ||
description: Steps to reproduce the behavior. | ||
value: | | ||
1. In this environment... | ||
2. With this config... | ||
3. Run '...' | ||
4. See error... | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Environment | ||
description: | | ||
examples: | ||
- **npm**: 7.6.3 | ||
- **Node**: 13.14.0 | ||
- **OS**: Ubuntu 20.04 | ||
- **platform**: Macbook Pro | ||
value: | | ||
- npm: | ||
- Node: | ||
- OS: | ||
- platform: | ||
validations: | ||
required: false | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
blank_issues_enabled: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,95 +1,54 @@ | ||
--- | ||
################################################################################ | ||
# Template - Node CI | ||
# | ||
# Description: | ||
# This contains the basic information to: install dependencies, run tests, | ||
# get coverage, and run linting on a nodejs project. This template will run | ||
# over the MxN matrix of all operating systems, and all current LTS versions | ||
# of NodeJS. | ||
# | ||
# Dependencies: | ||
# This template assumes that your project is using the `tap` module for | ||
# testing. If you're not using this module, then the step that runs your | ||
# coverage will need to be adjusted. | ||
# | ||
################################################################################ | ||
name: node-ci | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
on: [push, pull_request] | ||
name: CI | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
- latest | ||
|
||
jobs: | ||
build: | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: '16' | ||
cache: npm | ||
- run: npm i --prefer-online -g npm@latest | ||
- run: npm ci | ||
- run: npm run lint | ||
|
||
test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node-version: [10.x, 12.x, 14.x] | ||
os: [ubuntu-latest, windows-latest, macOS-latest] | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
node-version: [12.13.0, 12.x, 14.15.0, 14.x, 16.x] | ||
platform: | ||
- os: ubuntu-latest | ||
shell: bash | ||
- os: macos-latest | ||
shell: bash | ||
- os: windows-latest | ||
shell: bash | ||
- os: windows-latest | ||
shell: cmd | ||
- os: windows-latest | ||
shell: powershell | ||
runs-on: ${{ matrix.platform.os }} | ||
defaults: | ||
run: | ||
shell: ${{ matrix.platform.shell }} | ||
steps: | ||
# Checkout the repository | ||
- uses: actions/checkout@v2 | ||
# Installs the specific version of Node.js | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v1 | ||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
|
||
################################################################################ | ||
# Install Dependencies | ||
# | ||
# ASSUMPTIONS: | ||
# - The project has a package-lock.json file | ||
# | ||
# Simply run the tests for the project. | ||
################################################################################ | ||
- name: Install dependencies | ||
run: npm ci | ||
|
||
################################################################################ | ||
# Run Testing | ||
# | ||
# ASSUMPTIONS: | ||
# - The project has `tap` as a devDependency | ||
# - There is a script called "test" in the package.json | ||
# | ||
# Simply run the tests for the project. | ||
################################################################################ | ||
- name: Run tests | ||
run: npm test -- --no-coverage | ||
|
||
################################################################################ | ||
# Run coverage check | ||
# | ||
# ASSUMPTIONS: | ||
# - The project has `tap` as a devDependency | ||
# - There is a script called "coverage" in the package.json | ||
# | ||
# Coverage should only be posted once, we are choosing the latest LTS of | ||
# node, and ubuntu as the matrix point to post coverage from. We limit | ||
# to the 'push' event so that coverage ins't posted twice from the | ||
# pull-request event, and push event (line 3). | ||
################################################################################ | ||
- name: Run coverage report | ||
if: github.event_name == 'push' && matrix.node-version == '12.x' && matrix.os == 'ubuntu-latest' | ||
run: npm test | ||
env: | ||
# The environment variable name is leveraged by `tap` | ||
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | ||
|
||
################################################################################ | ||
# Run linting | ||
# | ||
# ASSUMPTIONS: | ||
# - There is a script called "lint" in the package.json | ||
# | ||
# We run linting AFTER we run testing and coverage checks, because if a step | ||
# fails in an GitHub Action, all other steps are not run. We don't want to | ||
# fail to run tests or coverage because of linting. It should be the lowest | ||
# priority of all the steps. | ||
################################################################################ | ||
- name: Run linter | ||
run: npm run lint | ||
|
||
cache: npm | ||
- run: npm i --prefer-online -g npm@latest | ||
- run: npm ci | ||
- run: npm test --ignore-scripts | ||
- run: npm ls -a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,101 +1,18 @@ | ||
# Logs | ||
logs | ||
*.log | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
lerna-debug.log* | ||
|
||
# Diagnostic reports (https://nodejs.org/api/report.html) | ||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
|
||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
*.pid.lock | ||
|
||
# Directory for instrumented libs generated by jscoverage/JSCover | ||
lib-cov | ||
|
||
# Coverage directory used by tools like istanbul | ||
coverage | ||
*.lcov | ||
|
||
# nyc test coverage | ||
.nyc_output | ||
|
||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
.grunt | ||
|
||
# Bower dependency directory (https://bower.io/) | ||
bower_components | ||
|
||
# node-waf configuration | ||
.lock-wscript | ||
|
||
# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
build/Release | ||
|
||
# Dependency directories | ||
node_modules/ | ||
jspm_packages/ | ||
|
||
# TypeScript v1 declaration files | ||
typings/ | ||
|
||
# TypeScript cache | ||
*.tsbuildinfo | ||
|
||
# Optional npm cache directory | ||
.npm | ||
|
||
# Optional eslint cache | ||
.eslintcache | ||
|
||
# Microbundle cache | ||
.rpt2_cache/ | ||
.rts2_cache_cjs/ | ||
.rts2_cache_es/ | ||
.rts2_cache_umd/ | ||
|
||
# Optional REPL history | ||
.node_repl_history | ||
|
||
# Output of 'npm pack' | ||
*.tgz | ||
|
||
# Yarn Integrity file | ||
.yarn-integrity | ||
|
||
# dotenv environment variables file | ||
.env | ||
.env.test | ||
|
||
# parcel-bundler cache (https://parceljs.org/) | ||
.cache | ||
|
||
# next.js build output | ||
.next | ||
|
||
# nuxt.js build output | ||
.nuxt | ||
|
||
# gatsby files | ||
.cache/ | ||
public | ||
|
||
# vuepress build output | ||
.vuepress/dist | ||
|
||
# Serverless directories | ||
.serverless/ | ||
|
||
# FuseBox cache | ||
.fusebox/ | ||
|
||
# DynamoDB Local files | ||
.dynamodb/ | ||
|
||
# Editors | ||
Session.vim | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
# ignore everything in the root | ||
/* | ||
|
||
# keep these | ||
!/.eslintrc* | ||
!/.github | ||
!**/.gitignore | ||
!/package.json | ||
!/package-lock.json | ||
!/bin | ||
!/lib | ||
!/map.js | ||
!/tap-snapshots | ||
!/test | ||
!/README* | ||
!/LICENSE* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<!-- This file is automatically added by @npmcli/template-oss. Do not edit. --> | ||
|
||
ISC License | ||
|
||
Copyright npm, Inc. | ||
|
||
Permission to use, copy, modify, and/or distribute this | ||
software for any purpose with or without fee is hereby | ||
granted, provided that the above copyright notice and this | ||
permission notice appear in all copies. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND NPM DISCLAIMS ALL | ||
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO | ||
EVENT SHALL NPM BE LIABLE FOR ANY SPECIAL, DIRECT, | ||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, | ||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | ||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE | ||
USE OR PERFORMANCE OF THIS SOFTWARE. |
Oops, something went wrong.