@skilbjo/config-rc 1.0.54 → 1.0.55
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/.depcheckrc +4 -2
- package/.github/workflows/pr.yml +9 -9
- package/.github/workflows/release.yml +9 -7
- package/.husky/pre-commit +3 -0
- package/.releaserc +1 -8
- package/index.js +16 -17
- package/package.json +10 -11
package/.depcheckrc
CHANGED
package/.github/workflows/pr.yml
CHANGED
|
@@ -11,12 +11,12 @@ defaults:
|
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
13
|
build-and-test:
|
|
14
|
-
runs-on: ubuntu-
|
|
15
|
-
timeout-minutes:
|
|
14
|
+
runs-on: ubuntu-24.04-arm
|
|
15
|
+
timeout-minutes: 5
|
|
16
16
|
if: github.event.pull_request.head.repo.full_name == github.repository # Security: Only run on PRs from the same repository
|
|
17
17
|
permissions:
|
|
18
|
-
contents: read
|
|
19
|
-
pull-requests:
|
|
18
|
+
contents: read
|
|
19
|
+
pull-requests: write
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
22
|
- uses: step-security/harden-runner@v2
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
- run: make ci
|
|
39
39
|
|
|
40
40
|
- name: Set up NPM authentication for dry release
|
|
41
|
-
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.
|
|
41
|
+
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
|
|
42
42
|
|
|
43
43
|
- uses: cycjimmy/semantic-release-action@v6
|
|
44
44
|
id: semantic
|
|
@@ -50,12 +50,12 @@ jobs:
|
|
|
50
50
|
@semantic-release/changelog@6.0.0
|
|
51
51
|
@semantic-release/exec@6.0.1
|
|
52
52
|
env:
|
|
53
|
-
GITHUB_TOKEN: ${{ secrets.
|
|
54
|
-
NPM_TOKEN: ${{ secrets.
|
|
55
|
-
NODE_AUTH_TOKEN: ${{ secrets.
|
|
53
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
54
|
+
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
56
56
|
|
|
57
57
|
dependabot-approve-and-automerge:
|
|
58
|
-
runs-on: ubuntu-
|
|
58
|
+
runs-on: ubuntu-slim
|
|
59
59
|
needs: build-and-test
|
|
60
60
|
timeout-minutes: 2
|
|
61
61
|
permissions:
|
|
@@ -13,12 +13,14 @@ defaults:
|
|
|
13
13
|
|
|
14
14
|
jobs:
|
|
15
15
|
publish-artifact:
|
|
16
|
-
runs-on: ubuntu-
|
|
16
|
+
runs-on: ubuntu-24.04-arm
|
|
17
17
|
timeout-minutes: 10
|
|
18
18
|
if: github.repository == 'skilbjo/config-rc' # Security: Only run on pushes to the main repository
|
|
19
19
|
permissions:
|
|
20
|
+
pull-requests: write
|
|
21
|
+
contents: write
|
|
20
22
|
packages: write
|
|
21
|
-
id-token: write
|
|
23
|
+
id-token: write
|
|
22
24
|
|
|
23
25
|
outputs:
|
|
24
26
|
new_release_version: ${{ steps.semantic.outputs.new_release_version }}
|
|
@@ -31,7 +33,7 @@ jobs:
|
|
|
31
33
|
- uses: actions/checkout@v6
|
|
32
34
|
with:
|
|
33
35
|
persist-credentials: false
|
|
34
|
-
token: ${{ secrets.
|
|
36
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
35
37
|
|
|
36
38
|
- uses: actions/setup-node@v6
|
|
37
39
|
with:
|
|
@@ -49,15 +51,15 @@ jobs:
|
|
|
49
51
|
@semantic-release/changelog@6.0.0
|
|
50
52
|
@semantic-release/exec@6.0.1
|
|
51
53
|
env:
|
|
52
|
-
GITHUB_TOKEN: ${{ secrets.
|
|
53
|
-
NPM_TOKEN: ${{ secrets.
|
|
54
|
-
NODE_AUTH_TOKEN: ${{ secrets.
|
|
54
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
+
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
56
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
57
|
|
|
56
58
|
- name: Push updates to branch for major version
|
|
57
59
|
# if there is a new version published, let's say v1.2.3
|
|
58
60
|
# then this step will update branch "v1" to this commit
|
|
59
61
|
if: steps.semantic.outputs.new_release_published == 'true'
|
|
60
|
-
run: "git push https://x-access-token:${{ secrets.
|
|
62
|
+
run: "git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git HEAD:refs/heads/v${{steps.semantic.outputs.new_release_major_version}}"
|
|
61
63
|
|
|
62
64
|
- name: prepare npm
|
|
63
65
|
if: steps.semantic.outputs.new_release_published == 'true'
|
package/.releaserc
CHANGED
|
@@ -2,19 +2,12 @@
|
|
|
2
2
|
"plugins": [
|
|
3
3
|
"@semantic-release/commit-analyzer",
|
|
4
4
|
"@semantic-release/release-notes-generator",
|
|
5
|
-
["@semantic-release/changelog", {
|
|
6
|
-
"changelogFile": "CHANGELOG.md"
|
|
7
|
-
}],
|
|
8
5
|
["@semantic-release/exec", {
|
|
9
6
|
"verifyConditionsCmd": "make ci",
|
|
10
7
|
}],
|
|
11
8
|
["@semantic-release/github", {
|
|
12
9
|
assets: ["eslint.config.mjs", "index.js"]
|
|
13
10
|
}],
|
|
14
|
-
["@semantic-release/npm"]
|
|
15
|
-
["@semantic-release/git", {
|
|
16
|
-
"assets": ["CHANGELOG.md"],
|
|
17
|
-
"message": "docs(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
18
|
-
}]
|
|
11
|
+
["@semantic-release/npm"]
|
|
19
12
|
]
|
|
20
13
|
}
|
package/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* eslint-disable perfectionist/sort-objects */
|
|
2
2
|
import eslint from '@eslint/js';
|
|
3
3
|
import * as tseslint from 'typescript-eslint';
|
|
4
|
-
import
|
|
4
|
+
import importXPlugin, {
|
|
5
|
+
flatConfigs as importXFlatConfigs,
|
|
6
|
+
} from 'eslint-plugin-import-x';
|
|
5
7
|
import nPlugin from 'eslint-plugin-n';
|
|
6
|
-
import jestPlugin from 'eslint-plugin-jest';
|
|
7
8
|
import prettierPlugin from 'eslint-plugin-prettier';
|
|
8
9
|
import securityPlugin from 'eslint-plugin-security';
|
|
9
10
|
import perfectionistPlugin, {
|
|
@@ -20,7 +21,6 @@ const config = tseslint.config(
|
|
|
20
21
|
languageOptions: {
|
|
21
22
|
globals: {
|
|
22
23
|
...globals.node,
|
|
23
|
-
...globals.jest,
|
|
24
24
|
...globals.es2025,
|
|
25
25
|
Atomics: 'readonly',
|
|
26
26
|
SharedArrayBuffer: 'readonly',
|
|
@@ -29,32 +29,31 @@ const config = tseslint.config(
|
|
|
29
29
|
sourceType: 'module',
|
|
30
30
|
},
|
|
31
31
|
plugins: {
|
|
32
|
-
import:
|
|
32
|
+
'import-x': importXPlugin,
|
|
33
33
|
n: nPlugin,
|
|
34
34
|
prettier: prettierPlugin,
|
|
35
35
|
security: securityPlugin,
|
|
36
36
|
perfectionist: perfectionistPlugin,
|
|
37
|
-
jest: jestPlugin,
|
|
38
37
|
'@typescript-eslint': tseslint.plugin,
|
|
39
38
|
'@stylistic': stylisticPlugin,
|
|
40
39
|
},
|
|
41
40
|
rules: {
|
|
42
41
|
...eslint.configs.recommended.rules,
|
|
43
|
-
...
|
|
42
|
+
...importXFlatConfigs.recommended.rules,
|
|
44
43
|
...nPlugin.configs.recommended.rules,
|
|
45
44
|
...prettierPlugin.configs.recommended.rules,
|
|
46
45
|
...securityPlugin.configs.recommended.rules,
|
|
47
46
|
...perfectionistConfigs['recommended-alphabetical'].rules,
|
|
48
47
|
'@typescript-eslint/no-non-null-assertion': 1,
|
|
49
48
|
eqeqeq: 2,
|
|
50
|
-
'import/default': 2,
|
|
51
|
-
'import/export': 2,
|
|
52
|
-
'import/named': 2,
|
|
53
|
-
'import/namespace': 2,
|
|
54
|
-
'import/newline-after-import': 2,
|
|
55
|
-
'import/no-duplicates': 2,
|
|
56
|
-
'import/no-unresolved': 2,
|
|
57
|
-
'import/order': 2,
|
|
49
|
+
'import-x/default': 2,
|
|
50
|
+
'import-x/export': 2,
|
|
51
|
+
'import-x/named': 2,
|
|
52
|
+
'import-x/namespace': 2,
|
|
53
|
+
'import-x/newline-after-import': 2,
|
|
54
|
+
'import-x/no-duplicates': 2,
|
|
55
|
+
'import-x/no-unresolved': 2,
|
|
56
|
+
'import-x/order': 2,
|
|
58
57
|
'n/hashbang': 'off',
|
|
59
58
|
'n/no-extraneous-import': 'off',
|
|
60
59
|
'n/no-missing-import': 'off', // conflicts with typescript absolute imports
|
|
@@ -101,10 +100,10 @@ const config = tseslint.config(
|
|
|
101
100
|
'security/detect-object-injection': 'off',
|
|
102
101
|
},
|
|
103
102
|
settings: {
|
|
104
|
-
'import/parsers': {
|
|
103
|
+
'import-x/parsers': {
|
|
105
104
|
'@typescript-eslint/parser': ['.ts'],
|
|
106
105
|
},
|
|
107
|
-
'import/resolver': {
|
|
106
|
+
'import-x/resolver': {
|
|
108
107
|
node: { extensions: ['.ts', '.js'] },
|
|
109
108
|
typescript: {
|
|
110
109
|
alwaysTryTypes: true,
|
|
@@ -123,7 +122,7 @@ const config = tseslint.config(
|
|
|
123
122
|
extends: [
|
|
124
123
|
...tseslint.configs.recommended,
|
|
125
124
|
...tseslint.configs.strict, // Note: This includes 'no-unused-vars': 'error'
|
|
126
|
-
|
|
125
|
+
importXFlatConfigs.typescript,
|
|
127
126
|
],
|
|
128
127
|
rules: {
|
|
129
128
|
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@skilbjo/config-rc",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.55",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"private": false,
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://github.com/skilbjo/config-rc#readme",
|
|
18
18
|
"scripts": {
|
|
19
|
-
"prepare": "
|
|
19
|
+
"prepare": "husky",
|
|
20
20
|
"exec": "node",
|
|
21
21
|
"eslint": "eslint .",
|
|
22
22
|
"lint": "eslint",
|
|
@@ -26,29 +26,28 @@
|
|
|
26
26
|
"prepare-npm": "jq 'del(.publishConfig) | . + { publishConfig: { registry: \"https://registry.npmjs.org/\", access: \"public\", provenance: true } }' package.json >package2.json && mv package2.json package.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@eslint/js": "
|
|
29
|
+
"@eslint/js": "10.0.1",
|
|
30
30
|
"@stylistic/eslint-plugin": "5.10.0",
|
|
31
31
|
"@tsconfig/node24": "24.0.4",
|
|
32
|
-
"eslint": "
|
|
32
|
+
"eslint": "10.2.1",
|
|
33
33
|
"eslint-config-prettier": "10.1.8",
|
|
34
34
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
35
|
-
"eslint-plugin-import": "
|
|
36
|
-
"eslint-plugin-jest": "29.15.2",
|
|
35
|
+
"eslint-plugin-import-x": "4.16.2",
|
|
37
36
|
"eslint-plugin-n": "17.24.0",
|
|
38
|
-
"eslint-plugin-perfectionist": "5.
|
|
37
|
+
"eslint-plugin-perfectionist": "5.9.0",
|
|
39
38
|
"eslint-plugin-prettier": "5.5.5",
|
|
40
39
|
"eslint-plugin-security": "4.0.0",
|
|
41
40
|
"globals": "17.5.0",
|
|
42
|
-
"prettier": "3.8.
|
|
43
|
-
"typescript": "
|
|
44
|
-
"typescript-eslint": "8.58.1"
|
|
41
|
+
"prettier": "3.8.3",
|
|
42
|
+
"typescript-eslint": "8.59.0"
|
|
45
43
|
},
|
|
46
44
|
"devDependencies": {
|
|
47
45
|
"@commitlint/cli": "20.5.0",
|
|
48
46
|
"@commitlint/config-angular": "20.5.0",
|
|
49
47
|
"@types/node": "25.6.0",
|
|
50
48
|
"depcheck": "1.4.7",
|
|
51
|
-
"husky": "9.1.7"
|
|
49
|
+
"husky": "9.1.7",
|
|
50
|
+
"@typescript/native-preview": "7.0.0-dev.20260423.1"
|
|
52
51
|
},
|
|
53
52
|
"exports": {
|
|
54
53
|
".": "./index.js",
|