@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.
@@ -0,0 +1 @@
1
+ extends @ivuorinen/browserslist-config
@@ -0,0 +1,13 @@
1
+ # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
2
+ ---
3
+ reviews:
4
+ path_instructions:
5
+ - path: 'package.json'
6
+ instructions: |-
7
+ This repository IS the `@ivuorinen/base-configs` meta-package; its sole
8
+ purpose is to list the seven individual `@ivuorinen/*` config packages
9
+ as dependencies. Do NOT flag those entries or suggest collapsing them
10
+ into a single `@ivuorinen/base-configs` dependency, which would be a
11
+ circular self-dependency. The "install the meta-package instead of the
12
+ individual configs" rule applies only to consumer repositories, not to
13
+ this repo.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": ["@ivuorinen/commitlint-config"]
3
+ }
package/.editorconfig ADDED
@@ -0,0 +1,17 @@
1
+ # EditorConfig is awesome: https://EditorConfig.org
2
+
3
+ # top-most EditorConfig file
4
+ root = true
5
+
6
+ [*]
7
+ charset = utf-8
8
+ end_of_line = lf
9
+ indent_size = 2
10
+ indent_style = space
11
+ insert_final_newline = true
12
+ trim_trailing_whitespace = true
13
+ max_line_length = 120
14
+
15
+ [*.md]
16
+ max_line_length = off
17
+ trim_trailing_whitespace = false
@@ -0,0 +1 @@
1
+ * @ivuorinen
@@ -0,0 +1,9 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Only the latest versions of the configuration packages and the base package are as of now supported.
6
+
7
+ ## Reporting a Vulnerability
8
+
9
+ This repository has automatic package update systems in place. If you find a vulnerability, please send me email and I'll fix it as soon as possible.
@@ -0,0 +1,88 @@
1
+ ---
2
+ - name: 'breaking-change'
3
+ color: ee0701
4
+ description: 'A breaking change for existing users.'
5
+ - name: 'bugfix'
6
+ color: ee0701
7
+ description: 'Inconsistencies or issues which will cause a problem for users or implementors.'
8
+ - name: 'documentation'
9
+ color: 0052cc
10
+ description: 'Solely about the documentation of the project.'
11
+ - name: 'enhancement'
12
+ color: 1d76db
13
+ description: 'Enhancement of the code, not introducing new features.'
14
+ - name: 'refactor'
15
+ color: 1d76db
16
+ description: 'Improvement of existing code, not introducing new features.'
17
+ - name: 'performance'
18
+ color: 1d76db
19
+ description: 'Improving performance, not introducing new features.'
20
+ - name: 'new-feature'
21
+ color: 0e8a16
22
+ description: 'New features or options.'
23
+ - name: 'maintenance'
24
+ color: 2af79e
25
+ description: 'Generic maintenance tasks.'
26
+ - name: 'ci'
27
+ color: 1d76db
28
+ description: 'Work that improves the continue integration.'
29
+ - name: 'dependencies'
30
+ color: 1d76db
31
+ description: 'Upgrade or downgrade of project dependencies.'
32
+ - name: 'translations'
33
+ color: d4c5f9
34
+ description: 'Impacts translations.'
35
+
36
+ - name: 'in-progress'
37
+ color: fbca04
38
+ description: 'Issue is currently being resolved by a developer.'
39
+ - name: 'stale'
40
+ color: fef2c0
41
+ description: 'There has not been activity on this issue or PR for quite some time.'
42
+ - name: 'no-stale'
43
+ color: fef2c0
44
+ description: 'This issue or PR is exempted from the stable bot.'
45
+
46
+ - name: 'security'
47
+ color: ee0701
48
+ description: 'Marks a security issue that needs to be resolved asap.'
49
+ - name: 'incomplete'
50
+ color: fef2c0
51
+ description: 'Marks a PR or issue that is missing information.'
52
+ - name: 'invalid'
53
+ color: fef2c0
54
+ description: 'Marks a PR or issue that is missing information.'
55
+
56
+ - name: 'beginner-friendly'
57
+ color: 0e8a16
58
+ description: 'Good first issue for people wanting to contribute to the project.'
59
+ - name: 'help-wanted'
60
+ color: 0e8a16
61
+ description: 'We need some extra helping hands or expertise in order to resolve this.'
62
+
63
+ - name: 'hacktoberfest'
64
+ description: 'Issues/PRs are participating in the Hacktoberfest.'
65
+ color: fbca04
66
+ - name: 'hacktoberfest-accepted'
67
+ description: 'Issues/PRs are participating in the Hacktoberfest.'
68
+ color: fbca04
69
+
70
+ - name: 'priority-critical'
71
+ color: ee0701
72
+ description: 'This should be dealt with ASAP. Not fixing this issue would be a serious error.'
73
+ - name: 'priority-high'
74
+ color: b60205
75
+ description: 'After critical issues are fixed, these should be dealt with before any further issues.'
76
+ - name: 'priority-medium'
77
+ color: 0e8a16
78
+ description: 'This issue may be useful, and needs some attention.'
79
+ - name: 'priority-low'
80
+ color: e4ea8a
81
+ description: 'Nice addition, maybe... someday...'
82
+
83
+ - name: 'major'
84
+ color: b60205
85
+ description: 'This PR causes a major version bump in the version number.'
86
+ - name: 'minor'
87
+ color: 0e8a16
88
+ description: 'This PR causes a minor version bump in the version number.'
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": ["github>ivuorinen/renovate-config"]
4
+ }
@@ -0,0 +1,38 @@
1
+ ---
2
+ # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
3
+ name: 'CodeQL'
4
+
5
+ on:
6
+ push:
7
+ branches: ['main']
8
+ pull_request:
9
+ branches: ['main']
10
+ schedule:
11
+ - cron: '30 1 * * 0'
12
+ merge_group:
13
+
14
+ concurrency:
15
+ group: ${{ github.workflow }}-${{ github.ref }}
16
+ cancel-in-progress: true
17
+
18
+ permissions: {}
19
+
20
+ jobs:
21
+ analyze:
22
+ name: Analyze
23
+ runs-on: ubuntu-latest
24
+ permissions:
25
+ actions: read # read workflow run metadata
26
+ contents: read # checkout the repository
27
+ packages: read # read GitHub Packages
28
+ security-events: write # upload CodeQL results
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ language: ['actions', 'javascript']
33
+ steps:
34
+ - name: CodeQL Analysis
35
+ uses: ivuorinen/actions/codeql-analysis@8395dad6b7d5d7d2e1d016cac1eede33ab404a3c # v2026.06.18
36
+ with:
37
+ language: ${{ matrix.language }}
38
+ queries: security-and-quality
@@ -0,0 +1,58 @@
1
+ ---
2
+ # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
3
+ name: Lint PR Code Base
4
+
5
+ on:
6
+ pull_request:
7
+ branches: [master, main]
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ permissions:
14
+ contents: read # read repository contents
15
+
16
+ env:
17
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
18
+ GITHUB_TOKEN: ${{ github.token }}
19
+
20
+ jobs:
21
+ Linter:
22
+ name: PR Lint
23
+ runs-on: ubuntu-latest
24
+ timeout-minutes: 15
25
+ # Dedicated environment scopes the CI credentials (NPM_TOKEN) used by the lint steps.
26
+ environment: ci
27
+ permissions:
28
+ contents: read # read repository contents
29
+ issues: write # comment on the pull request
30
+ packages: read # read GitHub Packages
31
+ pull-requests: write # post the lint and yarn.lock comments
32
+ statuses: write # report lint status on the commit
33
+
34
+ steps:
35
+ - name: Checkout
36
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
37
+ with:
38
+ token: ${{ secrets.GITHUB_TOKEN }}
39
+ persist-credentials: false
40
+
41
+ - name: Install and enable corepack
42
+ shell: sh
43
+ run: corepack enable
44
+
45
+ - name: Yarn Lock Changes
46
+ uses: Simek/yarn-lock-changes@59f47ee499424d2c2437c5aebf863b5c6d50a5bc # v0.14.1
47
+ with:
48
+ token: ${{ secrets.GITHUB_TOKEN }}
49
+ env:
50
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
52
+
53
+ - name: Run PR Lint
54
+ # https://github.com/ivuorinen/actions
55
+ uses: ivuorinen/actions/pr-lint@8395dad6b7d5d7d2e1d016cac1eede33ab404a3c # v2026.06.18
56
+ env:
57
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: PR Actions
3
+
4
+ on:
5
+ pull_request:
6
+
7
+ concurrency:
8
+ group: ${{ github.workflow }}-${{ github.ref }}
9
+ cancel-in-progress: true
10
+
11
+ permissions: {}
12
+
13
+ jobs:
14
+ pr:
15
+ name: PR Actions
16
+ runs-on: ubuntu-latest
17
+ permissions:
18
+ contents: read # checkout the repository
19
+ pull-requests: write # post the yarn.lock changes comment
20
+
21
+ steps:
22
+ - name: Checkout
23
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
24
+ with:
25
+ fetch-depth: 0
26
+ persist-credentials: false
27
+
28
+ - name: Setup Node.js Environment
29
+ uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
30
+ with:
31
+ node-version-file: '.nvmrc'
32
+
33
+ - name: Cache Node Modules
34
+ uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
35
+ id: cache
36
+ with:
37
+ path: node_modules
38
+ # Include .nvmrc so a Node version bump invalidates caches that may
39
+ # contain native modules built against the previous Node ABI.
40
+ key: node-modules-${{ hashFiles('.nvmrc', '**/yarn.lock') }}
41
+
42
+ - name: Enable corepack
43
+ id: corepack
44
+ shell: bash
45
+ run: corepack enable
46
+
47
+ - name: Install Dependencies
48
+ if: steps.cache.outputs.cache-hit != 'true'
49
+ run: yarn install
50
+
51
+ - name: Yarn Lock Changes
52
+ uses: Simek/yarn-lock-changes@59f47ee499424d2c2437c5aebf863b5c6d50a5bc # v0.14.1
53
+ with:
54
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: Publish
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ # Never cancel an in-progress release: a half-published release is worse than a queued one.
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: false
13
+
14
+ permissions:
15
+ contents: read # read repository contents
16
+
17
+ jobs:
18
+ Linter:
19
+ name: Lint
20
+ runs-on: ubuntu-latest
21
+ timeout-minutes: 15
22
+ permissions:
23
+ statuses: write # report lint status on the commit
24
+ contents: read # read repository contents
25
+ packages: read # read GitHub Packages
26
+ issues: write # comment on related issues
27
+ pull-requests: write # comment on related pull requests
28
+
29
+ steps:
30
+ - name: Run PR Lint
31
+ # https://github.com/ivuorinen/actions
32
+ uses: ivuorinen/actions/pr-lint@8395dad6b7d5d7d2e1d016cac1eede33ab404a3c # v2026.06.18
33
+
34
+ publish:
35
+ name: Publish
36
+ runs-on: ubuntu-latest
37
+ needs:
38
+ - Linter
39
+ # Dedicated environment scopes the release credential (PAT) and lets you
40
+ # attach protection rules to the publish step. npm auth uses Trusted
41
+ # Publishing (OIDC) via id-token below, so no NPM_TOKEN is needed.
42
+ environment: release
43
+ permissions:
44
+ contents: write # to be able to publish a GitHub release
45
+ issues: write # to be able to comment on released issues
46
+ pull-requests: write # to be able to comment on released pull requests
47
+ id-token: write # to enable use of OIDC for npm provenance
48
+
49
+ steps:
50
+ - name: Checkout
51
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
52
+ with:
53
+ fetch-depth: 0
54
+ persist-credentials: false
55
+
56
+ - name: Setup Node.js Environment
57
+ uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
58
+ with:
59
+ # No always-auth / NPM_TOKEN: the package is published via npm Trusted
60
+ # Publishing (OIDC), which uses the id-token below instead of a token.
61
+ node-version-file: '.nvmrc'
62
+ registry-url: 'https://registry.npmjs.org'
63
+ scope: '@ivuorinen'
64
+
65
+ - name: Install and enable corepack
66
+ shell: sh
67
+ run: corepack enable
68
+
69
+ - name: Cache Node Modules
70
+ uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
71
+ id: cache
72
+ with:
73
+ path: node_modules
74
+ # Include .nvmrc so a Node version bump invalidates caches that may
75
+ # contain native modules built against the previous Node ABI.
76
+ key: node-modules-${{ hashFiles('.nvmrc', '**/yarn.lock') }}
77
+
78
+ - name: Install Dependencies
79
+ shell: bash
80
+ if: steps.cache.outputs.cache-hit != 'true'
81
+ run: yarn install
82
+
83
+ - name: Semantic Release
84
+ uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0
85
+ with:
86
+ extra_plugins: |
87
+ @semantic-release/changelog
88
+ @semantic-release/github
89
+ @semantic-release/npm
90
+ env:
91
+ GITHUB_TOKEN: ${{ secrets.PAT }}
@@ -0,0 +1,30 @@
1
+ ---
2
+ # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
3
+ name: Stale
4
+
5
+ on:
6
+ schedule:
7
+ - cron: '0 8 * * *' # Every day at 08:00
8
+ workflow_call:
9
+ workflow_dispatch:
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ permissions:
16
+ contents: read # read repository contents
17
+ packages: read # read GitHub Packages
18
+ statuses: read # read commit statuses
19
+
20
+ jobs:
21
+ stale:
22
+ name: 🧹 Clean up stale issues and PRs
23
+ runs-on: ubuntu-latest
24
+
25
+ permissions:
26
+ contents: write # only for delete-branch option
27
+ issues: write # mark and close stale issues
28
+ pull-requests: write # mark and close stale pull requests
29
+ steps:
30
+ - uses: ivuorinen/actions/stale@8395dad6b7d5d7d2e1d016cac1eede33ab404a3c # v2026.06.18
@@ -0,0 +1,43 @@
1
+ ---
2
+ # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
3
+ name: Sync Labels
4
+
5
+ on:
6
+ push:
7
+ branches:
8
+ - main
9
+ - master
10
+ paths:
11
+ - '.github/labels.yml'
12
+ - '.github/workflows/sync-labels.yml'
13
+ schedule:
14
+ - cron: '34 5 * * *' # Run every day at 05:34 AM UTC
15
+ workflow_call:
16
+ workflow_dispatch:
17
+ merge_group:
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ permissions:
24
+ contents: read # read repository contents
25
+
26
+ jobs:
27
+ labels:
28
+ name: ♻️ Sync Labels
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 10
31
+
32
+ permissions:
33
+ contents: read # read the labels definition
34
+ issues: write # create and update repository labels
35
+
36
+ steps:
37
+ - name: ⤵️ Checkout Repository
38
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
39
+ with:
40
+ token: ${{ secrets.GITHUB_TOKEN }}
41
+ persist-credentials: false
42
+ - name: ⤵️ Sync Latest Labels Definitions
43
+ uses: ivuorinen/actions/sync-labels@8395dad6b7d5d7d2e1d016cac1eede33ab404a3c # v2026.06.18
@@ -0,0 +1,13 @@
1
+ {
2
+ "default": true,
3
+ "MD013": {
4
+ "line_length": 200,
5
+ "code_blocks": false,
6
+ "tables": false
7
+ },
8
+ "MD024": {
9
+ "siblings_only": true
10
+ },
11
+ "MD033": false,
12
+ "MD041": false
13
+ }
@@ -0,0 +1 @@
1
+ node_modules/
@@ -0,0 +1,10 @@
1
+ ---
2
+ # MegaLinter configuration
3
+ # https://megalinter.io/latest/configuration/
4
+
5
+ # Allow zizmor's online audits (e.g. impostor-commit) to authenticate with the
6
+ # GitHub API. MegaLinter strips the environment passed to linters by default,
7
+ # which left zizmor unauthenticated and failing impostor-commit with HTTP 401.
8
+ # https://megalinter.io/latest/descriptors/action_zizmor/
9
+ ACTION_ZIZMOR_UNSECURED_ENV_VARIABLES:
10
+ - GITHUB_TOKEN
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 26.3.1
@@ -0,0 +1,2 @@
1
+ node_modules/
2
+ /.nx/workspace-data
@@ -0,0 +1 @@
1
+ "@ivuorinen/prettier-config"
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": ["@ivuorinen/semantic-release-config"],
3
+ "branches": ["main"]
4
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "commit-msg": "yarn commitlint --edit $1"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": ["@ivuorinen/stylelint-config/css"]
3
+ }
package/.yamlignore ADDED
@@ -0,0 +1 @@
1
+
package/.yarnclean ADDED
@@ -0,0 +1,45 @@
1
+ # test directories
2
+ __tests__
3
+ test
4
+ tests
5
+ powered-test
6
+
7
+ # asset directories
8
+ docs
9
+ doc
10
+ website
11
+ images
12
+ assets
13
+
14
+ # examples
15
+ example
16
+ examples
17
+
18
+ # code coverage directories
19
+ coverage
20
+ .nyc_output
21
+
22
+ # build scripts
23
+ Makefile
24
+ Gulpfile.js
25
+ Gruntfile.js
26
+
27
+ # configs
28
+ appveyor.yml
29
+ circle.yml
30
+ codeship-services.yml
31
+ codeship-steps.yml
32
+ wercker.yml
33
+ .tern-project
34
+ .gitattributes
35
+ .editorconfig
36
+ .*ignore
37
+ .eslintrc
38
+ .jshintrc
39
+ .flowconfig
40
+ .documentup.json
41
+ .yarn-metadata.json
42
+ .travis.yml
43
+
44
+ # misc
45
+ *.md
package/.yarnrc.yml ADDED
@@ -0,0 +1,16 @@
1
+ nodeLinker: node-modules
2
+
3
+ # First-party @ivuorinen packages are exempt from the npmMinimalAgeGate
4
+ # supply-chain check, so freshly released config packages can be consumed
5
+ # immediately. The age gate still applies to all third-party packages.
6
+ npmPreapprovedPackages:
7
+ - '@ivuorinen/*'
8
+
9
+ packageExtensions:
10
+ '@commitlint/load@*':
11
+ dependencies:
12
+ typescript: '*'
13
+ '@types/node': '*'
14
+ 'eslint-plugin-n@*':
15
+ dependencies:
16
+ typescript: '*'