Compare commits

...

10 Commits

Author SHA1 Message Date
semantic-release-bot
e603eafc8d chore(release): 2.2.2 [skip ci]
## [2.2.2](https://github.com/vchikalkin/eslint-config-awesome/compare/v2.2.1...v2.2.2) (2025-02-27)

### Bug Fixes

* upgrade dependencies ([4318f71](4318f71ae0))
2025-02-27 10:19:31 +00:00
vchikalkin
4318f71ae0 fix: upgrade dependencies 2025-02-27 13:19:04 +03:00
semantic-release-bot
a94353118c chore(release): 2.2.1 [skip ci]
## [2.2.1](https://github.com/vchikalkin/eslint-config-awesome/compare/v2.2.0...v2.2.1) (2025-01-11)

### Bug Fixes

* use @semantic-release/git to update package.json version ([c4bd920](c4bd920b1e))
2025-01-11 10:14:16 +00:00
vchikalkin
c4bd920b1e fix: use @semantic-release/git to update package.json version 2025-01-11 13:13:50 +03:00
vchikalkin
b2c3b631c1 feat: add node typescript config 2025-01-11 13:02:40 +03:00
vchikalkin
017166ab66 feat: add typescript config 2025-01-11 12:56:35 +03:00
vchikalkin
b904f71fac chore: upgrade packages 2025-01-11 12:50:32 +03:00
vchikalkin
02db3e05bc fix(workflow): [semantic-release]: node version >=20.8.1 is required. Found v18.20.5. 2025-01-11 12:32:49 +03:00
vchikalkin
f9ae133511 fix: missing lockfile for npm(using pnpm now) 2025-01-11 12:29:51 +03:00
vchikalkin
1b36fc17e8 feat: add github workflow & semantic-release 2025-01-11 12:25:58 +03:00
8 changed files with 3189 additions and 2005 deletions

29
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,29 @@
name: Release
on:
push:
branches:
- main
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
- name: Install pnpm
run: npm install -g pnpm
- name: Install dependencies
run: pnpm install
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: pnpm release

19
.releaserc Normal file
View File

@ -0,0 +1,19 @@
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/npm",
{
"npmPublish": true,
"tarballDir": "dist"
}
],
"@semantic-release/github",
{
"path": "@semantic-release/git",
"assets": ["package.json"]
}
]
}

29
configs/node.js Normal file
View File

@ -0,0 +1,29 @@
const auto = require('eslint-config-canonical/configurations/auto');
const node = require('eslint-config-canonical/configurations/node');
const sonarjs = require('eslint-plugin-sonarjs');
const rules = require('../rules');
/** @type {import('eslint').Linter.Config} */
module.exports = [
{ name: 'ESLint Config Awesome - Node Typescript' },
...auto,
node.recommended,
sonarjs.configs.recommended,
{
plugins: {
import: require('eslint-plugin-import'),
},
},
rules.common,
rules.sonar,
{
ignores: [
'**/node_modules',
'**/package-lock.json',
'**/pnpm-lock.yaml',
'**/package.json',
'**/tsconfig.json',
'**/eslint.config.js',
],
},
];

View File

@ -5,7 +5,7 @@ const pluginNext = require('@next/eslint-plugin-next');
/** @type {import('eslint').Linter.Config} */
module.exports = [
{ name: 'ESLint config awesome' },
{ name: 'ESLint Config Awesome - React/Next Typescript' },
...auto,
sonarjs.configs.recommended,
{

27
configs/typescript.js Normal file
View File

@ -0,0 +1,27 @@
const auto = require('eslint-config-canonical/configurations/auto');
const sonarjs = require('eslint-plugin-sonarjs');
const rules = require('../rules');
/** @type {import('eslint').Linter.Config} */
module.exports = [
{ name: 'ESLint Config Awesome - Typescript' },
...auto,
sonarjs.configs.recommended,
{
plugins: {
import: require('eslint-plugin-import'),
},
},
rules.common,
rules.sonar,
{
ignores: [
'**/node_modules',
'**/package-lock.json',
'**/pnpm-lock.yaml',
'**/package.json',
'**/tsconfig.json',
'**/eslint.config.js',
],
},
];

View File

@ -1,3 +1,5 @@
const reactTypescript = require('./configs/react-typescript');
const typescript = require('./configs/typescript');
const node = require('./configs/node');
module.exports = { 'react-typescript': reactTypescript };
module.exports = { 'react-typescript': reactTypescript, typescript, node };

View File

@ -1,18 +1,26 @@
{
"name": "@vchikalkin/eslint-config-awesome",
"version": "2.0.6",
"version": "2.2.2",
"license": "MIT",
"main": "index.js",
"dependencies": {
"eslint-config-canonical": "^44.3.33",
"eslint-plugin-sonarjs": "^3.0.1"
"eslint-config-canonical": "^44.3.43",
"eslint-plugin-sonarjs": "^3.0.2"
},
"devDependencies": {
"@next/eslint-plugin-next": "^15.0.4",
"eslint": "^9.15.0",
"eslint-plugin-canonical": "^5.0.0",
"@next/eslint-plugin-next": "^15.2.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.1",
"@semantic-release/npm": "^12.0.1",
"eslint": "^9.17.0",
"eslint-plugin-canonical": "^5.1.3",
"semantic-release": "^24.2.1",
"typescript": "^5"
},
"scripts": {
"release": "semantic-release"
},
"publishConfig": {
"access": "public"
},
@ -31,8 +39,8 @@
"zod"
],
"peerDependencies": {
"@next/eslint-plugin-next": "^15.0.3",
"eslint-plugin-canonical": "^5.0.0"
"@next/eslint-plugin-next": "^15.2.0",
"eslint-plugin-canonical": "^5.1.3"
},
"packageManager": "pnpm@9.14.2+sha512.6e2baf77d06b9362294152c851c4f278ede37ab1eba3a55fda317a4a17b209f4dbb973fb250a77abc463a341fcb1f17f17cfa24091c4eb319cda0d9b84278387"
}

5060
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff