-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BREAKING CHANGE: This drops support for node 6 through 10 and non-LTS versions of node12 and node14
- Loading branch information
Showing
19 changed files
with
3,171 additions
and
128 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,10 @@ | ||
/* This file is automatically added by @npmcli/template-oss. Do not edit. */ | ||
|
||
module.exports = { | ||
extends: ['@commitlint/config-conventional'], | ||
rules: { | ||
'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'deps', 'chore']], | ||
'header-max-length': [2, 'always', 80], | ||
'subject-case': [0, 'always', ['lower-case', 'sentence-case', 'start-case']], | ||
}, | ||
} |
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,17 @@ | ||
/* This file is automatically added by @npmcli/template-oss. Do not edit. */ | ||
|
||
'use strict' | ||
|
||
const { readdirSync: readdir } = require('fs') | ||
|
||
const localConfigs = readdir(__dirname) | ||
.filter((file) => file.startsWith('.eslintrc.local.')) | ||
.map((file) => `./${file}`) | ||
|
||
module.exports = { | ||
root: true, | ||
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,3 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
* @npm/cli-team |
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 |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
version: 2 | ||
|
||
updates: | ||
- package-ecosystem: npm | ||
directory: "/" | ||
schedule: | ||
interval: daily | ||
allow: | ||
- dependency-type: direct | ||
versioning-strategy: increase-if-necessary | ||
commit-message: | ||
prefix: deps | ||
prefix-development: chore | ||
labels: | ||
- "Dependencies" |
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,27 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: Audit | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
# "At 01:00 on Monday" https://crontab.guru/#0_1_*_*_1 | ||
- cron: "0 1 * * 1" | ||
|
||
jobs: | ||
audit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- run: npm i --ignore-scripts --no-audit --no-fund --package-lock | ||
- run: npm audit |
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,80 +1,84 @@ | ||
--- | ||
################################################################################ | ||
# 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: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: | ||
- '*' | ||
push: | ||
branches: | ||
- main | ||
- latest | ||
schedule: | ||
# "At 02:00 on Monday" https://crontab.guru/#0_2_*_*_1 | ||
- cron: "0 2 * * 1" | ||
|
||
jobs: | ||
build: | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- run: npm i --ignore-scripts --no-audit --no-fund | ||
- run: npm run lint | ||
|
||
test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node-version: [10.x, 12.x, 13.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.0.0 | ||
- 16.x | ||
platform: | ||
- os: ubuntu-latest | ||
shell: bash | ||
- os: macos-latest | ||
shell: bash | ||
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/checkout@v3 | ||
- name: Setup git user | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
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 }} | ||
- name: Update to workable npm (windows) | ||
# node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows | ||
if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) | ||
run: | | ||
curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz | ||
tar xf npm-7.5.4.tgz | ||
cd package | ||
node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz | ||
cd .. | ||
rmdir /s /q package | ||
- name: Update npm to 7 | ||
# If we do test on npm 10 it needs npm7 | ||
if: startsWith(matrix.node-version, '10.') | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@7 | ||
- name: Update npm to latest | ||
if: ${{ !startsWith(matrix.node-version, '10.') }} | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- run: npm i --ignore-scripts --no-audit --no-fund | ||
- run: npm test --ignore-scripts |
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,44 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: "CodeQL" | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- latest | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: | ||
- main | ||
- latest | ||
schedule: | ||
# "At 03:00 on Monday" https://crontab.guru/#0_3_*_*_1 | ||
- cron: "0 3 * * 1" | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze | ||
runs-on: ubuntu-latest | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [ javascript ] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v1 | ||
with: | ||
languages: ${{ matrix.language }} | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v1 |
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,43 @@ | ||
# This file is automatically added by @npmcli/template-oss. Do not edit. | ||
|
||
name: Post Dependabot Actions | ||
|
||
on: pull_request | ||
|
||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions | ||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
template-oss-apply: | ||
runs-on: ubuntu-latest | ||
if: github.actor == 'dependabot[bot]' | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup git user | ||
run: | | ||
git config --global user.email "npm-cli+bot@github.com" | ||
git config --global user.name "npm CLI robot" | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Update npm to latest | ||
run: npm i --prefer-online --no-fund --no-audit -g npm@latest | ||
- run: npm -v | ||
- name: Dependabot metadata | ||
id: metadata | ||
uses: dependabot/fetch-metadata@v1.1.1 | ||
with: | ||
github-token: "${{ secrets.GITHUB_TOKEN }}" | ||
- name: npm install and commit | ||
if: contains(steps.metadata.outputs.dependency-names, '@npmcli/template-oss') | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
gh pr checkout ${{ github.event.pull_request.number }} | ||
npm install --ignore-scripts --no-audit --no-fund | ||
npm run template-oss-apply | ||
git add . | ||
git commit -am "chore: postinstall for dependabot template-oss PR" | ||
git push | ||
npm run lint |
Oops, something went wrong.