@vicin/sigil 3.4.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 CHANGED
@@ -1,255 +1,7 @@
1
- # Changelog
1
+ # @vicin/sigil
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ ## 4.0.0
4
4
 
5
- ## [3.4.0] - 2026-02-28
5
+ ### Major Changes
6
6
 
7
- ### Changed
8
-
9
- - Updated internal logic to handle edge-cases
10
- - Edge cases part added to tests
11
- - Updated README.md
12
-
13
- ### Added
14
-
15
- - `AttachSigil` / `attachSigil` which are `WithSigil` / `withSigil` renamed for clarity
16
-
17
- ### Deprecated
18
-
19
- - `WithSigil` / `withSigil` renamed for clarity. old names will be removed in v4
20
- - `SigilLabelSet` / `getSigilLabelSet` methods to minimize api surface and bundle size as they are redundant (internall 'new Set(this.SigilLabelLineage)' only). will be removed in v4
21
-
22
- ## [3.3.0] - 2026-02-27
23
-
24
- ### Changed
25
-
26
- - Label registry now stores user defined labels only, and `getSigilLabels` has no `includeAuto` argument any more
27
-
28
- ### Added
29
-
30
- - Options `skipLabelUniquenessCheck` is added to avoid false-positive HMR throws
31
-
32
- ## [3.2.1] - 2026-02-27
33
-
34
- ### Changed
35
-
36
- - Updated README.md
37
-
38
- ## [3.2.0] - 2026-02-27
39
-
40
- ### Added
41
-
42
- - `RECOMMENDED_LABEL_REGEX` is the same as `DEFAULT_LABEL_REGEX` but renamed for clarity
43
- - `getSigilLabels` to get registered sigil labels
44
-
45
- ### Deprecated
46
-
47
- - `DEFAULT_LABEL_REGEX` is deprecated use `RECOMMENDED_LABEL_REGEX` instead, will be removed in v4
48
-
49
- ## [3.1.4] - 2026-02-26
50
-
51
- ### Changed
52
-
53
- - Updated description in `package.json`
54
-
55
- ## [3.1.3] - 2026-02-26
56
-
57
- ### Changed
58
-
59
- - Patched type tests where `sigil` should be imported as type only
60
-
61
- ## [3.1.2] - 2026-02-26
62
-
63
- ### Changed
64
-
65
- - Patched README.md
66
-
67
- ### Added
68
-
69
- - `GetPrototype<T>` helper to get type of class instance in `protected` or `private` classes
70
-
71
- ### Removed
72
-
73
- - `isSigilified` method in `Sigil` class as it's redundant and separate check function is present
74
-
75
- ## [3.1.1] - 2026-02-25
76
-
77
- ### Changed
78
-
79
- - Updated README.md
80
-
81
- ## [3.1.0] - 2026-02-25
82
-
83
- ### Added
84
-
85
- - `isExactType` is added to check for exact instances (children are ingored as well)
86
-
87
- ### Removed
88
-
89
- - `SigilOptions.skipLabelInheritanceCheck` is removed.
90
- - `isOfTypeStrict` is removed.
91
-
92
- ## [3.0.0] - 2026-02-24
93
-
94
- ### Added
95
-
96
- - `sigil` symbol used for type-only nominal branding of classes
97
-
98
- ### Changed
99
-
100
- - `__SIGIL_BRAND__` is classes replaced with `sigil` symbol
101
-
102
- ### Removed
103
-
104
- - `withSigilTyped` is removed as library moved into manual branding
105
-
106
- ### Breaking changes
107
-
108
- - `withSigilTyped` is removed as library moved into manual branding
109
- - `SigilBrandOf` is renamed to `SigilOf`
110
- - `UpdateSigilBrand` is renamed to `ExtendSigil`
111
-
112
- ## [2.2.1] - 2026-02-23
113
-
114
- ### Added
115
-
116
- - `SigilEffectiveLabel`/`getSigilEffectiveLabel()` which are last passed label for logging purposes.
117
-
118
- ### Changed
119
-
120
- - Patched multiple bugs.
121
- - Updated defualt options, now `SigilOptions.autofillLabels` is `true` by default.
122
-
123
- ## [2.1.0] - 2026-02-22
124
-
125
- ### Changed
126
-
127
- - Changed name of `updateOptions` to be `updateSigilOptions`
128
- - Updated JSDOCs of multiple APIs
129
-
130
- ## [2.0.3] - 2026-02-21
131
-
132
- - Patched types
133
-
134
- ## [2.0.2] - 2026-02-21
135
-
136
- ### Changed
137
-
138
- - Patched types
139
-
140
- ## [2.0.1] - 2026-02-21
141
-
142
- ### Removed
143
-
144
- - `updateOptions.devMarker`
145
-
146
- ### Changed
147
-
148
- - Now dev checks are internal only
149
-
150
- ## [2.0.0] - 2026-02-20
151
-
152
- ### Breaking changes
153
-
154
- - All `SigilRegistry`options, methods and classes are removed
155
-
156
- ## [1.3.0] - 2026-02-18
157
-
158
- ### Added
159
-
160
- - `isOfType()` & `isOfTypeStrict()` now can be called from instances
161
-
162
- ## [1.2.7] - 2026-02-13
163
-
164
- ### Added
165
-
166
- - Support for `abstract` classes using `SigilifyAbstract` factory
167
-
168
- ## [1.2.6] - 2026-02-11
169
-
170
- ### Changed
171
-
172
- - Fixed type bug in 'isOfType'
173
-
174
- ## [1.2.5] - 2026-02-10
175
-
176
- ### Changed
177
-
178
- - Documentation updates (README)
179
-
180
- ## [1.2.4] - 2026-02-10
181
-
182
- **Stable release**
183
-
184
- ### Changed
185
-
186
- - Documentation updates (README)
187
-
188
- ## [1.2.3] - 2026-02-10
189
-
190
- ### Changed
191
-
192
- - Documentation updates (README)
193
-
194
- ## [1.2.2] - 2026-02-10
195
-
196
- ### Changed
197
-
198
- - Documentation updates (README and JSDOCs)
199
-
200
- ## [1.2.1] - 2026-02-10
201
-
202
- ### Added
203
-
204
- - Re-introduced 'ISigilStatic' and 'ISigilIntance' types
205
-
206
- ## [1.2.0] - 2026-02-10
207
-
208
- ### Added
209
-
210
- - Added new typing method (decorator with brand field update)
211
- - Added type to exported base classes
212
-
213
- ### Changed
214
-
215
- - Simplified types
216
- - Fix type bug in `Sigilify`
217
- - Updated `Sigilify` to return typed class directly
218
- - Fix options propagation bug
219
-
220
- ### Deprecated
221
-
222
- - `typed` higher order function as it has no use-case anymore
223
- - `typed` will be removed in v2.0.0
224
-
225
- ## [1.1.1] - 2026-02-09
226
-
227
- ### Changed
228
-
229
- - Improved package build outputs to make sure it support multiple JavaScript module systems (ESM and CommonJS).
230
- - Updated build configuration to ensure correct usage in different runtimes and bundlers.
231
-
232
- ## [1.1.0] - 2026-02-08
233
-
234
- ### Added
235
-
236
- - `SigilRegistry` class
237
- - `getActiveRegistry()` helper
238
- - Registry-related options in `updateOptions`
239
-
240
- ### Deprecated
241
-
242
- - `REGISTRY` constant (use `SigilRegistry` instead)
243
- - `REGISTRY` will be removed in v2.0.0.
244
-
245
- ## [1.0.1] - 2026-02-07
246
-
247
- ### Changed
248
-
249
- - Documentation updates (README)
250
-
251
- ## [1.0.0] - 2026-02-07
252
-
253
- ### Added
254
-
255
- - Initial release with core features
7
+ - 08a7dbf: Moved toward minimal set with updated APIs
@@ -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
- Copyright (c) 2026 Ziad Taha and contributors
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