From 40cae220d050052ff2f06f649ed6f0b228135562 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Wed, 30 Apr 2025 12:59:20 +0000 Subject: [PATCH] fix(Dns01Handler): Update dependency versions and refine Dns01Handler implementation --- changelog.md | 8 ++ package.json | 8 +- pnpm-lock.yaml | 154 ++++++++++++++++++++++++------------ ts/00_commitinfo_data.ts | 2 +- ts/handlers/Dns01Handler.ts | 10 ++- ts/smartacme.plugins.ts | 5 ++ 6 files changed, 127 insertions(+), 60 deletions(-) diff --git a/changelog.md b/changelog.md index e0d3fd2..a2c847f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 2025-04-30 - 6.1.3 - fix(Dns01Handler) +Update dependency versions and refine Dns01Handler implementation + +- Bump '@apiclient.xyz/cloudflare' to ^6.4.1 and '@tsclass/tsclass' to ^9.1.0 in package.json +- Remove duplicate Cloudflare import in smartacme.plugins.ts +- Refactor Dns01Handler to use IConvenientDnsProvider and add checkWetherDomainIsSupported method +- Align devDependencies versions for improved consistency + ## 2025-04-27 - 6.1.2 - fix(repo) Update repository metadata by replacing the LICENSE file with a license.md file for improved consistency. diff --git a/package.json b/package.json index 9480997..bbcedf0 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "homepage": "https://code.foss.global/push.rocks/smartacme#readme", "dependencies": { "@api.global/typedserver": "^3.0.74", + "@apiclient.xyz/cloudflare": "^6.4.1", "@push.rocks/lik": "^6.2.2", "@push.rocks/smartdata": "^5.15.1", "@push.rocks/smartdelay": "^3.0.5", @@ -50,17 +51,16 @@ "@push.rocks/smartstring": "^4.0.15", "@push.rocks/smarttime": "^4.1.1", "@push.rocks/smartunique": "^3.0.9", - "@tsclass/tsclass": "^9.0.0", + "@tsclass/tsclass": "^9.1.0", "acme-client": "^5.4.0" }, "devDependencies": { - "@apiclient.xyz/cloudflare": "^6.3.2", "@git.zone/tsbuild": "^2.3.2", "@git.zone/tsrun": "^1.3.3", "@git.zone/tstest": "^1.0.96", "@push.rocks/qenv": "^6.1.0", - "@push.rocks/tapbundle": "^5.6.3", - "@types/node": "^22.15.2" + "@push.rocks/tapbundle": "^6.0.0", + "@types/node": "^22.15.3" }, "files": [ "ts/**/*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca93254..1bfa8de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@api.global/typedserver': specifier: ^3.0.74 version: 3.0.74 + '@apiclient.xyz/cloudflare': + specifier: ^6.4.1 + version: 6.4.1 '@push.rocks/lik': specifier: ^6.2.2 version: 6.2.2 @@ -42,15 +45,12 @@ importers: specifier: ^3.0.9 version: 3.0.9 '@tsclass/tsclass': - specifier: ^9.0.0 - version: 9.0.0 + specifier: ^9.1.0 + version: 9.1.0 acme-client: specifier: ^5.4.0 version: 5.4.0 devDependencies: - '@apiclient.xyz/cloudflare': - specifier: ^6.3.2 - version: 6.3.2 '@git.zone/tsbuild': specifier: ^2.3.2 version: 2.3.2 @@ -64,11 +64,11 @@ importers: specifier: ^6.1.0 version: 6.1.0 '@push.rocks/tapbundle': - specifier: ^5.6.3 - version: 5.6.3(@aws-sdk/credential-providers@3.797.0)(socks@2.8.4) + specifier: ^6.0.0 + version: 6.0.0(@aws-sdk/credential-providers@3.797.0)(socks@2.8.4) '@types/node': - specifier: ^22.15.2 - version: 22.15.2 + specifier: ^22.15.3 + version: 22.15.3 packages: @@ -87,8 +87,8 @@ packages: '@api.global/typedsocket@3.0.1': resolution: {integrity: sha512-xojiAVNXtHoxkpBo8U2HHJG8FrVXXuLvDNndSHXwx4C9VslUwDn5zSCI+PdBl8iAg+ZuBmKjqkpZZ9sL6DC5yQ==} - '@apiclient.xyz/cloudflare@6.3.2': - resolution: {integrity: sha512-u5ud25tR1epNVgAPtL2t1qZ7FOGsLhID4zAzwcIQQTqmBb43US0fkI/I+JjIW0uyHi12AI4gWez2ke2nAR4+pw==} + '@apiclient.xyz/cloudflare@6.4.1': + resolution: {integrity: sha512-RYFphnbunjK+Imq/3ynIQpAvIGBJ38kqSZ2nrpTm26zsBIxW7S6xEe3zhXfVMtUIgC99OL3Xr/SGXl3CNBwCug==} '@aws-crypto/crc32@5.2.0': resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} @@ -821,6 +821,9 @@ packages: '@push.rocks/smartexpect@1.6.1': resolution: {integrity: sha512-NFQXEPkGiMNxyvFwKyzDWe3ADYdf8KNvIcV7TGNZZT3uPQtk65te4Q+a1cWErjP/61yE9XdYiQA66QQp+TV9IQ==} + '@push.rocks/smartexpect@2.2.2': + resolution: {integrity: sha512-s2zJlLc6Wub7P/jgKSM51kW2UjslxQwx2BXoyJVO95OgiOwarde0AuxPR0lfRA/FvHdBfTmJf4upiWtcjYMB/Q==} + '@push.rocks/smartfeed@1.0.11': resolution: {integrity: sha512-02uhXxQamgfBo3T12FsAdfyElnpoWuDUb08B2AE60DbIaukVx/7Mi17xwobApY1flNSr5StZDt8N8vxPhBhIXw==} @@ -956,6 +959,9 @@ packages: '@push.rocks/tapbundle@5.6.3': resolution: {integrity: sha512-hFzsf59rg1K70i45llj7PCyyCZp7JW19XRR+Q1gge1T0pBN8Wi53aYqP/2qtxdMiNVe2s3ESp6VJZv3sLOMYPQ==} + '@push.rocks/tapbundle@6.0.0': + resolution: {integrity: sha512-ARIs189TysvI8EsPAC7LH6O0WbBYI9E7XxdihwmM6LRgLvzAbp1agfO6lOjpKrAYWKjT3KdlUEihilxOBrgTYQ==} + '@push.rocks/taskbuffer@3.1.7': resolution: {integrity: sha512-QktGVJPucqQmW/QNGnscf4FAigT1H7JWKFGFdRuDEaOHKFh9qN+PXG3QY7DtZ4jfXdGLxPN4yAufDuPSAJYFnw==} @@ -1336,8 +1342,8 @@ packages: '@tsclass/tsclass@8.2.1': resolution: {integrity: sha512-bRDCfJTipsTcK6eEokWdsOR1mGCQFeM7zTg6PRHzbxTWQcWQD9AhEr2q3CrPcmAbvIS7fvkO6/pU/mPm1MZxhQ==} - '@tsclass/tsclass@9.0.0': - resolution: {integrity: sha512-QuV2WKzi3p1ONq0UR+hNulG62D6vRPJxOXunWvN9zpWx6Uj70DKntMu8nqEIWUPgL3UKIPe7GN8l6mPCdxdcEg==} + '@tsclass/tsclass@9.1.0': + resolution: {integrity: sha512-PkG1bXK/bqVtxaRHje+iJHjtcdRHLHrNTOkzqh+jv2A7mgiyNo2YBJIl4eEJLkw1X3FwEFU4vCAtsegSmJgRug==} '@types/accepts@1.3.7': resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} @@ -1499,8 +1505,8 @@ packages: '@types/node@18.19.87': resolution: {integrity: sha512-OIAAu6ypnVZHmsHCeJ+7CCSub38QNBS9uceMQeg7K5Ur0Jr+wG9wEOEvvMbhp09pxD5czIUy/jND7s7Tb6Nw7A==} - '@types/node@22.15.2': - resolution: {integrity: sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==} + '@types/node@22.15.3': + resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} '@types/parse5@6.0.3': resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} @@ -4189,6 +4195,10 @@ packages: resolution: {integrity: sha512-ABHZ2/tS2JkvH1PEjxFDTUWC8dB5OsIGZP4IFLhR293GqT5Y5qB1WwL2kMPYhQW9DVgVD8Hd7I8gjwPIf5GFkw==} engines: {node: '>=16'} + type-fest@4.40.1: + resolution: {integrity: sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==} + engines: {node: '>=16'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -4510,14 +4520,14 @@ snapshots: - utf-8-validate - vue - '@apiclient.xyz/cloudflare@6.3.2': + '@apiclient.xyz/cloudflare@6.4.1': dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.0.7 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartstring': 4.0.15 - '@tsclass/tsclass': 5.0.0 + '@tsclass/tsclass': 9.1.0 cloudflare: 4.2.0 transitivePeerDependencies: - encoding @@ -5399,7 +5409,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -5820,6 +5830,12 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 fast-deep-equal: 3.1.3 + '@push.rocks/smartexpect@2.2.2': + dependencies: + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartpromise': 4.2.3 + fast-deep-equal: 3.1.3 + '@push.rocks/smartfeed@1.0.11': dependencies: '@tsclass/tsclass': 3.0.48 @@ -6224,6 +6240,38 @@ snapshots: - supports-color - utf-8-validate + '@push.rocks/tapbundle@6.0.0(@aws-sdk/credential-providers@3.797.0)(socks@2.8.4)': + dependencies: + '@open-wc/testing': 4.0.0 + '@push.rocks/consolecolor': 2.0.2 + '@push.rocks/qenv': 6.1.0 + '@push.rocks/smartcrypto': 2.0.4 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartenv': 5.0.12 + '@push.rocks/smartexpect': 2.2.2 + '@push.rocks/smartfile': 11.2.0 + '@push.rocks/smartjson': 5.0.20 + '@push.rocks/smartmongo': 2.0.12(@aws-sdk/credential-providers@3.797.0)(socks@2.8.4) + '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrequest': 2.1.0 + '@push.rocks/smarts3': 2.2.5 + '@push.rocks/smartshell': 3.2.3 + '@push.rocks/smarttime': 4.1.1 + expect: 29.7.0 + transitivePeerDependencies: + - '@aws-sdk/credential-providers' + - '@mongodb-js/zstd' + - aws-crt + - bufferutil + - gcp-metadata + - kerberos + - mongodb-client-encryption + - snappy + - socks + - supports-color + - utf-8-validate + '@push.rocks/taskbuffer@3.1.7': dependencies: '@push.rocks/lik': 6.2.2 @@ -6800,24 +6848,24 @@ snapshots: dependencies: type-fest: 4.40.0 - '@tsclass/tsclass@9.0.0': + '@tsclass/tsclass@9.1.0': dependencies: - type-fest: 4.40.0 + type-fest: 4.40.1 '@types/accepts@1.3.7': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/babel__code-frame@7.0.6': {} '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/buffer-json@2.0.3': {} @@ -6833,17 +6881,17 @@ snapshots: '@types/clean-css@4.2.11': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 source-map: 0.6.1 '@types/co-body@6.1.3': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/qs': 6.9.18 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/content-disposition@0.5.8': {} @@ -6854,11 +6902,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 5.0.1 '@types/keygrip': 1.0.6 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/cors@2.8.17': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/debounce@1.2.4': {} @@ -6872,7 +6920,7 @@ snapshots: '@types/dns-packet@5.6.5': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/elliptic@6.4.18': dependencies: @@ -6880,7 +6928,7 @@ snapshots: '@types/express-serve-static-core@5.0.6': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -6897,30 +6945,30 @@ snapshots: '@types/from2@2.3.5': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/gunzip-maybe@1.4.2': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/hast@3.0.4': dependencies: @@ -6954,7 +7002,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/keygrip@1.0.6': {} @@ -6971,7 +7019,7 @@ snapshots: '@types/http-errors': 2.0.4 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/mdast@4.0.4': dependencies: @@ -6989,18 +7037,18 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 form-data: 4.0.2 '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/node@18.19.87': dependencies: undici-types: 5.26.5 - '@types/node@22.15.2': + '@types/node@22.15.3': dependencies: undici-types: 6.21.0 @@ -7018,19 +7066,19 @@ snapshots: '@types/s3rver@3.7.4': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/semver@7.7.0': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/send': 0.17.4 '@types/sinon-chai@3.2.12': @@ -7050,11 +7098,11 @@ snapshots: '@types/tar-stream@2.2.3': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/through2@2.0.41': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/triple-beam@1.3.5': {} @@ -7078,18 +7126,18 @@ snapshots: '@types/whatwg-url@8.2.2': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/webidl-conversions': 7.0.3 '@types/which@3.0.4': {} '@types/ws@7.4.7': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 '@types/yargs-parser@21.0.3': {} @@ -7099,7 +7147,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.15.2 + '@types/node': 22.15.3 optional: true '@ungap/structured-clone@1.3.0': {} @@ -7775,7 +7823,7 @@ snapshots: engine.io@6.6.4: dependencies: '@types/cors': 2.8.17 - '@types/node': 22.15.2 + '@types/node': 22.15.3 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -8579,7 +8627,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.2 + '@types/node': 22.15.3 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10172,6 +10220,8 @@ snapshots: type-fest@4.40.0: {} + type-fest@4.40.1: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 6120065..36552bd 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartacme', - version: '6.1.2', + version: '6.1.3', description: 'A TypeScript-based ACME client for LetsEncrypt certificate management with a focus on simplicity and power.' } diff --git a/ts/handlers/Dns01Handler.ts b/ts/handlers/Dns01Handler.ts index 3cc2328..fade514 100644 --- a/ts/handlers/Dns01Handler.ts +++ b/ts/handlers/Dns01Handler.ts @@ -5,14 +5,14 @@ import type { IChallengeHandler } from './IChallengeHandler.js'; * DNS-01 challenge handler using CloudflareAccount and Smartdns. */ export class Dns01Handler implements IChallengeHandler { - private cf: any; + private cf: plugins.tsclass.network.IConvenientDnsProvider; private smartdns: plugins.smartdnsClient.Smartdns; constructor( - cloudflareAccount: any, + convenientDnsProvider: plugins.tsclass.network.IConvenientDnsProvider, smartdnsInstance?: plugins.smartdnsClient.Smartdns, ) { - this.cf = cloudflareAccount; + this.cf = convenientDnsProvider; this.smartdns = smartdnsInstance ?? new plugins.smartdnsClient.Smartdns({}); } @@ -37,4 +37,8 @@ export class Dns01Handler implements IChallengeHandler { + return this.cf.convenience.isDomainSupported(domainArg); + } } \ No newline at end of file diff --git a/ts/smartacme.plugins.ts b/ts/smartacme.plugins.ts index 73797d6..5306a75 100644 --- a/ts/smartacme.plugins.ts +++ b/ts/smartacme.plugins.ts @@ -1,3 +1,8 @@ +// @apiclient.xyz scope +import * as cloudflare from '@apiclient.xyz/cloudflare'; + +export { cloudflare }; + // @apiglobal scope import * as typedserver from '@api.global/typedserver';