snapse 0.0.0-stage → 0.9.0

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.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1169 -2
  3. package/dist/DOM/domFunctions.d.ts +12 -0
  4. package/dist/DOM/elements/DOMElements.d.ts +141 -0
  5. package/dist/DOM/elements/SVGElements.d.ts +65 -0
  6. package/dist/DOM/elements/elementAttributeTypes.d.ts +100 -0
  7. package/dist/DOM/nodeControllers/ComponentController.d.ts +10 -0
  8. package/dist/DOM/nodeControllers/ElementController.d.ts +14 -0
  9. package/dist/DOM/nodeControllers/NodeController.d.ts +81 -0
  10. package/dist/DOM/nodeControllers/RootController.d.ts +12 -0
  11. package/dist/DOM/nodeControllers/SVGElementController.d.ts +4 -0
  12. package/dist/DOM/nodeControllers/StateController.d.ts +43 -0
  13. package/dist/DOM/server/serialize.d.ts +2 -0
  14. package/dist/DOM/server/serverNodes.d.ts +41 -0
  15. package/dist/DOM/types.d.ts +84 -0
  16. package/dist/DOM/util/RenderError.d.ts +10 -0
  17. package/dist/DOM/util/childShape.d.ts +7 -0
  18. package/dist/DOM/util/deferredNodes.d.ts +7 -0
  19. package/dist/DOM/util/domNode.d.ts +2 -0
  20. package/dist/DOM/util/moveBeforeSupport.d.ts +1 -0
  21. package/dist/DOM/util/nodeCount.d.ts +2 -0
  22. package/dist/DOM/util/util.d.ts +2 -0
  23. package/dist/DOM.d.ts +4 -0
  24. package/dist/SVG.d.ts +3 -0
  25. package/dist/common/computeMutation.d.ts +16 -0
  26. package/dist/common/dev.d.ts +1 -0
  27. package/dist/common/shorthands.d.ts +1 -0
  28. package/dist/common/undoUtils.d.ts +1 -0
  29. package/dist/common/util.d.ts +4 -0
  30. package/dist/index.d.ts +7 -0
  31. package/dist/lint/index.d.ts +7 -0
  32. package/dist/lint/index.js +8 -0
  33. package/dist/lint/noBooleanStateArgument.d.ts +2 -0
  34. package/dist/lint/noBooleanStateArgument.js +43 -0
  35. package/dist/lint/noStateTruthiness.d.ts +2 -0
  36. package/dist/lint/noStateTruthiness.js +92 -0
  37. package/dist/lint/stateTypes.d.ts +4 -0
  38. package/dist/lint/stateTypes.js +14 -0
  39. package/dist/server.d.ts +2 -0
  40. package/dist/snapse.DOM.cjs +1 -0
  41. package/dist/snapse.DOM.development.cjs +115 -0
  42. package/dist/snapse.DOM.development.js +1 -0
  43. package/dist/snapse.SVG.cjs +1 -0
  44. package/dist/snapse.SVG.development.cjs +66 -0
  45. package/dist/snapse.SVG.development.js +1 -0
  46. package/dist/snapse.SVG.js +1 -0
  47. package/dist/snapse.cjs +1 -0
  48. package/dist/snapse.development.cjs +13 -0
  49. package/dist/snapse.development.js +1 -0
  50. package/dist/snapse.js +75 -0
  51. package/dist/snapse.server.cjs +1 -0
  52. package/dist/snapse.server.development.cjs +3 -0
  53. package/dist/snapse.server.development.js +1 -0
  54. package/dist/snapseCore-Bc8ZDYHa.cjs +1 -0
  55. package/dist/snapseCore-DpadpXgD.js +3002 -0
  56. package/dist/snapseCore-Xfnvf03Z.cjs +4135 -0
  57. package/dist/state/common/refCountAndType.d.ts +8 -0
  58. package/dist/state/common/stateProperty.d.ts +1 -0
  59. package/dist/state/compute.d.ts +2 -0
  60. package/dist/state/state.d.ts +39 -0
  61. package/dist/state/stateInternals/LightState.d.ts +20 -0
  62. package/dist/state/stateInternals/internalFunctions.d.ts +13 -0
  63. package/dist/state/stateInternals/notify.d.ts +7 -0
  64. package/dist/state/stateInternals/poison.d.ts +4 -0
  65. package/dist/state/stateInternals/stateUpdate.d.ts +9 -0
  66. package/dist/state/subscribeChanges.d.ts +2 -0
  67. package/dist/state/transforms/CallbackTransform.d.ts +13 -0
  68. package/dist/state/transforms/ChainFunctionTransform.d.ts +8 -0
  69. package/dist/state/transforms/ChangeAggregateTransform.d.ts +20 -0
  70. package/dist/state/transforms/ChangeCallbackTransform.d.ts +5 -0
  71. package/dist/state/transforms/ComputeTransform.d.ts +4 -0
  72. package/dist/state/transforms/DOMRootTransform.d.ts +8 -0
  73. package/dist/state/transforms/FunctionTransform.d.ts +5 -0
  74. package/dist/state/transforms/IsTransform.d.ts +25 -0
  75. package/dist/state/transforms/LightStateFunctionTransform.d.ts +3 -0
  76. package/dist/state/transforms/MapArrayTransform.d.ts +10 -0
  77. package/dist/state/transforms/MapValueTransform.d.ts +3 -0
  78. package/dist/state/transforms/OptTransform.d.ts +10 -0
  79. package/dist/state/transforms/PromiseTransform.d.ts +6 -0
  80. package/dist/state/transforms/SubscribeTransform.d.ts +13 -0
  81. package/dist/state/transforms/Transform.d.ts +35 -0
  82. package/dist/state/transforms/transforms.d.ts +30 -0
  83. package/dist/state/types/stateTypes.d.ts +175 -0
  84. package/dist/state/types/types.d.ts +35 -0
  85. package/dist/undo/undo.d.ts +39 -0
  86. package/package.json +141 -4
package/package.json CHANGED
@@ -1,6 +1,143 @@
1
1
  {
2
2
  "name": "snapse",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.9.0",
4
+ "homepage": "https://snapse.org",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/snapsejs/snapse.git"
8
+ },
9
+ "bugs": {
10
+ "url": "https://github.com/snapsejs/snapse/issues"
11
+ },
12
+ "description": "A small runtime-reactive framework for interactive web UIs, pairing fine-grained state with DOM-element components.",
13
+ "keywords": [
14
+ "reactive",
15
+ "state-management",
16
+ "dom",
17
+ "framework",
18
+ "ui",
19
+ "components",
20
+ "frontend",
21
+ "typescript",
22
+ "fine-grained-reactivity",
23
+ "signals"
24
+ ],
25
+ "license": "MIT",
26
+ "author": "Johan Rönnblom <johan@ronnblom.net>",
27
+ "engines": {
28
+ "node": ">=18"
29
+ },
30
+ "type": "module",
31
+ "main": "./dist/snapse.cjs",
32
+ "module": "./dist/snapse.js",
33
+ "types": "./dist/index.d.ts",
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "development": {
38
+ "import": "./dist/snapse.development.js",
39
+ "require": "./dist/snapse.development.cjs"
40
+ },
41
+ "import": "./dist/snapse.js",
42
+ "require": "./dist/snapse.cjs"
43
+ },
44
+ "./DOM": {
45
+ "types": "./dist/DOM.d.ts",
46
+ "development": {
47
+ "import": "./dist/snapse.DOM.development.js",
48
+ "require": "./dist/snapse.DOM.development.cjs"
49
+ },
50
+ "import": "./dist/snapse.js",
51
+ "require": "./dist/snapse.DOM.cjs"
52
+ },
53
+ "./SVG": {
54
+ "types": "./dist/SVG.d.ts",
55
+ "development": {
56
+ "import": "./dist/snapse.SVG.development.js",
57
+ "require": "./dist/snapse.SVG.development.cjs"
58
+ },
59
+ "import": "./dist/snapse.SVG.js",
60
+ "require": "./dist/snapse.SVG.cjs"
61
+ },
62
+ "./server": {
63
+ "types": "./dist/server.d.ts",
64
+ "development": {
65
+ "import": "./dist/snapse.server.development.js",
66
+ "require": "./dist/snapse.server.development.cjs"
67
+ },
68
+ "import": "./dist/snapse.js",
69
+ "require": "./dist/snapse.server.cjs"
70
+ },
71
+ "./lint": {
72
+ "types": "./dist/lint/index.d.ts",
73
+ "import": "./dist/lint/index.js"
74
+ }
75
+ },
76
+ "peerDependencies": {
77
+ "@typescript-eslint/utils": "^8.0.0",
78
+ "typescript": ">=5.0.0"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "@typescript-eslint/utils": {
82
+ "optional": true
83
+ },
84
+ "typescript": {
85
+ "optional": true
86
+ }
87
+ },
88
+ "files": [
89
+ "dist",
90
+ "!dist/**/*.map",
91
+ "!dist/snapse.cc.input.js"
92
+ ],
93
+ "scripts": {
94
+ "dev": "vite",
95
+ "prebuild": "rm -rf dist",
96
+ "build": "vite build && npm run build:cc-input && npm run closurecompile && npm run build:svg-entry && vite build --mode development && npm run build:lint",
97
+ "preview": "vite preview",
98
+ "lint": "tsc --noEmit && npx eslint --config config/eslint.config.js . --ext .ts",
99
+ "lintfix": "npx eslint --config config/eslint.config.js --fix . --ext .ts",
100
+ "build:readme": "node scripts/buildReadme.mjs",
101
+ "check:readme": "node scripts/buildReadme.mjs --check",
102
+ "test": "vitest",
103
+ "test:run": "vitest run",
104
+ "test:bench": "BENCH=1 vitest run --reporter=verbose bench.test.ts",
105
+ "test:ratio": "node scripts/testByteShare.mjs",
106
+ "coverage": "vitest run --coverage",
107
+ "buildtest": "CC_BUILD=true vitest run",
108
+ "undobench:memory": "BENCH=1 vitest run src/undo/benchmarks/memoryUsage.bench.test.ts --reporter=verbose",
109
+ "undobench:heap": "BENCH=1 vitest run src/undo/benchmarks/heapComposition.bench.test.ts --reporter=verbose",
110
+ "undobench": "npm run undobench:memory && npm run undobench:heap",
111
+ "stryker": "stryker run config/stryker.config.json",
112
+ "closurecompile": "node scripts/closureCompile.mjs",
113
+ "build:cc-input": "CC_PREBUILD=true vite build",
114
+ "build:svg-entry": "node scripts/buildSvgEntry.mjs",
115
+ "build:lint": "tsc --ignoreConfig --rewriteRelativeImportExtensions lint/index.ts --outDir dist/lint --declaration --module nodenext --target es2021 --skipLibCheck",
116
+ "makezip": "node scripts/makeTarball.mjs",
117
+ "verify": "npm run check:readme && npm run lint && npm run test:run && npm run build && npm run buildtest",
118
+ "verify:pack": "node scripts/verifyPackage.mjs",
119
+ "prepublishOnly": "npm run verify && npm run verify:pack"
120
+ },
121
+ "devDependencies": {
122
+ "@eslint/js": "9.31.0",
123
+ "@stryker-mutator/core": "10.0.0",
124
+ "@stryker-mutator/vitest-runner": "10.0.0",
125
+ "@stylistic/eslint-plugin": "5.10.0",
126
+ "@types/jsdom": "28.0.0",
127
+ "@typescript-eslint/eslint-plugin": "8.58.1",
128
+ "@typescript-eslint/utils": "8.58.1",
129
+ "@vitest/coverage-v8": "4.1.0",
130
+ "eslint": "9.31.0",
131
+ "eslint-import-resolver-typescript": "4.4.4",
132
+ "eslint-plugin-import": "2.32.0",
133
+ "globals": "14.0.0",
134
+ "google-closure-compiler": "20260610.0.0",
135
+ "google-closure-compiler-macos": "20260610.0.0",
136
+ "jsdom": "29.0.0",
137
+ "typescript": "6.0.2",
138
+ "typescript-eslint": "8.58.1",
139
+ "vite": "8.3.4",
140
+ "vite-plugin-dts": "4.5.4",
141
+ "vitest": "4.1.0"
142
+ }
143
+ }