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 +4 -4
- data/.devcontainer/boot.sh +7 -46
- data/.devcontainer/docker-compose.yml +1 -1
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +21 -21
- data/eslint.js +17 -1
- data/fixture/package.json +4 -3
- data/fixture/pnpm-lock.yaml +693 -826
- data/fixture/pnpm-workspace.yaml +4 -0
- data/lib/skyltmax_config/version.rb +1 -1
- data/package.json +19 -18
- data/pnpm-lock.yaml +1150 -1698
- data/pnpm-workspace.yaml +7 -0
- data/skyltmax_config.gemspec +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f551fa54ae3fc20ceb290e8336375723845f8243bf876d6f554e892a5ffc3d96
|
|
4
|
+
data.tar.gz: a284c72546620297c153039a6e10e0e3a19413b78395ddacc05a2fc19bc87a16
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4c317fdf35669ae761443b9f6a308d9a7f711008f767327583f01274604d29d6ee03e14121c7841b8c79ab1dad5ea53d6825590634a3457cea0cd48bd1d99506
|
|
7
|
+
data.tar.gz: 288ffb81e61a897ab46263c26f0cf2cf7242f66f7fbc3e7aded273f457d119967743b7ca9f36fd9d594990170fef8fe2123054be7cef4e606485053e28fc0c15
|
data/.devcontainer/boot.sh
CHANGED
|
@@ -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
|
-
#
|
|
40
|
-
|
|
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
|
-
|
|
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 [ "${
|
|
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
|
-
|
|
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
|
-
|
|
82
|
-
|
|
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:
|
|
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 (
|
|
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.
|
|
28
|
-
concurrent-ruby (1.3.
|
|
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.
|
|
31
|
+
i18n (1.15.2)
|
|
32
32
|
concurrent-ruby (~> 1.0)
|
|
33
|
-
json (2.
|
|
34
|
-
language_server-protocol (3.17.0.
|
|
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.
|
|
37
|
+
minitest (6.0.6)
|
|
38
38
|
drb (~> 2.0)
|
|
39
39
|
prism (~> 1.5)
|
|
40
|
-
parallel (1.
|
|
41
|
-
parser (3.3.
|
|
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.
|
|
46
|
+
rack (3.2.7)
|
|
47
47
|
rainbow (3.1.1)
|
|
48
|
-
rake (13.
|
|
49
|
-
regexp_parser (2.
|
|
50
|
-
rubocop (1.
|
|
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 (
|
|
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.
|
|
61
|
+
rubocop-ast (1.50.0)
|
|
62
62
|
parser (>= 3.3.7.2)
|
|
63
63
|
prism (~> 1.7)
|
|
64
|
-
rubocop-performance (1.
|
|
64
|
+
rubocop-performance (1.27.0)
|
|
65
65
|
lint_roller (~> 1.1)
|
|
66
|
-
rubocop (>= 1.
|
|
66
|
+
rubocop (>= 1.89.0, < 2.0)
|
|
67
67
|
rubocop-ast (>= 1.47.1, < 2.0)
|
|
68
|
-
rubocop-rails (2.
|
|
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.
|
|
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.
|
|
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:
|
|
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": "
|
|
18
|
-
"prettier": "3.
|
|
19
|
-
"typescript": "6.0.
|
|
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
|
}
|