Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4cf62fd91c | |||
| 8ee45c5646 | |||
| 12f1630adf | |||
| 0a349180b2 |
14
changelog.md
14
changelog.md
@@ -1,5 +1,19 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-11-28 - 7.0.5 - fix(package)
|
||||||
|
Add package exports entry and remove legacy main/typings fields
|
||||||
|
|
||||||
|
- Added an "exports" entry in package.json mapping "." to ./dist_ts/index.js to declare the package's ESM entrypoint.
|
||||||
|
- Removed legacy "main" and "typings" fields from package.json.
|
||||||
|
- Improves Node/module resolution and modern bundler compatibility by using the package exports field.
|
||||||
|
|
||||||
|
## 2025-11-28 - 7.0.4 - fix(decorators)
|
||||||
|
Add Symbol.metadata polyfill and import it at entry to ensure decorator metadata is available
|
||||||
|
|
||||||
|
- Add ts/shim.ts: defines Symbol.metadata when missing (polyfill for TC39 Stage 3 decorator metadata).
|
||||||
|
- Import './shim.js' at the very top of ts/index.ts so the polyfill runs before any decorator code or exports are evaluated.
|
||||||
|
- Prevents runtime errors when decorators rely on Symbol.metadata and improves compatibility across runtimes/environments.
|
||||||
|
|
||||||
## 2025-11-28 - 7.0.3 - fix(build)
|
## 2025-11-28 - 7.0.3 - fix(build)
|
||||||
Bump devDependency @git.zone/tsbuild to ^3.1.2
|
Bump devDependency @git.zone/tsbuild to ^3.1.2
|
||||||
|
|
||||||
|
|||||||
10
deno.lock
generated
10
deno.lock
generated
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": "5",
|
"version": "5",
|
||||||
"specifiers": {
|
"specifiers": {
|
||||||
"npm:@git.zone/tsbuild@^3.1.1": "3.1.1",
|
"npm:@git.zone/tsbuild@^3.1.2": "3.1.2",
|
||||||
"npm:@git.zone/tsrun@2": "2.0.0",
|
"npm:@git.zone/tsrun@2": "2.0.0",
|
||||||
"npm:@git.zone/tstest@^3.1.3": "3.1.3",
|
"npm:@git.zone/tstest@^3.1.3": "3.1.3",
|
||||||
"npm:@push.rocks/lik@^6.2.2": "6.2.2",
|
"npm:@push.rocks/lik@^6.2.2": "6.2.2",
|
||||||
@@ -1111,8 +1111,8 @@
|
|||||||
],
|
],
|
||||||
"tarball": "https://verdaccio.lossless.digital/@esm-bundle/chai/-/chai-4.3.4-fix.0.tgz"
|
"tarball": "https://verdaccio.lossless.digital/@esm-bundle/chai/-/chai-4.3.4-fix.0.tgz"
|
||||||
},
|
},
|
||||||
"@git.zone/tsbuild@3.1.1": {
|
"@git.zone/tsbuild@3.1.2": {
|
||||||
"integrity": "sha512-x2MxBu5vaGabWGLS2Rcu/75VDKRZ0F74x0wEzgWPEqG/z9+vFu+8E70FOHj/TZJdnrw0yLEL78dUartNdGqm3A==",
|
"integrity": "sha512-K0u840Qo0WEhvcpAtktvdBX6KEXjelU32o820WzcK7dMA7dd2YV+mPOEYfbmWLcdtFJkrjkigQq5fpLhTN4oKQ==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@git.zone/tspublish",
|
"@git.zone/tspublish",
|
||||||
"@push.rocks/early",
|
"@push.rocks/early",
|
||||||
@@ -1125,7 +1125,7 @@
|
|||||||
"typescript"
|
"typescript"
|
||||||
],
|
],
|
||||||
"bin": true,
|
"bin": true,
|
||||||
"tarball": "https://verdaccio.lossless.digital/@git.zone/tsbuild/-/tsbuild-3.1.1.tgz"
|
"tarball": "https://verdaccio.lossless.digital/@git.zone/tsbuild/-/tsbuild-3.1.2.tgz"
|
||||||
},
|
},
|
||||||
"@git.zone/tsbundle@2.6.1": {
|
"@git.zone/tsbundle@2.6.1": {
|
||||||
"integrity": "sha512-P1ER6A859GBY5mmC2hNro06O1w/vYCDt5XaetE4vsyJMlFSvWGXrKTxFpTdookZvntQyoXJglYsCPKEsy+OXWQ==",
|
"integrity": "sha512-P1ER6A859GBY5mmC2hNro06O1w/vYCDt5XaetE4vsyJMlFSvWGXrKTxFpTdookZvntQyoXJglYsCPKEsy+OXWQ==",
|
||||||
@@ -8369,7 +8369,7 @@
|
|||||||
"workspace": {
|
"workspace": {
|
||||||
"packageJson": {
|
"packageJson": {
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"npm:@git.zone/tsbuild@^3.1.1",
|
"npm:@git.zone/tsbuild@^3.1.2",
|
||||||
"npm:@git.zone/tsrun@2",
|
"npm:@git.zone/tsrun@2",
|
||||||
"npm:@git.zone/tstest@^3.1.3",
|
"npm:@git.zone/tstest@^3.1.3",
|
||||||
"npm:@push.rocks/lik@^6.2.2",
|
"npm:@push.rocks/lik@^6.2.2",
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartdata",
|
"name": "@push.rocks/smartdata",
|
||||||
"version": "7.0.3",
|
"version": "7.0.5",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.",
|
"description": "An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.",
|
||||||
"main": "dist_ts/index.js",
|
"exports": {
|
||||||
"typings": "dist_ts/index.d.ts",
|
".": "./dist_ts/index.js"
|
||||||
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "tstest test/ --verbose --logfile --timeout 120",
|
"test": "tstest test/ --verbose --logfile --timeout 120",
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartdata',
|
name: '@push.rocks/smartdata',
|
||||||
version: '7.0.3',
|
version: '7.0.5',
|
||||||
description: 'An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.'
|
description: 'An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
// Polyfill must be imported first - ES modules hoist exports before code runs
|
||||||
|
import './shim.js';
|
||||||
|
|
||||||
export * from './classes.db.js';
|
export * from './classes.db.js';
|
||||||
export * from './classes.collection.js';
|
export * from './classes.collection.js';
|
||||||
export * from './classes.doc.js';
|
export * from './classes.doc.js';
|
||||||
|
|||||||
6
ts/shim.ts
Normal file
6
ts/shim.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* Polyfill for Symbol.metadata required by TC39 Stage 3 decorators.
|
||||||
|
* Must be imported before any decorator code loads.
|
||||||
|
* @see https://github.com/tc39/proposal-decorator-metadata
|
||||||
|
*/
|
||||||
|
(Symbol as any).metadata ??= Symbol.for('Symbol.metadata');
|
||||||
Reference in New Issue
Block a user