@cplieger/reactive 1.0.0 → 1.0.2
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/jsr.json +8 -12
- package/package.json +9 -2
- package/.editorconfig +0 -19
- package/.htmlvalidate.json +0 -28
- package/.stylelintrc.json +0 -67
- package/cliff.toml +0 -37
- package/eslint.config.base.mjs +0 -187
package/jsr.json
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cplieger/reactive",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": "./src/index.ts"
|
|
6
6
|
},
|
|
7
7
|
"publish": {
|
|
8
|
+
"include": [
|
|
9
|
+
"LICENSE",
|
|
10
|
+
"README.md",
|
|
11
|
+
"src/**/*.ts"
|
|
12
|
+
],
|
|
8
13
|
"exclude": [
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"**/fc-strict-setup.ts",
|
|
12
|
-
"eslint.config.mjs",
|
|
13
|
-
"tsconfig.json",
|
|
14
|
-
"tsconfig.test.json",
|
|
15
|
-
"tsconfig.tests.json",
|
|
16
|
-
"vitest.config.ts",
|
|
17
|
-
"renovate.json",
|
|
18
|
-
"package-lock.json",
|
|
19
|
-
".prettierrc.json"
|
|
14
|
+
"src/**/*.test.ts",
|
|
15
|
+
"src/**/__test-helpers__/**"
|
|
20
16
|
]
|
|
21
17
|
}
|
|
22
18
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cplieger/reactive",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -31,5 +31,12 @@
|
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
|
33
33
|
"url": "git+https://github.com/cplieger/reactive.git"
|
|
34
|
-
}
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"src/",
|
|
37
|
+
"!src/**/*.test.ts",
|
|
38
|
+
"!src/**/__test-helpers__",
|
|
39
|
+
"!src/**/fc-strict-setup.ts",
|
|
40
|
+
"jsr.json"
|
|
41
|
+
]
|
|
35
42
|
}
|
package/.editorconfig
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
root = true
|
|
2
|
-
|
|
3
|
-
[*]
|
|
4
|
-
charset = utf-8
|
|
5
|
-
end_of_line = lf
|
|
6
|
-
insert_final_newline = true
|
|
7
|
-
trim_trailing_whitespace = true
|
|
8
|
-
indent_style = space
|
|
9
|
-
indent_size = 2
|
|
10
|
-
max_line_length = 100
|
|
11
|
-
|
|
12
|
-
[*.go]
|
|
13
|
-
indent_style = tab
|
|
14
|
-
|
|
15
|
-
[Makefile]
|
|
16
|
-
indent_style = tab
|
|
17
|
-
|
|
18
|
-
[*.md]
|
|
19
|
-
trim_trailing_whitespace = false
|
package/.htmlvalidate.json
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://html-validate.org/schemas/config.json",
|
|
3
|
-
"extends": [
|
|
4
|
-
"html-validate:recommended",
|
|
5
|
-
"html-validate:standard",
|
|
6
|
-
"html-validate:document",
|
|
7
|
-
"html-validate:a11y"
|
|
8
|
-
],
|
|
9
|
-
"rules": {
|
|
10
|
-
"no-inline-style": "error",
|
|
11
|
-
"no-trailing-whitespace": "error",
|
|
12
|
-
"no-style-tag": "error",
|
|
13
|
-
"tel-non-breaking": "error",
|
|
14
|
-
"valid-id": "error",
|
|
15
|
-
"class-pattern": ["error", { "pattern": "kebabcase" }],
|
|
16
|
-
"id-pattern": ["error", { "pattern": ["camelcase", "kebabcase"] }],
|
|
17
|
-
"heading-level": "error",
|
|
18
|
-
"no-implicit-close": "error",
|
|
19
|
-
"no-implicit-button-type": "error",
|
|
20
|
-
"no-implicit-input-type": "error",
|
|
21
|
-
"input-missing-label": "error",
|
|
22
|
-
"no-redundant-aria-label": "error",
|
|
23
|
-
"no-redundant-role": "error",
|
|
24
|
-
"no-redundant-for": "error",
|
|
25
|
-
"no-unused-disable": "error",
|
|
26
|
-
"require-sri": "off"
|
|
27
|
-
}
|
|
28
|
-
}
|
package/.stylelintrc.json
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/stylelintrc",
|
|
3
|
-
"extends": ["stylelint-config-standard"],
|
|
4
|
-
"defaultSeverity": "error",
|
|
5
|
-
"reportDescriptionlessDisables": true,
|
|
6
|
-
"reportInvalidScopeDisables": true,
|
|
7
|
-
"reportNeedlessDisables": true,
|
|
8
|
-
"reportUnscopedDisables": true,
|
|
9
|
-
"rules": {
|
|
10
|
-
"declaration-block-single-line-max-declarations": null,
|
|
11
|
-
"declaration-no-important": true,
|
|
12
|
-
"declaration-property-value-no-unknown": true,
|
|
13
|
-
"function-no-unknown": true,
|
|
14
|
-
"max-nesting-depth": [
|
|
15
|
-
4,
|
|
16
|
-
{
|
|
17
|
-
"ignore": ["blockless-at-rules", "pseudo-classes"]
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
"no-unknown-animations": true,
|
|
21
|
-
"no-unknown-custom-properties": true,
|
|
22
|
-
"number-max-precision": [
|
|
23
|
-
4,
|
|
24
|
-
{
|
|
25
|
-
"insideFunctions": {
|
|
26
|
-
"/^(oklch|oklab|lch|lab|color-mix)$/": 6
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"selector-max-id": 0,
|
|
31
|
-
"color-named": "never",
|
|
32
|
-
"color-hex-alpha": "never",
|
|
33
|
-
"font-weight-notation": "numeric",
|
|
34
|
-
"selector-no-qualifying-type": [
|
|
35
|
-
true,
|
|
36
|
-
{
|
|
37
|
-
"ignore": ["attribute", "class"]
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
"selector-max-compound-selectors": 5,
|
|
41
|
-
"selector-max-specificity": "0,4,3",
|
|
42
|
-
"selector-max-pseudo-class": 3,
|
|
43
|
-
"selector-max-attribute": 2,
|
|
44
|
-
"selector-max-combinators": 4,
|
|
45
|
-
"selector-max-universal": 1,
|
|
46
|
-
"time-min-milliseconds": 10,
|
|
47
|
-
"at-rule-no-vendor-prefix": true,
|
|
48
|
-
"property-no-vendor-prefix": [
|
|
49
|
-
true,
|
|
50
|
-
{
|
|
51
|
-
"ignoreProperties": ["text-size-adjust", "font-smoothing", "tap-highlight-color"]
|
|
52
|
-
}
|
|
53
|
-
],
|
|
54
|
-
"value-no-vendor-prefix": [
|
|
55
|
-
true,
|
|
56
|
-
{
|
|
57
|
-
"ignoreValues": ["box", "inline-box"]
|
|
58
|
-
}
|
|
59
|
-
],
|
|
60
|
-
"selector-no-vendor-prefix": true,
|
|
61
|
-
"media-feature-name-no-vendor-prefix": true,
|
|
62
|
-
"no-descending-specificity": null,
|
|
63
|
-
"no-duplicate-selectors": null,
|
|
64
|
-
"comment-empty-line-before": null,
|
|
65
|
-
"rule-empty-line-before": null
|
|
66
|
-
}
|
|
67
|
-
}
|
package/cliff.toml
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Version-bump policy. Stable (1.x+): standard semver.
|
|
2
|
-
# feat -> minor; breaking -> major.
|
|
3
|
-
# Fresh/untagged repos start at v1.0.0 (matches "0.x is the exception" policy).
|
|
4
|
-
[bump]
|
|
5
|
-
features_always_bump_minor = true
|
|
6
|
-
breaking_always_bump_major = true
|
|
7
|
-
initial_tag = "v1.0.0"
|
|
8
|
-
no_increment_regex = "^chore|^ci|^docs|^style|^test"
|
|
9
|
-
|
|
10
|
-
[changelog]
|
|
11
|
-
header = ""
|
|
12
|
-
body = """
|
|
13
|
-
{% for group, commits in commits | group_by(attribute="group") %}
|
|
14
|
-
### {{ group | upper_first }}
|
|
15
|
-
{% for commit in commits %}
|
|
16
|
-
- {{ commit.message | upper_first }}\
|
|
17
|
-
{% endfor %}
|
|
18
|
-
{% endfor %}
|
|
19
|
-
"""
|
|
20
|
-
trim = true
|
|
21
|
-
|
|
22
|
-
[git]
|
|
23
|
-
conventional_commits = true
|
|
24
|
-
filter_unconventional = false
|
|
25
|
-
split_commits = false
|
|
26
|
-
protect_breaking_commits = false
|
|
27
|
-
tag_pattern = "v[0-9].*"
|
|
28
|
-
|
|
29
|
-
commit_parsers = [
|
|
30
|
-
{ message = "^release:", skip = true },
|
|
31
|
-
{ message = "^feat", group = "Added" },
|
|
32
|
-
{ message = "^fix", group = "Fixed" },
|
|
33
|
-
{ message = "^sec", group = "Security" },
|
|
34
|
-
{ message = "^chore\\(deps\\)", group = "Dependencies" },
|
|
35
|
-
{ message = "^chore|^ci|^docs|^style|^refactor|^perf|^test", group = "Changed" },
|
|
36
|
-
{ message = ".*", group = "Changed" },
|
|
37
|
-
]
|
package/eslint.config.base.mjs
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
// Strict typed-linting config.
|
|
2
|
-
// References:
|
|
3
|
-
// https://typescript-eslint.io/users/configs/#strict-type-checked
|
|
4
|
-
// https://typescript-eslint.io/users/configs/#stylistic-type-checked
|
|
5
|
-
// https://typescript-eslint.io/getting-started/typed-linting
|
|
6
|
-
|
|
7
|
-
import js from "@eslint/js";
|
|
8
|
-
import tseslint from "typescript-eslint";
|
|
9
|
-
|
|
10
|
-
export default [
|
|
11
|
-
// 1. Ignore generated/build outputs and configs that don't need linting.
|
|
12
|
-
{
|
|
13
|
-
ignores: [
|
|
14
|
-
// Dependencies (any depth — vibekit's web/static-src/node_modules nests deep)
|
|
15
|
-
"**/node_modules/**",
|
|
16
|
-
// Build output / generated bundles (TS->JS, CSS bundles, etc.)
|
|
17
|
-
"**/static/**",
|
|
18
|
-
"**/static-src/dist/**",
|
|
19
|
-
"**/dist/**",
|
|
20
|
-
"**/build/**",
|
|
21
|
-
"**/.next/**",
|
|
22
|
-
"**/.cache/**",
|
|
23
|
-
"**/coverage/**",
|
|
24
|
-
// Minified / generated source
|
|
25
|
-
"**/*.min.*",
|
|
26
|
-
"**/*.gen.ts",
|
|
27
|
-
"**/*.gen.js",
|
|
28
|
-
"**/wire/*.gen.ts",
|
|
29
|
-
// Test fixtures that aren't real code
|
|
30
|
-
"**/test-stubs/**",
|
|
31
|
-
"**/__mocks__/**",
|
|
32
|
-
],
|
|
33
|
-
},
|
|
34
|
-
// 2. Strictest official preset combination (typed linting required).
|
|
35
|
-
js.configs.recommended,
|
|
36
|
-
...tseslint.configs.strictTypeChecked,
|
|
37
|
-
...tseslint.configs.stylisticTypeChecked,
|
|
38
|
-
|
|
39
|
-
// 3. Project setup — projectService auto-discovers tsconfig per file.
|
|
40
|
-
{
|
|
41
|
-
languageOptions: {
|
|
42
|
-
ecmaVersion: 2024,
|
|
43
|
-
sourceType: "module",
|
|
44
|
-
parserOptions: {
|
|
45
|
-
projectService: {
|
|
46
|
-
allowDefaultProject: ["*.test.ts", "*.property.test.ts", "fc-strict-setup.ts"],
|
|
47
|
-
maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: 20,
|
|
48
|
-
},
|
|
49
|
-
tsconfigRootDir: import.meta.dirname,
|
|
50
|
-
},
|
|
51
|
-
globals: {
|
|
52
|
-
// Browser
|
|
53
|
-
window: "readonly",
|
|
54
|
-
document: "readonly",
|
|
55
|
-
navigator: "readonly",
|
|
56
|
-
console: "readonly",
|
|
57
|
-
fetch: "readonly",
|
|
58
|
-
URL: "readonly",
|
|
59
|
-
URLSearchParams: "readonly",
|
|
60
|
-
setTimeout: "readonly",
|
|
61
|
-
clearTimeout: "readonly",
|
|
62
|
-
setInterval: "readonly",
|
|
63
|
-
clearInterval: "readonly",
|
|
64
|
-
requestAnimationFrame: "readonly",
|
|
65
|
-
cancelAnimationFrame: "readonly",
|
|
66
|
-
queueMicrotask: "readonly",
|
|
67
|
-
WebSocket: "readonly",
|
|
68
|
-
EventSource: "readonly",
|
|
69
|
-
AbortController: "readonly",
|
|
70
|
-
Headers: "readonly",
|
|
71
|
-
Request: "readonly",
|
|
72
|
-
Response: "readonly",
|
|
73
|
-
FormData: "readonly",
|
|
74
|
-
Blob: "readonly",
|
|
75
|
-
File: "readonly",
|
|
76
|
-
FileReader: "readonly",
|
|
77
|
-
IntersectionObserver: "readonly",
|
|
78
|
-
MutationObserver: "readonly",
|
|
79
|
-
ResizeObserver: "readonly",
|
|
80
|
-
CustomEvent: "readonly",
|
|
81
|
-
Event: "readonly",
|
|
82
|
-
EventTarget: "readonly",
|
|
83
|
-
TextEncoder: "readonly",
|
|
84
|
-
TextDecoder: "readonly",
|
|
85
|
-
crypto: "readonly",
|
|
86
|
-
btoa: "readonly",
|
|
87
|
-
atob: "readonly",
|
|
88
|
-
// Service Worker
|
|
89
|
-
self: "readonly",
|
|
90
|
-
ServiceWorkerGlobalScope: "readonly",
|
|
91
|
-
clients: "readonly",
|
|
92
|
-
// Test runner globals (vitest auto-injected)
|
|
93
|
-
describe: "readonly",
|
|
94
|
-
it: "readonly",
|
|
95
|
-
test: "readonly",
|
|
96
|
-
expect: "readonly",
|
|
97
|
-
beforeAll: "readonly",
|
|
98
|
-
beforeEach: "readonly",
|
|
99
|
-
afterAll: "readonly",
|
|
100
|
-
afterEach: "readonly",
|
|
101
|
-
vi: "readonly",
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
rules: {
|
|
105
|
-
// Allow `_`-prefixed unused names.
|
|
106
|
-
"@typescript-eslint/no-unused-vars": [
|
|
107
|
-
"error",
|
|
108
|
-
{
|
|
109
|
-
argsIgnorePattern: "^_",
|
|
110
|
-
varsIgnorePattern: "^_",
|
|
111
|
-
caughtErrorsIgnorePattern: "^_",
|
|
112
|
-
destructuredArrayIgnorePattern: "^_",
|
|
113
|
-
ignoreRestSiblings: true,
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
// Enforce `import type {...}` for types.
|
|
117
|
-
"@typescript-eslint/consistent-type-imports": [
|
|
118
|
-
"error",
|
|
119
|
-
{ prefer: "type-imports", fixStyle: "inline-type-imports" },
|
|
120
|
-
],
|
|
121
|
-
// Discourage `any`, prefer `unknown`.
|
|
122
|
-
"@typescript-eslint/no-explicit-any": "error",
|
|
123
|
-
// Avoid silent fall-through bugs in async event handlers.
|
|
124
|
-
"@typescript-eslint/no-misused-promises": [
|
|
125
|
-
"error",
|
|
126
|
-
{ checksVoidReturn: { attributes: false } },
|
|
127
|
-
],
|
|
128
|
-
// Prefer literal numeric/string template parts (catches accidental coercion).
|
|
129
|
-
"@typescript-eslint/restrict-template-expressions": [
|
|
130
|
-
"error",
|
|
131
|
-
{ allowNumber: true, allowBoolean: true, allowNullish: false },
|
|
132
|
-
],
|
|
133
|
-
// Console policy.
|
|
134
|
-
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
135
|
-
// Equality: enforce strict ===.
|
|
136
|
-
eqeqeq: ["error", "always", { null: "ignore" }],
|
|
137
|
-
curly: ["error", "all"],
|
|
138
|
-
"no-var": "error",
|
|
139
|
-
"prefer-const": "error",
|
|
140
|
-
"no-throw-literal": "error",
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
|
|
144
|
-
// 4. Tests: typed but with relaxed rules (tests deliberately break invariants).
|
|
145
|
-
{
|
|
146
|
-
files: [
|
|
147
|
-
"**/*.test.ts",
|
|
148
|
-
"**/*.fuzz.test.ts",
|
|
149
|
-
"**/*.property.test.ts",
|
|
150
|
-
"**/test-helpers/**",
|
|
151
|
-
"**/__mocks__/**",
|
|
152
|
-
],
|
|
153
|
-
rules: {
|
|
154
|
-
"@typescript-eslint/no-non-null-assertion": "off",
|
|
155
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
156
|
-
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
157
|
-
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
158
|
-
"@typescript-eslint/no-unsafe-call": "off",
|
|
159
|
-
"@typescript-eslint/no-unsafe-argument": "off",
|
|
160
|
-
"@typescript-eslint/no-unsafe-return": "off",
|
|
161
|
-
"@typescript-eslint/no-extraneous-class": "off",
|
|
162
|
-
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
163
|
-
"@typescript-eslint/no-misused-spread": "off",
|
|
164
|
-
"@typescript-eslint/unbound-method": "off",
|
|
165
|
-
"@typescript-eslint/require-await": "off",
|
|
166
|
-
"no-console": "off",
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
// 5. Generated and config files + tests: drop type-checked rules.
|
|
171
|
-
{
|
|
172
|
-
files: [
|
|
173
|
-
"**/*.gen.ts",
|
|
174
|
-
"**/wire/*.ts",
|
|
175
|
-
"vitest.config.ts",
|
|
176
|
-
"*.config.ts",
|
|
177
|
-
"*.config.mjs",
|
|
178
|
-
"*.config.js",
|
|
179
|
-
"**/*.test.ts",
|
|
180
|
-
"**/*.fuzz.test.ts",
|
|
181
|
-
"**/*.property.test.ts",
|
|
182
|
-
"fc-strict-setup.ts",
|
|
183
|
-
"test-stubs/**",
|
|
184
|
-
],
|
|
185
|
-
...tseslint.configs.disableTypeChecked,
|
|
186
|
-
},
|
|
187
|
-
];
|