skyltmax_config 2.0.0.beta.1 → 3.0.0.beta.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 789ece4527f6edeffb76dc49feaf146bc86968f55b2da30a5489080d91b4581a
4
- data.tar.gz: e9996f2bb5ce81ab1a955d54e0ec68fa5bea41c1516241868b02e966910a5fde
3
+ metadata.gz: f551fa54ae3fc20ceb290e8336375723845f8243bf876d6f554e892a5ffc3d96
4
+ data.tar.gz: a284c72546620297c153039a6e10e0e3a19413b78395ddacc05a2fc19bc87a16
5
5
  SHA512:
6
- metadata.gz: d05d8a229b7ddb5f753d81441b05aa0550052fb6d98919b2dd4ed117c5fb9f90198a54b113cb7e09d9696377b3949b78a836d468ff1b60cda128a84864b1ef5d
7
- data.tar.gz: c454366e718d408f13de2df1b11d3f54fa66d70b4241c9fef6f5dc493076f7839821bd677519f59c7277737f458616feb1278b57592c89e349196aaee22af702
6
+ metadata.gz: 4c317fdf35669ae761443b9f6a308d9a7f711008f767327583f01274604d29d6ee03e14121c7841b8c79ab1dad5ea53d6825590634a3457cea0cd48bd1d99506
7
+ data.tar.gz: 288ffb81e61a897ab46263c26f0cf2cf7242f66f7fbc3e7aded273f457d119967743b7ca9f36fd9d594990170fef8fe2123054be7cef4e606485053e28fc0c15
@@ -2,54 +2,22 @@
2
2
 
3
3
  set -eo pipefail
4
4
 
5
- function bootcmd() {
6
- printf "\n"
7
- toilet -f term -t -F border:metal "$1"
8
- printf "+ $2\n"
9
- }
10
-
11
5
  MARKER_FILE=".devcontainer/.bootdone"
12
6
 
13
7
  if [ -f "${MARKER_FILE}" ]; then
14
8
  source "${MARKER_FILE}"
15
9
  fi
16
10
 
17
- # Per-user shared volume (skyltmax-dc template), reachable at the same path as on the host.
18
- if [ -d "/home/$HOSTLOGNAME/shared" ]; then
19
- ln -sfn "/home/$HOSTLOGNAME/shared" /home/vscode/shared
20
- fi
21
-
22
- if [ -d "/home/$HOSTLOGNAME/.config" ]; then
23
- sudo chown -R vscode:vscode /home/$HOSTLOGNAME/.config
24
- fi
25
-
26
- # Commit signing config written by the Coder template on the workspace host (home.sh in
27
- # skyltmax/infra); the key path inside it resolves in-container through the host-home bind.
28
- # Inert when absent — git skips missing [include] paths (the dotfiles .gitconfig carries the include).
29
- if [ -f "/home/$HOSTLOGNAME/.config/git/coder-signing" ]; then
30
- mkdir -p /home/vscode/.config/git
31
- cp "/home/$HOSTLOGNAME/.config/git/coder-signing" /home/vscode/.config/git/coder-signing
32
- fi
33
-
34
11
  sudo chown -R vscode:vscode .ruby-lsp
35
12
  sudo chown -R vscode:vscode /usr/local/bundle
36
13
 
37
14
  git config --global --add safe.directory $DEVC_WORKSPACE
38
15
 
39
- # npm credentials are written to the workspace host home by the Coder template (skyltmax-dc)
40
- # and reach us through the host-home bind mount. Only needed for publishing here — every
41
- # dependency resolves from the public registry.
42
- if [ -f "/home/$HOSTLOGNAME/.npmrc" ]; then
43
- cp "/home/$HOSTLOGNAME/.npmrc" "${DEVC_WORKSPACE}/.npmrc"
44
- fi
45
-
46
- # Both halves of this repo get set up: the gem and the @signmax/config package.
47
- if [ "${PNPM_ALREADY_INSTALLED_1}" != "true" ]; then
16
+ # node_modules outlives the image, so modules built against the previous major have to go.
17
+ if [ "${PNPM_ALREADY_RESET_1}" != "true" ]; then
48
18
  rm -rf $DEVC_WORKSPACE/node_modules
49
- bootcmd "Installing NPM packages" "pnpm install"
50
- pnpm install
51
19
 
52
- PNPM_ALREADY_INSTALLED_1="true"
20
+ PNPM_ALREADY_RESET_1="true"
53
21
  fi
54
22
 
55
23
  # The bundle volume outlives the image, so gems built against the previous Ruby have to go.
@@ -60,27 +28,20 @@ if [ "${GEMS_ALREADY_RESET_1}" != "true" ]; then
60
28
  GEMS_ALREADY_RESET_1="true"
61
29
  fi
62
30
 
63
- if [ "${BUNDLE_ALREADY_INSTALLED_2}" != "true" ]; then
64
- bootcmd "Installing gems" "bundle install"
65
- bundle install
66
- BUNDLE_ALREADY_INSTALLED_2="true"
67
- fi
68
-
69
- if [ "${CHANGELOG_DISPLAYED_7}" != "true" ]; then
31
+ if [ "${CHANGELOG_DISPLAYED_35}" != "true" ]; then
70
32
  if [ -f "/var/lib/smdevc/changelog" ]; then
71
33
  printf "\n"
72
34
  toilet -f term -t -F border:metal "Latest Changes"
73
35
  cat /var/lib/smdevc/changelog
74
36
  fi
75
37
 
76
- CHANGELOG_DISPLAYED_7="true"
38
+ CHANGELOG_DISPLAYED_35="true"
77
39
  fi
78
40
 
79
41
  echo -e "\
80
42
  GEMS_ALREADY_RESET_1=${GEMS_ALREADY_RESET_1}\n\
81
- BUNDLE_ALREADY_INSTALLED_2=${BUNDLE_ALREADY_INSTALLED_2}\n\
82
- PNPM_ALREADY_INSTALLED_1=${PNPM_ALREADY_INSTALLED_1}\n\
83
- CHANGELOG_DISPLAYED_7=${CHANGELOG_DISPLAYED_7}" > "${MARKER_FILE}"
43
+ PNPM_ALREADY_RESET_1=${PNPM_ALREADY_RESET_1}\n\
44
+ CHANGELOG_DISPLAYED_35=${CHANGELOG_DISPLAYED_35}" > "${MARKER_FILE}"
84
45
 
85
46
  printf "\n\n\e[38;2;252;163;17m"
86
47
  toilet -f standard "Config"
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  app:
3
- image: harbor.signmax.cloud/public/devcontainer:rails-4.0.6-30
3
+ image: harbor.signmax.cloud/public/devcontainer:35@sha256:c2c72d7655656ce2f6eae44047526f0fb8774115aab4d2907f78e28000c69611
4
4
  volumes:
5
5
  - ..:/workspaces/config:cached
6
6
  shm_size: "1gb"
data/CHANGELOG.md CHANGED
@@ -2,8 +2,15 @@
2
2
 
3
3
  ### Unreleased
4
4
 
5
+ - feat!: React 19
6
+
5
7
  ### [2.0.0] - 2026-08-12
6
8
 
9
+ - feat!: Support eslint 10 (`peerDependencies` widened to `^9.30.0 || ^10.0.0`); the pinned eslint plugins are all
10
+ eslint-10 compatible, and `@eslint/js` moved to 10.
11
+ - fix: Resolve the React version for `eslint-plugin-react` in this config instead of using its `version: "detect"`,
12
+ which crashes on eslint 10 (it calls the removed `context.getFilename()` — jsx-eslint/eslint-plugin-react#4018).
13
+ Detection is anchored on the linted project, so consumers keep version-accurate react rules.
7
14
  - feat!: Move all eslint/prettier plugins (and `@total-typescript/ts-reset`) from `peerDependencies` to `dependencies`;
8
15
  they now resolve from this package and consumers stop declaring them.
9
16
  - feat!: Shrink `peerDependencies` to ranged CLIs: `eslint ^9.30.0`, `prettier ^3.6.0`, `typescript >=5.9 <6.1`.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- skyltmax_config (2.0.0.beta.1)
4
+ skyltmax_config (3.0.0.beta.1)
5
5
  rubocop (>= 1.84.2, < 2)
6
6
  rubocop-performance (>= 1.26.0, < 2)
7
7
  rubocop-rails (>= 2.33.0, < 3)
@@ -9,7 +9,7 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (8.1.3)
12
+ activesupport (8.1.3.1)
13
13
  base64
14
14
  bigdecimal
15
15
  concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -24,52 +24,52 @@ GEM
24
24
  uri (>= 0.13.1)
25
25
  ast (2.4.3)
26
26
  base64 (0.3.0)
27
- bigdecimal (4.1.0)
28
- concurrent-ruby (1.3.6)
27
+ bigdecimal (4.1.2)
28
+ concurrent-ruby (1.3.8)
29
29
  connection_pool (3.0.2)
30
30
  drb (2.2.3)
31
- i18n (1.14.8)
31
+ i18n (1.15.2)
32
32
  concurrent-ruby (~> 1.0)
33
- json (2.19.3)
34
- language_server-protocol (3.17.0.5)
33
+ json (2.21.2)
34
+ language_server-protocol (3.17.0.6)
35
35
  lint_roller (1.1.0)
36
36
  logger (1.7.0)
37
- minitest (6.0.2)
37
+ minitest (6.0.6)
38
38
  drb (~> 2.0)
39
39
  prism (~> 1.5)
40
- parallel (1.27.0)
41
- parser (3.3.11.1)
40
+ parallel (2.1.0)
41
+ parser (3.3.12.0)
42
42
  ast (~> 2.4.1)
43
43
  racc
44
44
  prism (1.9.0)
45
45
  racc (1.8.1)
46
- rack (3.2.5)
46
+ rack (3.2.7)
47
47
  rainbow (3.1.1)
48
- rake (13.3.1)
49
- regexp_parser (2.11.3)
50
- rubocop (1.86.0)
48
+ rake (13.4.2)
49
+ regexp_parser (2.12.0)
50
+ rubocop (1.89.0)
51
51
  json (~> 2.3)
52
52
  language_server-protocol (~> 3.17.0.2)
53
53
  lint_roller (~> 1.1.0)
54
- parallel (~> 1.10)
54
+ parallel (>= 1.10)
55
55
  parser (>= 3.3.0.2)
56
56
  rainbow (>= 2.2.2, < 4.0)
57
57
  regexp_parser (>= 2.9.3, < 3.0)
58
58
  rubocop-ast (>= 1.49.0, < 2.0)
59
59
  ruby-progressbar (~> 1.7)
60
60
  unicode-display_width (>= 2.4.0, < 4.0)
61
- rubocop-ast (1.49.1)
61
+ rubocop-ast (1.50.0)
62
62
  parser (>= 3.3.7.2)
63
63
  prism (~> 1.7)
64
- rubocop-performance (1.26.1)
64
+ rubocop-performance (1.27.0)
65
65
  lint_roller (~> 1.1)
66
- rubocop (>= 1.75.0, < 2.0)
66
+ rubocop (>= 1.89.0, < 2.0)
67
67
  rubocop-ast (>= 1.47.1, < 2.0)
68
- rubocop-rails (2.34.3)
68
+ rubocop-rails (2.37.0)
69
69
  activesupport (>= 4.2.0)
70
70
  lint_roller (~> 1.1)
71
71
  rack (>= 1.1)
72
- rubocop (>= 1.75.0, < 2.0)
72
+ rubocop (>= 1.89.0, < 2.0)
73
73
  rubocop-ast (>= 1.44.0, < 2.0)
74
74
  ruby-progressbar (1.13.0)
75
75
  securerandom (0.4.1)
@@ -91,4 +91,4 @@ DEPENDENCIES
91
91
  skyltmax_config!
92
92
 
93
93
  BUNDLED WITH
94
- 4.0.6
94
+ 4.0.17
data/eslint.js CHANGED
@@ -1,3 +1,6 @@
1
+ import { createRequire } from "node:module"
2
+ import path from "node:path"
3
+
1
4
  import globals from "globals"
2
5
 
3
6
  const ERROR = "error"
@@ -8,6 +11,19 @@ const vitestFiles = ["**/__tests__/**/*", "**/*.test.*", "**/*.spec.*"]
8
11
  const testFiles = ["**/tests/**", "**/#tests/**", ...vitestFiles]
9
12
  const playwrightFiles = ["**/e2e/**"]
10
13
 
14
+ // eslint-plugin-react's own `version: "detect"` crashes on eslint 10: detection calls the context.getFilename() that
15
+ // eslint 10 removed (jsx-eslint/eslint-plugin-react#4018, fix unreleased as of 7.37.5). Resolve the version here and
16
+ // pass it explicitly instead. Anchored on the linted project's cwd, not this package, so a consumer's own React is
17
+ // what gets detected; falls back to the newest line when React isn't installed at all.
18
+ const reactVersion = (() => {
19
+ try {
20
+ const requireFromProject = createRequire(path.join(process.cwd(), "package.json"))
21
+ return requireFromProject("react/package.json").version
22
+ } catch {
23
+ return "19.0"
24
+ }
25
+ })()
26
+
11
27
  /** @type {import("eslint").Linter.Config[]} */
12
28
  export const config = [
13
29
  {
@@ -66,7 +82,7 @@ export const config = [
66
82
  },
67
83
  settings: {
68
84
  react: {
69
- version: "detect",
85
+ version: reactVersion,
70
86
  },
71
87
  formComponents: ["Form"],
72
88
  linkComponents: [
data/fixture/package.json CHANGED
@@ -7,6 +7,7 @@
7
7
  "engines": {
8
8
  "node": ">=24.0.0"
9
9
  },
10
+ "packageManager": "pnpm@11.22.0",
10
11
  "scripts": {
11
12
  "format": "prettier . --check",
12
13
  "lint": "eslint src --max-warnings=0",
@@ -14,9 +15,9 @@
14
15
  },
15
16
  "devDependencies": {
16
17
  "@signmax/config": "file:..",
17
- "eslint": "9.39.4",
18
- "prettier": "3.8.2",
19
- "typescript": "6.0.2"
18
+ "eslint": "10.8.1",
19
+ "prettier": "3.9.6",
20
+ "typescript": "6.0.3"
20
21
  },
21
22
  "prettier": "@signmax/config/prettier"
22
23
  }