@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 CHANGED
@@ -1,7 +1,9 @@
1
1
  ignores: [
2
2
  '@commitlint/cli',
3
3
  '@commitlint/config-angular',
4
- '@tsconfig/node22',
4
+ '@tsconfig/node24',
5
5
  'eslint-import-resolver-typescript',
6
- 'husky'
6
+ 'husky',
7
+
8
+ "@typescript/native-preview",
7
9
  ]
@@ -11,12 +11,12 @@ defaults:
11
11
 
12
12
  jobs:
13
13
  build-and-test:
14
- runs-on: ubuntu-latest
15
- timeout-minutes: 10
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 # Needed for checkout and npm install
19
- pull-requests: read # Needed to read PR information
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.ACTIONS_TOKEN }}" >> ~/.npmrc
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.ACTIONS_TOKEN }}
54
- NPM_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
55
- NODE_AUTH_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
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-latest
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-latest
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 # Required for npm provenance generation
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.ACTIONS_TOKEN }}
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.ACTIONS_TOKEN }}
53
- NPM_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
54
- NODE_AUTH_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
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.ACTIONS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git HEAD:refs/heads/v${{steps.semantic.outputs.new_release_major_version}}"
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'
@@ -0,0 +1,3 @@
1
+ gitleaks protect --staged -v
2
+ make clean
3
+ make ci
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 importPlugin from 'eslint-plugin-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: importPlugin,
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
- ...importPlugin.configs.recommended.rules,
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
- importPlugin.configs.typescript,
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.54",
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": "if [ -z \"$GITHUB_ACTIONS\" ]; then npx husky install; fi",
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": "9.39.2",
29
+ "@eslint/js": "10.0.1",
30
30
  "@stylistic/eslint-plugin": "5.10.0",
31
31
  "@tsconfig/node24": "24.0.4",
32
- "eslint": "9.39.2",
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": "2.32.0",
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.8.0",
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.2",
43
- "typescript": "6.0.2",
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",