Skip to content

Commit

Permalink
Merge pull request #11 from namecheap/feature/publish-package
Browse files Browse the repository at this point in the history
ci: release package, git commit hooks, update devDependencies
  • Loading branch information
stas-nc authored Oct 23, 2024
2 parents 8fa0585 + 31f5875 commit d6f5cd6
Show file tree
Hide file tree
Showing 13 changed files with 10,661 additions and 4,667 deletions.
17 changes: 0 additions & 17 deletions .babelrc

This file was deleted.

9 changes: 0 additions & 9 deletions .eslintrc.js

This file was deleted.

31 changes: 28 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,44 @@ jobs:
node-version: [16.x, 18.x, 20.x]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- if: github.event_name == 'pull_request'
name: Lint commit messages
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
- run: npm run check-format
- run: npm run lint
- if: matrix.node-version != '16.x' # eslint v9 requires node >= 18
run: npm run lint
- run: npm run build
- run: npm test
- if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v3
with:
name: Code coverage
path: coverage/

publish:
name: 'Publish'
needs: build
runs-on: ubuntu-latest
environment: npm_publish
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- run: npm ci
- name: Publish new version
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release
1 change: 1 addition & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx --no -- commitlint --edit $1
2 changes: 2 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npx lint-staged
npm test
6 changes: 6 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* @type {import('@commitlint/types').UserConfig}
*/
module.exports = {
extends: ['@commitlint/config-conventional'],
};
34 changes: 34 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { FlatCompat } from '@eslint/eslintrc';
import js from '@eslint/js';
import typescriptEslint from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser';
import jest from 'eslint-plugin-jest';
import globals from 'globals';
import path from 'node:path';
import { fileURLToPath } from 'node:url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});

export default [
...compat.extends('eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:jest/recommended'),
{
plugins: {
'@typescript-eslint': typescriptEslint,
jest,
},

languageOptions: {
globals: {
...globals.browser,
},

parser: tsParser,
},
},
];
7 changes: 7 additions & 0 deletions lint-staged.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* @type {import('lint-staged').Config}
*/
module.exports = {
'*': 'prettier --ignore-unknown --write',
'*.{ts, tsx}': 'npm run lint -- --fix',
};
Loading

0 comments on commit d6f5cd6

Please sign in to comment.