BREAKING CHANGE(core): Refactor module entry point and update plugin imports; remove deprecated dnsly.plugins, update dependency versions, and adjust test imports

This commit is contained in:
Philipp Kunz 2025-05-27 11:31:12 +00:00
parent 34276f71ef
commit 24ed3bd238
12 changed files with 1217 additions and 2249 deletions

View File

@ -1,5 +1,14 @@
# Changelog # Changelog
## 2025-05-27 - 7.0.0 - BREAKING CHANGE(core)
Refactor module entry point and update plugin imports; remove deprecated dnsly.plugins, update dependency versions, and adjust test imports
- Changed module export in package.json from './dist_ts_server/index.js' to './dist_ts/index.js'
- Updated dependency versions, notably upgrading '@tsclass/tsclass' from 5.0.0 to 9.2.0 and updating tap bundles to '@git.zone/tstest' packages
- Removed the redundant ts_client/dnsly.plugins.ts file and replaced its usage with the updated ts_client/plugins.ts
- Adjusted test files to use export default tap.start() and updated import paths for tap bundles
- Added tspublish.json files in ts, ts_client, and ts_server directories to control publish order
## 2025-03-21 - 6.3.0 - feat(dns-server) ## 2025-03-21 - 6.3.0 - feat(dns-server)
Enhance DNS server functionality with advanced DNSSEC signing (supporting both ECDSA and ED25519), improved SSL certificate retrieval using Let's Encrypt, and refined handler management for cleaner shutdowns. Enhance DNS server functionality with advanced DNSSEC signing (supporting both ECDSA and ED25519), improved SSL certificate retrieval using Let's Encrypt, and refined handler management for cleaner shutdowns.

View File

@ -4,7 +4,7 @@
"private": false, "private": false,
"description": "A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.", "description": "A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.",
"exports": { "exports": {
".": "./dist_ts_server/index.js", ".": "./dist_ts/index.js",
"./server": "./dist_ts_server/index.js", "./server": "./dist_ts_server/index.js",
"./client": "./dist_ts_client/index.js" "./client": "./dist_ts_client/index.js"
}, },
@ -46,8 +46,7 @@
"@push.rocks/smartdelay": "^3.0.1", "@push.rocks/smartdelay": "^3.0.1",
"@push.rocks/smartenv": "^5.0.5", "@push.rocks/smartenv": "^5.0.5",
"@push.rocks/smartpromise": "^4.2.3", "@push.rocks/smartpromise": "^4.2.3",
"@push.rocks/smartrequest": "^2.0.23", "@tsclass/tsclass": "^9.2.0",
"@tsclass/tsclass": "^5.0.0",
"@types/dns-packet": "^5.6.5", "@types/dns-packet": "^5.6.5",
"@types/elliptic": "^6.4.18", "@types/elliptic": "^6.4.18",
"acme-client": "^5.4.0", "acme-client": "^5.4.0",
@ -56,11 +55,10 @@
"minimatch": "^10.0.1" "minimatch": "^10.0.1"
}, },
"devDependencies": { "devDependencies": {
"@git.zone/tsbuild": "^2.2.7", "@git.zone/tsbuild": "^2.6.4",
"@git.zone/tsrun": "^1.3.3", "@git.zone/tsrun": "^1.3.3",
"@git.zone/tstest": "^1.0.96", "@git.zone/tstest": "^2.3.1",
"@push.rocks/tapbundle": "^5.6.0", "@types/node": "^22.15.21"
"@types/node": "^22.13.10"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",
@ -77,5 +75,6 @@
"browserslist": [ "browserslist": [
"last 1 chrome versions" "last 1 chrome versions"
], ],
"type": "module" "type": "module",
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
} }

3406
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle'; import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as smartdns from '../ts_client/index.js'; import * as smartdns from '../ts_client/index.js';
@ -76,4 +76,4 @@ tap.test('should detect dns sec', async () => {
expect(result[0].dnsSecEnabled).toBeTrue(); expect(result[0].dnsSecEnabled).toBeTrue();
}); });
tap.start(); export default tap.start();

View File

@ -1,6 +1,6 @@
import * as plugins from '../ts_server/plugins.js'; import * as plugins from '../ts_server/plugins.js';
import { expect, tap } from '@push.rocks/tapbundle'; import { expect, tap } from '@git.zone/tstest/tapbundle';
import { tapNodeTools } from '@push.rocks/tapbundle/node'; import { tapNodeTools } from '@git.zone/tstest/tapbundle_node';
import { execSync } from 'child_process'; import { execSync } from 'child_process';
import * as dnsPacket from 'dns-packet'; import * as dnsPacket from 'dns-packet';
@ -644,4 +644,4 @@ tap.test('should stop the server', async () => {
dnsServer = null; dnsServer = null;
}); });
await tap.start(); export default tap.start();

8
ts/00_commitinfo_data.ts Normal file
View File

@ -0,0 +1,8 @@
/**
* autocreated commitinfo by @push.rocks/commitinfo
*/
export const commitinfo = {
name: '@push.rocks/smartdns',
version: '7.0.0',
description: 'A robust TypeScript library providing advanced DNS management and resolution capabilities including support for DNSSEC, custom DNS servers, and integration with various DNS providers.'
}

4
ts/index.ts Normal file
View File

@ -0,0 +1,4 @@
import * as dnsClientMod from '../dist_ts_client/index.js';
import * as dnsServerMod from '../dist_ts_server/index.js';
export { dnsClientMod, dnsServerMod };

3
ts/tspublish.json Normal file
View File

@ -0,0 +1,3 @@
{
"order": 3
}

View File

@ -1,4 +1,4 @@
import * as plugins from './dnsly.plugins.js'; import * as plugins from './plugins.js';
export type TDnsProvider = 'google' | 'cloudflare'; export type TDnsProvider = 'google' | 'cloudflare';

View File

@ -9,9 +9,8 @@ export { dns };
// pushrocks scope // pushrocks scope
import * as smartdelay from '@push.rocks/smartdelay'; import * as smartdelay from '@push.rocks/smartdelay';
import * as smartpromise from '@push.rocks/smartpromise'; import * as smartpromise from '@push.rocks/smartpromise';
import * as smartrequest from '@push.rocks/smartrequest';
export { smartdelay, smartenv, smartpromise, smartrequest }; export { smartdelay, smartenv, smartpromise };
import * as tsclass from '@tsclass/tsclass'; import * as tsclass from '@tsclass/tsclass';

3
ts_client/tspublish.json Normal file
View File

@ -0,0 +1,3 @@
{
"order": 2
}

3
ts_server/tspublish.json Normal file
View File

@ -0,0 +1,3 @@
{
"order": 1
}