@certd/basic 1.37.6 → 1.37.8

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
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.37.8](https://github.com/certd/certd/compare/v1.37.7...v1.37.8) (2025-11-17)
7
+
8
+ **Note:** Version bump only for package @certd/basic
9
+
10
+ ## [1.37.7](https://github.com/certd/certd/compare/v1.37.6...v1.37.7) (2025-11-12)
11
+
12
+ ### Performance Improvements
13
+
14
+ * 支持使用letencrypt测试环境申请ip证书 ([86ce00a](https://github.com/certd/certd/commit/86ce00adf92ff98fead87a3eaaa6631036708f47))
15
+
6
16
  ## [1.37.6](https://github.com/certd/certd/compare/v1.37.5...v1.37.6) (2025-11-10)
7
17
 
8
18
  **Note:** Version bump only for package @certd/basic
package/build.md CHANGED
@@ -1 +1 @@
1
- 00:42
1
+ 01:14
@@ -60,6 +60,9 @@ export declare const utils: {
60
60
  dayjs: typeof dayjs;
61
61
  domain: {
62
62
  match: (targetDomains: string | string[], inDomains: string[]) => boolean;
63
+ isIpv4: (d: string) => boolean;
64
+ isIpv6: (d: string) => boolean;
65
+ isIp: (d: string) => boolean;
63
66
  };
64
67
  options: {
65
68
  groupByDomain: (options: any[], inDomains: string[]) => {
@@ -1,5 +1,11 @@
1
1
  declare function match(targetDomains: string | string[], inDomains: string[]): boolean;
2
+ declare function isIpv4(d: string): boolean;
3
+ declare function isIpv6(d: string): boolean;
4
+ declare function isIp(d: string): boolean;
2
5
  export declare const domainUtils: {
3
6
  match: typeof match;
7
+ isIpv4: typeof isIpv4;
8
+ isIpv6: typeof isIpv6;
9
+ isIp: typeof isIp;
4
10
  };
5
11
  export {};
@@ -6,28 +6,28 @@ function match(targetDomains, inDomains) {
6
6
  if (!inDomains || inDomains.length == 0) {
7
7
  return false;
8
8
  }
9
- if (typeof targetDomains === 'string') {
9
+ if (typeof targetDomains === "string") {
10
10
  targetDomains = [targetDomains];
11
11
  }
12
12
  for (let targetDomain of targetDomains) {
13
13
  let matched = false;
14
- if (targetDomain.startsWith('.')) {
15
- targetDomain = '*' + targetDomain;
14
+ if (targetDomain.startsWith(".")) {
15
+ targetDomain = "*" + targetDomain;
16
16
  }
17
17
  for (let inDomain of inDomains) {
18
- if (inDomain.startsWith('.')) {
19
- inDomain = '*' + inDomain;
18
+ if (inDomain.startsWith(".")) {
19
+ inDomain = "*" + inDomain;
20
20
  }
21
21
  if (targetDomain === inDomain) {
22
22
  matched = true;
23
23
  break;
24
24
  }
25
- if (!inDomain.startsWith('*.')) {
25
+ if (!inDomain.startsWith("*.")) {
26
26
  //不可能匹配
27
27
  continue;
28
28
  }
29
29
  //子域名匹配通配符即可
30
- const firstDotIndex = targetDomain.indexOf('.');
30
+ const firstDotIndex = targetDomain.indexOf(".");
31
31
  const targetDomainSuffix = targetDomain.substring(firstDotIndex + 1);
32
32
  if (targetDomainSuffix === inDomain.substring(2)) {
33
33
  matched = true;
@@ -43,7 +43,30 @@ function match(targetDomains, inDomains) {
43
43
  //没有提前return 全部匹配上了
44
44
  return true;
45
45
  }
46
+ function isIpv4(d) {
47
+ if (!d) {
48
+ return false;
49
+ }
50
+ const isIPv4Regex = /^(\d{1,3}\.){3}\d{1,3}$/;
51
+ return isIPv4Regex.test(d);
52
+ }
53
+ function isIpv6(d) {
54
+ if (!d) {
55
+ return false;
56
+ }
57
+ const isIPv6Regex = /^([\da-f]{1,4}:){2,7}[\da-f]{1,4}$/i;
58
+ return isIPv6Regex.test(d);
59
+ }
60
+ function isIp(d) {
61
+ if (!d) {
62
+ return false;
63
+ }
64
+ return isIpv4(d) || isIpv6(d);
65
+ }
46
66
  export const domainUtils = {
47
67
  match,
68
+ isIpv4,
69
+ isIpv6,
70
+ isIp,
48
71
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kb21haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbC5kb21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLFNBQVMsS0FBSyxDQUFDLGFBQWdDLEVBQUUsU0FBbUI7SUFDbEUsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLGFBQWEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxLQUFLLElBQUksWUFBWSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxZQUFZLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUNwQyxDQUFDO1FBQ0QsS0FBSyxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLE1BQU07WUFDUixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTztnQkFDUCxTQUFTO1lBQ1gsQ0FBQztZQUNELFlBQVk7WUFDWixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxrQkFBa0IsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsY0FBYztRQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELGNBQWM7SUFDaEIsQ0FBQztJQUNELG1CQUFtQjtJQUNuQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsS0FBSztDQUNOLENBQUMifQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kb21haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbC5kb21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLFNBQVMsS0FBSyxDQUFDLGFBQWdDLEVBQUUsU0FBbUI7SUFDbEUsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLGFBQWEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxLQUFLLElBQUksWUFBWSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxZQUFZLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUNwQyxDQUFDO1FBQ0QsS0FBSyxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLE1BQU07WUFDUixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTztnQkFDUCxTQUFTO1lBQ1gsQ0FBQztZQUNELFlBQVk7WUFDWixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxrQkFBa0IsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsY0FBYztRQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELGNBQWM7SUFDaEIsQ0FBQztJQUNELG1CQUFtQjtJQUNuQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxDQUFTO0lBQ3ZCLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDO0lBQzlDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsQ0FBUztJQUN2QixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztJQUMxRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLENBQVM7SUFDckIsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sSUFBSTtDQUNMLENBQUMifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@certd/basic",
3
3
  "private": false,
4
- "version": "1.37.6",
4
+ "version": "1.37.8",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -46,5 +46,5 @@
46
46
  "tslib": "^2.8.1",
47
47
  "typescript": "^5.4.2"
48
48
  },
49
- "gitHead": "9fcdeca6920fc7d465e2443dab4f246d279f108b"
49
+ "gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
50
50
  }