@ivuorinen/base-configs 1.1.105 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +1 -0
- package/.coderabbit.yaml +13 -0
- package/.commitlintrc.json +3 -0
- package/.editorconfig +17 -0
- package/.github/CODEOWNERS +1 -0
- package/.github/SECURITY.md +9 -0
- package/.github/labels.yml +88 -0
- package/.github/renovate.json +4 -0
- package/.github/workflows/codeql.yml +38 -0
- package/.github/workflows/pr-lint.yml +58 -0
- package/.github/workflows/pr.yml +54 -0
- package/.github/workflows/publish.yml +91 -0
- package/.github/workflows/stale.yml +30 -0
- package/.github/workflows/sync-labels.yml +43 -0
- package/.markdownlint.json +13 -0
- package/.markdownlintignore +1 -0
- package/.mega-linter.yml +10 -0
- package/.nvmrc +1 -0
- package/.prettierignore +2 -0
- package/.prettierrc.json +1 -0
- package/.releaserc.json +4 -0
- package/.simple-git-hooks.json +3 -0
- package/.stylelintrc.json +3 -0
- package/.yamlignore +1 -0
- package/.yarnclean +45 -0
- package/.yarnrc.yml +16 -0
- package/CHANGELOG.md +11 -426
- package/CLAUDE.md +121 -0
- package/README.md +81 -7
- package/docs/audit/nitpicker-findings.md +48 -0
- package/eslint.config.mjs +12 -0
- package/package.json +52 -18
package/README.md
CHANGED
|
@@ -4,11 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
This is a meta package for all my base configs.
|
|
6
6
|
|
|
7
|
-
You can find all the individual configs in the `packages` folder.
|
|
8
|
-
|
|
9
7
|
The main reason for this package is to make it easier to use these configs in other projects, and to update them all at once. No more pull requests to update all the configs one at a time!
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
> A collection of base configs for code quality and linting tools. Heavily based on `@demartini/base-configs`
|
|
10
|
+
|
|
11
|
+
## Table of Contents <!-- omit in toc -->
|
|
12
|
+
|
|
13
|
+
- [Usage](#usage)
|
|
14
|
+
- [Available Configurations](#available-configurations)
|
|
15
|
+
- [Badge](#badge)
|
|
16
|
+
- [Contributing](#contributing)
|
|
17
|
+
- [Changelog](#changelog)
|
|
18
|
+
- [License](#license)
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
12
21
|
|
|
13
22
|
```bash
|
|
14
23
|
# npm
|
|
@@ -18,18 +27,83 @@ npm install @ivuorinen/base-configs --save-dev
|
|
|
18
27
|
yarn add @ivuorinen/base-configs --dev
|
|
19
28
|
```
|
|
20
29
|
|
|
30
|
+
## Available Configurations
|
|
31
|
+
|
|
32
|
+
| Tool | Package | GitHub | Version |
|
|
33
|
+
| ----------------------------------------- | ----------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
34
|
+
| [Browserslist][browserslist-link] | [@ivuorinen/browserslist-config][pkg-browserslist] | [GitHub][gh-browserslist] | [![@ivuorinen/browserslist-config][browserslist-badge]][browserslist-npm] |
|
|
35
|
+
| [CommitLint][commitlint-link] | [@ivuorinen/commitlint-config][pkg-commitlint] | [GitHub][gh-commitlint] | [![@ivuorinen/commitlint-config][commitlint-badge]][commitlint-npm] |
|
|
36
|
+
| [ESLint][eslint-link] | [@ivuorinen/eslint-config][pkg-eslint] | [GitHub][gh-eslint] | [![@ivuorinen/eslint-config][eslint-badge]][eslint-npm] |
|
|
37
|
+
| [MarkdownLint][markdownlint-link] | [@ivuorinen/markdownlint-config][pkg-markdownlint] | [GitHub][gh-markdownlint] | [![@ivuorinen/markdownlint-config][markdownlint-badge]][markdownlint-npm] |
|
|
38
|
+
| [Prettier][prettier-link] | [@ivuorinen/prettier-config][pkg-prettier] | [GitHub][gh-prettier] | [![@ivuorinen/prettier-config][prettier-badge]][prettier-npm] |
|
|
39
|
+
| [semantic-release][semantic-release-link] | [@ivuorinen/semantic-release-config][pkg-src] | [GitHub][gh-semantic-release] | [![@ivuorinen/semantic-release-config][semantic-release-badge]][semantic-release-npm] |
|
|
40
|
+
| [stylelint][stylelint-link] | [@ivuorinen/stylelint-config][pkg-stylelint] | [GitHub][gh-stylelint] | [![@ivuorinen/stylelint-config][stylelint-badge]][stylelint-npm] |
|
|
41
|
+
|
|
42
|
+
[pkg-browserslist]: https://www.npmjs.com/package/@ivuorinen/browserslist-config
|
|
43
|
+
[pkg-commitlint]: https://www.npmjs.com/package/@ivuorinen/commitlint-config
|
|
44
|
+
[pkg-eslint]: https://www.npmjs.com/package/@ivuorinen/eslint-config
|
|
45
|
+
[pkg-markdownlint]: https://www.npmjs.com/package/@ivuorinen/markdownlint-config
|
|
46
|
+
[pkg-prettier]: https://www.npmjs.com/package/@ivuorinen/prettier-config
|
|
47
|
+
[pkg-src]: https://www.npmjs.com/package/@ivuorinen/semantic-release-config
|
|
48
|
+
[pkg-stylelint]: https://www.npmjs.com/package/@ivuorinen/stylelint-config
|
|
49
|
+
[gh-browserslist]: https://github.com/ivuorinen/base-configs-browserslist
|
|
50
|
+
[gh-commitlint]: https://github.com/ivuorinen/base-configs-commitlint
|
|
51
|
+
[gh-eslint]: https://github.com/ivuorinen/base-configs-eslint
|
|
52
|
+
[gh-markdownlint]: https://github.com/ivuorinen/base-configs-markdownlint
|
|
53
|
+
[gh-prettier]: https://github.com/ivuorinen/base-configs-prettier
|
|
54
|
+
[gh-semantic-release]: https://github.com/ivuorinen/base-configs-semantic-release
|
|
55
|
+
[gh-stylelint]: https://github.com/ivuorinen/base-configs-stylelint
|
|
56
|
+
|
|
57
|
+
## Badge
|
|
58
|
+
|
|
59
|
+
Show the world that you are using ivuorinen's code style in your project by including the badge in your readme.
|
|
60
|
+
|
|
61
|
+
[](https://github.com/ivuorinen/base-configs)
|
|
62
|
+
|
|
63
|
+
```md
|
|
64
|
+
[](https://github.com/ivuorinen/base-configs)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Contributing
|
|
68
|
+
|
|
69
|
+
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
|
70
|
+
|
|
21
71
|
## Changelog
|
|
22
72
|
|
|
23
73
|
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
|
24
74
|
|
|
25
75
|
## License
|
|
26
76
|
|
|
27
|
-
MIT License. See [LICENSE][license-link] for more
|
|
77
|
+
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
|
28
78
|
|
|
29
|
-
[changelog-link]:
|
|
79
|
+
[changelog-link]: https://github.com/ivuorinen/base-configs/releases
|
|
80
|
+
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
|
81
|
+
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
|
30
82
|
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
|
31
83
|
[license-link]: ./LICENSE
|
|
32
|
-
[
|
|
33
|
-
[npm-link]: https://www.npmjs.com/package/@ivuorinen/base-configs
|
|
84
|
+
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
|
34
85
|
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
|
35
86
|
[style-link]: https://github.com/ivuorinen/base-configs
|
|
87
|
+
[browserslist-badge]: https://img.shields.io/npm/v/@ivuorinen/browserslist-config?style=flat-square&labelColor=292a44&color=663399
|
|
88
|
+
[browserslist-link]: https://github.com/browserslist/browserslist
|
|
89
|
+
[browserslist-npm]: https://www.npmjs.com/package/@ivuorinen/browserslist-config
|
|
90
|
+
[commitlint-badge]: https://img.shields.io/npm/v/@ivuorinen/commitlint-config?style=flat-square&labelColor=292a44&color=663399
|
|
91
|
+
[commitlint-link]: https://github.com/conventional-changelog/commitlint
|
|
92
|
+
[commitlint-npm]: https://www.npmjs.com/package/@ivuorinen/commitlint-config
|
|
93
|
+
[eslint-badge]: https://img.shields.io/npm/v/@ivuorinen/eslint-config?style=flat-square&labelColor=292a44&color=663399
|
|
94
|
+
[eslint-link]: https://github.com/eslint/eslint
|
|
95
|
+
[eslint-npm]: https://www.npmjs.com/package/@ivuorinen/eslint-config
|
|
96
|
+
[markdownlint-badge]: https://img.shields.io/npm/v/@ivuorinen/markdownlint-config?style=flat-square&labelColor=292a44&color=663399
|
|
97
|
+
[markdownlint-link]: https://github.com/DavidAnson/markdownlint
|
|
98
|
+
[markdownlint-npm]: https://www.npmjs.com/package/@ivuorinen/markdownlint-config
|
|
99
|
+
[prettier-badge]: https://img.shields.io/npm/v/@ivuorinen/prettier-config?style=flat-square&labelColor=292a44&color=663399
|
|
100
|
+
[prettier-link]: https://github.com/prettier/prettier
|
|
101
|
+
[prettier-npm]: https://www.npmjs.com/package/@ivuorinen/prettier-config
|
|
102
|
+
[semantic-release-badge]: https://img.shields.io/npm/v/@ivuorinen/semantic-release-config?style=flat-square&labelColor=292a44&color=663399
|
|
103
|
+
[semantic-release-link]: https://github.com/semantic-release/semantic-release
|
|
104
|
+
[semantic-release-npm]: https://www.npmjs.com/package/@ivuorinen/semantic-release-config
|
|
105
|
+
[stylelint-badge]: https://img.shields.io/npm/v/@ivuorinen/stylelint-config?style=flat-square&labelColor=292a44&color=663399
|
|
106
|
+
[stylelint-link]: https://github.com/stylelint/stylelint
|
|
107
|
+
[stylelint-npm]: https://www.npmjs.com/package/@ivuorinen/stylelint-config
|
|
108
|
+
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
|
109
|
+
[npm-link]: https://www.npmjs.com/package/@ivuorinen/base-configs
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Nitpicker Findings
|
|
2
|
+
|
|
3
|
+
- Generated: 2026-06-25
|
|
4
|
+
- Last validated: 2026-06-25
|
|
5
|
+
- Scope: all uncommitted changes (changed-files mode) on branch `chore/upgrades`
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
- Total: 1 | Open: 1 | Fixed: 0 | Invalid: 0
|
|
10
|
+
|
|
11
|
+
Reviewed changes:
|
|
12
|
+
|
|
13
|
+
- Prettier YAML reformats: `codeql.yml`, `stale.yml`, `sync-labels.yml`, `.yarnrc.yml`
|
|
14
|
+
- `js-yaml` resolution added to `package.json`
|
|
15
|
+
- node_modules cache-key change in `pr.yml` and `publish.yml`
|
|
16
|
+
- New config files: `.coderabbit.yaml`, `.mega-linter.yml`
|
|
17
|
+
|
|
18
|
+
No correctness, security, reliability, maintainability, or convention defects were found.
|
|
19
|
+
|
|
20
|
+
## Open Findings
|
|
21
|
+
|
|
22
|
+
### Advisory
|
|
23
|
+
|
|
24
|
+
#### [N1] zizmor online-audit re-enable cannot be confirmed without a CI run
|
|
25
|
+
|
|
26
|
+
- Category: reliability
|
|
27
|
+
- Area: `.mega-linter.yml`
|
|
28
|
+
- Problem: Exposing `GITHUB_TOKEN` lets zizmor's online `impostor-commit` audit authenticate instead of returning HTTP 401.
|
|
29
|
+
- Evidence: `ACTION_ZIZMOR_UNSECURED_ENV_VARIABLES` is in the MegaLinter v9.5.0 schema and is the documented remedy.
|
|
30
|
+
- Evidence: Online audits run only inside MegaLinter's CI; local validation cannot exercise the token hand-off.
|
|
31
|
+
- Impact: Informational. If MegaLinter does not surface `GITHUB_TOKEN` to the zizmor step in CI, the 401 may persist.
|
|
32
|
+
- Fix: No action now. If CI still 401s, set `ACTION_ZIZMOR_ARGUMENTS: --no-online-audits` to skip only online audits.
|
|
33
|
+
|
|
34
|
+
## Verification notes (no findings)
|
|
35
|
+
|
|
36
|
+
- Prettier quote changes parse to identical YAML trees versus `HEAD` for all four files; no semantic change.
|
|
37
|
+
- `js-yaml` `^4.2.0` removes the vulnerable `4.1.1` (CVE-2026-53550); only `4.2.0` remains, with no `3.x` consumer.
|
|
38
|
+
- Cache key `hashFiles('.nvmrc', '**/yarn.lock')` references existing files; no `restore-keys`, so a Node bump misses cleanly.
|
|
39
|
+
- `.coderabbit.yaml` and `.mega-linter.yml` pass prettier and yamllint, and validate against their published JSON schemas.
|
|
40
|
+
- `zizmor --persona auditor .github/workflows/` reports no findings.
|
|
41
|
+
|
|
42
|
+
## Fixed
|
|
43
|
+
|
|
44
|
+
None.
|
|
45
|
+
|
|
46
|
+
## Invalid
|
|
47
|
+
|
|
48
|
+
None.
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ivuorinen/base-configs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "ivuorinen's shareable configurations meta package",
|
|
5
6
|
"author": {
|
|
6
7
|
"name": "Ismo Vuorinen",
|
|
@@ -9,31 +10,64 @@
|
|
|
9
10
|
"bugs": {
|
|
10
11
|
"url": "https://github.com/ivuorinen/base-configs/issues"
|
|
11
12
|
},
|
|
13
|
+
"contributors": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Base Configs Contributors",
|
|
16
|
+
"url": "https://github.com/ivuorinen/base-configs/graphs/contributors"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
12
19
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
20
|
+
"node": ">=20"
|
|
21
|
+
},
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
14
24
|
},
|
|
15
|
-
"homepage": "https://github.com/ivuorinen/base-configs
|
|
25
|
+
"homepage": "https://github.com/ivuorinen/base-configs#readme",
|
|
16
26
|
"keywords": [
|
|
17
|
-
"
|
|
27
|
+
"commitlint",
|
|
18
28
|
"config",
|
|
19
|
-
"
|
|
29
|
+
"eslint",
|
|
30
|
+
"lint",
|
|
31
|
+
"markdownlint",
|
|
32
|
+
"prettier",
|
|
33
|
+
"semantic-release",
|
|
34
|
+
"stylelint"
|
|
20
35
|
],
|
|
21
36
|
"license": "MIT",
|
|
22
|
-
"publishConfig": {
|
|
23
|
-
"access": "public"
|
|
24
|
-
},
|
|
25
37
|
"repository": {
|
|
26
38
|
"type": "git",
|
|
27
|
-
"url": "
|
|
39
|
+
"url": "https://github.com/ivuorinen/base-configs.git"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"commitlint": "./node_modules/.bin/commitlint --from HEAD~1 --to HEAD --verbose",
|
|
43
|
+
"eslint:fix": "./node_modules/.bin/eslint '**/*.{js,tsx,ts,mjs,cjs}' --fix",
|
|
44
|
+
"eslint:report": "./node_modules/.bin/eslint '**/*.{js,tsx,ts,mjs,cjs}'",
|
|
45
|
+
"fix": "./node_modules/.bin/run-s prettier:fix eslint:fix markdownlint:fix",
|
|
46
|
+
"markdownlint:fix": "./node_modules/.bin/markdownlint '**/*.md' --fix",
|
|
47
|
+
"markdownlint:report": "./node_modules/.bin/markdownlint '**/*.md'",
|
|
48
|
+
"prettier:fix": "./node_modules/.bin/prettier '**/*.{js,tsx,ts,json,mjs,cjs}' '.*.{js,mjs,cjs,json}' --write",
|
|
49
|
+
"prettier:report": "./node_modules/.bin/prettier '**/*.{js,tsx,ts,json,mjs,cjs}' '.*.{js,mjs,cjs,json}' --check"
|
|
28
50
|
},
|
|
29
51
|
"dependencies": {
|
|
30
|
-
"@ivuorinen/browserslist-config": "^
|
|
31
|
-
"@ivuorinen/commitlint-config": "^0.
|
|
32
|
-
"@ivuorinen/eslint-config": "^
|
|
33
|
-
"@ivuorinen/markdownlint-config": "^
|
|
34
|
-
"@ivuorinen/prettier-config": "^
|
|
35
|
-
"@ivuorinen/semantic-release-config": "^
|
|
36
|
-
"
|
|
37
|
-
},
|
|
38
|
-
"
|
|
52
|
+
"@ivuorinen/browserslist-config": "^1.1.4",
|
|
53
|
+
"@ivuorinen/commitlint-config": "^1.0.32",
|
|
54
|
+
"@ivuorinen/eslint-config": "^1.2.3",
|
|
55
|
+
"@ivuorinen/markdownlint-config": "^1.1.3",
|
|
56
|
+
"@ivuorinen/prettier-config": "^1.1.4",
|
|
57
|
+
"@ivuorinen/semantic-release-config": "^1.3.3",
|
|
58
|
+
"@ivuorinen/stylelint-config": "^1.1.2"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@types/node": "^26.0.0",
|
|
62
|
+
"npm-run-all2": "^9.0.2",
|
|
63
|
+
"simple-git-hooks": "^2.13.1",
|
|
64
|
+
"typescript": "^6.0.3"
|
|
65
|
+
},
|
|
66
|
+
"resolutions": {
|
|
67
|
+
"js-yaml": "^5.0.0",
|
|
68
|
+
"minimatch": "^10.2.4",
|
|
69
|
+
"picomatch": "^4.0.4",
|
|
70
|
+
"undici": "^8.5.0"
|
|
71
|
+
},
|
|
72
|
+
"packageManager": "yarn@4.17.0"
|
|
39
73
|
}
|