@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 CHANGED
@@ -1,238 +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.3.0] - 2026-02-27
5
+ ### Major Changes
6
6
 
7
- ### Changed
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
@@ -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