@vicin/sigil 3.3.0 → 4.0.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.
- package/CHANGELOG.md +4 -235
- package/CONTRIBUTING.md +24 -0
- package/LICENSE +3 -1
- package/README.md +199 -204
- package/dist/index.cjs +269 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +374 -0
- package/dist/index.d.ts +86 -258
- package/dist/index.global.js +113 -367
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +110 -376
- package/dist/index.js.map +1 -1
- package/package.json +43 -59
- package/dist/index.d.mts +0 -546
- package/dist/index.mjs +0 -510
- package/dist/index.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,238 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @vicin/sigil
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 4.0.0
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### Major Changes
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- Label registry now stores user defined labels only, and `getSigilLabels` has no `includeAuto` argument any more
|
|
10
|
-
|
|
11
|
-
### Added
|
|
12
|
-
|
|
13
|
-
- Options `skipLabelUniquenessCheck` is added to avoid false-positive HMR throws
|
|
14
|
-
|
|
15
|
-
## [3.2.1] - 2026-02-27
|
|
16
|
-
|
|
17
|
-
### Changed
|
|
18
|
-
|
|
19
|
-
- Updated README.md
|
|
20
|
-
|
|
21
|
-
## [3.2.0] - 2026-02-27
|
|
22
|
-
|
|
23
|
-
### Added
|
|
24
|
-
|
|
25
|
-
- `RECOMMENDED_LABEL_REGEX` is the same as `DEFAULT_LABEL_REGEX` but renamed for clarity
|
|
26
|
-
- `getSigilLabels` to get registered sigil labels
|
|
27
|
-
|
|
28
|
-
### Deprecated
|
|
29
|
-
|
|
30
|
-
- `DEFAULT_LABEL_REGEX` is deprecated and will be removed in v4, use `RECOMMENDED_LABEL_REGEX` instead
|
|
31
|
-
|
|
32
|
-
## [3.1.4] - 2026-02-26
|
|
33
|
-
|
|
34
|
-
### Changed
|
|
35
|
-
|
|
36
|
-
- Updated description in `package.json`
|
|
37
|
-
|
|
38
|
-
## [3.1.3] - 2026-02-26
|
|
39
|
-
|
|
40
|
-
### Changed
|
|
41
|
-
|
|
42
|
-
- Patched type tests where `sigil` should be imported as type only
|
|
43
|
-
|
|
44
|
-
## [3.1.2] - 2026-02-26
|
|
45
|
-
|
|
46
|
-
### Changed
|
|
47
|
-
|
|
48
|
-
- Patched README.md
|
|
49
|
-
|
|
50
|
-
### Added
|
|
51
|
-
|
|
52
|
-
- `GetPrototype<T>` helper to get type of class instance in `protected` or `private` classes
|
|
53
|
-
|
|
54
|
-
### Removed
|
|
55
|
-
|
|
56
|
-
- `isSigilified` method in `Sigil` class as it's redundant and separate check function is present
|
|
57
|
-
|
|
58
|
-
## [3.1.1] - 2026-02-25
|
|
59
|
-
|
|
60
|
-
### Changed
|
|
61
|
-
|
|
62
|
-
- Updated README.md
|
|
63
|
-
|
|
64
|
-
## [3.1.0] - 2026-02-25
|
|
65
|
-
|
|
66
|
-
### Added
|
|
67
|
-
|
|
68
|
-
- `isExactType` is added to check for exact instances (children are ingored as well)
|
|
69
|
-
|
|
70
|
-
### Removed
|
|
71
|
-
|
|
72
|
-
- `SigilOptions.skipLabelInheritanceCheck` is removed.
|
|
73
|
-
- `isOfTypeStrict` is removed.
|
|
74
|
-
|
|
75
|
-
## [3.0.0] - 2026-02-24
|
|
76
|
-
|
|
77
|
-
### Added
|
|
78
|
-
|
|
79
|
-
- `sigil` symbol used for type-only nominal branding of classes
|
|
80
|
-
|
|
81
|
-
### Changed
|
|
82
|
-
|
|
83
|
-
- `__SIGIL_BRAND__` is classes replaced with `sigil` symbol
|
|
84
|
-
|
|
85
|
-
### Removed
|
|
86
|
-
|
|
87
|
-
- `withSigilTyped` is removed as library moved into manual branding
|
|
88
|
-
|
|
89
|
-
### Breaking changes
|
|
90
|
-
|
|
91
|
-
- `withSigilTyped` is removed as library moved into manual branding
|
|
92
|
-
- `SigilBrandOf` is renamed to `SigilOf`
|
|
93
|
-
- `UpdateSigilBrand` is renamed to `ExtendSigil`
|
|
94
|
-
|
|
95
|
-
## [2.2.1] - 2026-02-23
|
|
96
|
-
|
|
97
|
-
### Added
|
|
98
|
-
|
|
99
|
-
- `SigilEffectiveLabel`/`getSigilEffectiveLabel()` which are last passed label for logging purposes.
|
|
100
|
-
|
|
101
|
-
### Changed
|
|
102
|
-
|
|
103
|
-
- Patched multiple bugs.
|
|
104
|
-
- Updated defualt options, now `SigilOptions.autofillLabels` is `true` by default.
|
|
105
|
-
|
|
106
|
-
## [2.1.0] - 2026-02-22
|
|
107
|
-
|
|
108
|
-
### Changed
|
|
109
|
-
|
|
110
|
-
- Changed name of `updateOptions` to be `updateSigilOptions`
|
|
111
|
-
- Updated JSDOCs of multiple APIs
|
|
112
|
-
|
|
113
|
-
## [2.0.3] - 2026-02-21
|
|
114
|
-
|
|
115
|
-
- Patched types
|
|
116
|
-
|
|
117
|
-
## [2.0.2] - 2026-02-21
|
|
118
|
-
|
|
119
|
-
### Changed
|
|
120
|
-
|
|
121
|
-
- Patched types
|
|
122
|
-
|
|
123
|
-
## [2.0.1] - 2026-02-21
|
|
124
|
-
|
|
125
|
-
### Removed
|
|
126
|
-
|
|
127
|
-
- `updateOptions.devMarker`
|
|
128
|
-
|
|
129
|
-
### Changed
|
|
130
|
-
|
|
131
|
-
- Now dev checks are internal only
|
|
132
|
-
|
|
133
|
-
## [2.0.0] - 2026-02-20
|
|
134
|
-
|
|
135
|
-
### Breaking changes
|
|
136
|
-
|
|
137
|
-
- All `SigilRegistry`options, methods and classes are removed
|
|
138
|
-
|
|
139
|
-
## [1.3.0] - 2026-02-18
|
|
140
|
-
|
|
141
|
-
### Added
|
|
142
|
-
|
|
143
|
-
- `isOfType()` & `isOfTypeStrict()` now can be called from instances
|
|
144
|
-
|
|
145
|
-
## [1.2.7] - 2026-02-13
|
|
146
|
-
|
|
147
|
-
### Added
|
|
148
|
-
|
|
149
|
-
- Support for `abstract` classes using `SigilifyAbstract` factory
|
|
150
|
-
|
|
151
|
-
## [1.2.6] - 2026-02-11
|
|
152
|
-
|
|
153
|
-
### Changed
|
|
154
|
-
|
|
155
|
-
- Fixed type bug in 'isOfType'
|
|
156
|
-
|
|
157
|
-
## [1.2.5] - 2026-02-10
|
|
158
|
-
|
|
159
|
-
### Changed
|
|
160
|
-
|
|
161
|
-
- Documentation updates (README)
|
|
162
|
-
|
|
163
|
-
## [1.2.4] - 2026-02-10
|
|
164
|
-
|
|
165
|
-
**Stable release**
|
|
166
|
-
|
|
167
|
-
### Changed
|
|
168
|
-
|
|
169
|
-
- Documentation updates (README)
|
|
170
|
-
|
|
171
|
-
## [1.2.3] - 2026-02-10
|
|
172
|
-
|
|
173
|
-
### Changed
|
|
174
|
-
|
|
175
|
-
- Documentation updates (README)
|
|
176
|
-
|
|
177
|
-
## [1.2.2] - 2026-02-10
|
|
178
|
-
|
|
179
|
-
### Changed
|
|
180
|
-
|
|
181
|
-
- Documentation updates (README and JSDOCs)
|
|
182
|
-
|
|
183
|
-
## [1.2.1] - 2026-02-10
|
|
184
|
-
|
|
185
|
-
### Added
|
|
186
|
-
|
|
187
|
-
- Re-introduced 'ISigilStatic' and 'ISigilIntance' types
|
|
188
|
-
|
|
189
|
-
## [1.2.0] - 2026-02-10
|
|
190
|
-
|
|
191
|
-
### Added
|
|
192
|
-
|
|
193
|
-
- Added new typing method (decorator with brand field update)
|
|
194
|
-
- Added type to exported base classes
|
|
195
|
-
|
|
196
|
-
### Changed
|
|
197
|
-
|
|
198
|
-
- Simplified types
|
|
199
|
-
- Fix type bug in `Sigilify`
|
|
200
|
-
- Updated `Sigilify` to return typed class directly
|
|
201
|
-
- Fix options propagation bug
|
|
202
|
-
|
|
203
|
-
### Deprecated
|
|
204
|
-
|
|
205
|
-
- `typed` higher order function as it has no use-case anymore
|
|
206
|
-
- `typed` will be removed in v2.0.0
|
|
207
|
-
|
|
208
|
-
## [1.1.1] - 2026-02-09
|
|
209
|
-
|
|
210
|
-
### Changed
|
|
211
|
-
|
|
212
|
-
- Improved package build outputs to make sure it support multiple JavaScript module systems (ESM and CommonJS).
|
|
213
|
-
- Updated build configuration to ensure correct usage in different runtimes and bundlers.
|
|
214
|
-
|
|
215
|
-
## [1.1.0] - 2026-02-08
|
|
216
|
-
|
|
217
|
-
### Added
|
|
218
|
-
|
|
219
|
-
- `SigilRegistry` class
|
|
220
|
-
- `getActiveRegistry()` helper
|
|
221
|
-
- Registry-related options in `updateOptions`
|
|
222
|
-
|
|
223
|
-
### Deprecated
|
|
224
|
-
|
|
225
|
-
- `REGISTRY` constant (use `SigilRegistry` instead)
|
|
226
|
-
- `REGISTRY` will be removed in v2.0.0.
|
|
227
|
-
|
|
228
|
-
## [1.0.1] - 2026-02-07
|
|
229
|
-
|
|
230
|
-
### Changed
|
|
231
|
-
|
|
232
|
-
- Documentation updates (README)
|
|
233
|
-
|
|
234
|
-
## [1.0.0] - 2026-02-07
|
|
235
|
-
|
|
236
|
-
### Added
|
|
237
|
-
|
|
238
|
-
- Initial release with core features
|
|
7
|
+
- 08a7dbf: Moved toward minimal set with updated APIs
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Contributing to Sigil
|
|
2
|
+
|
|
3
|
+
Thanks for your interest! We welcome contributions.
|
|
4
|
+
|
|
5
|
+
## How to Contribute
|
|
6
|
+
|
|
7
|
+
- **Issues**: Report bugs or suggest features via GitHub Issues. Use templates if possible.
|
|
8
|
+
- **Pull Requests (PRs)**:
|
|
9
|
+
1. Fork the repo and create a branch: `git checkout -b feature/my-new-feature`.
|
|
10
|
+
2. Commit changes: Follow conventional commits (e.g., "feat: add new ValueObject").
|
|
11
|
+
3. Push and open a PR against `develop` branch.
|
|
12
|
+
4. Describe changes, link to issues, and add tests.
|
|
13
|
+
- **Code Style**: Use Prettier/ESLint.
|
|
14
|
+
- **Tests**: All PRs must pass unit tests.
|
|
15
|
+
- **License**: By contributing, you agree to MIT license.
|
|
16
|
+
|
|
17
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
- Clone: `git clone https://github.com/ZiadTaha62/vicin-packages.git`
|
|
20
|
+
- Install: `pnpm install`
|
|
21
|
+
- Build: `pnpm run build --filter @vicin/sigil`
|
|
22
|
+
- Test: `pnpm run test --filter @vicin/sigil` coverage should be `>90%` of lines.
|
|
23
|
+
|
|
24
|
+
Questions? Open an issue!
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ziad Taha and vicin contributors
|
|
2
4
|
|
|
3
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
6
|
|