@aidc-toolkit/dev 0.9.17-beta → 0.9.19-beta

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/README.md CHANGED
@@ -2,27 +2,23 @@
2
2
 
3
3
  **Copyright © 2024-2025 Dolphin Data Development Ltd. and AIDC Toolkit contributors**
4
4
 
5
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
6
- License. You may obtain a copy of the License at
5
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
7
6
 
8
- https://www.apache.org/licenses/LICENSE-2.0
7
+ https://www.apache.org/licenses/LICENSE-2.0
9
8
 
10
- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
11
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
9
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
12
10
 
13
11
  ## Overview
14
12
 
15
- ⚠️ **This software is in beta**, with production release is scheduled for 2024Q4. To follow the status of that and other
16
- projects, go to the AIDC Toolkit [projects](https://github.com/orgs/aidc-toolkit/projects) page.
13
+ > [!WARNING]
14
+ >
15
+ > **This software is in beta**, with production release is scheduled for 2025Q4. To follow the status of this and other projects, go to the AIDC Toolkit [projects](https://github.com/orgs/aidc-toolkit/projects) page.
17
16
 
18
- The AIDC Toolkit `dev` package contains development artefacts only; it is not intended to be used as anything other than
19
- a development dependency.
17
+ The AIDC Toolkit `dev` package contains development artefacts only; it is not intended to be used as anything other than a development dependency.
20
18
 
21
19
  ## TypeScript Configuration
22
20
 
23
- All AIDC Toolkit packages are expected to be built the same way, which implies that they all have the same TypeScript
24
- configuration. This is supported by the [`tsconfig.json` file](tsconfig.json) in this package. Core changes should be managed
25
- in that file, with other packages declaring their own `tsconfig.json` as follows:
21
+ All AIDC Toolkit packages are expected to be built the same way, which implies that they all have the same TypeScript configuration. This is supported by the [`tsconfig.json` file](tsconfig.json) in this package. Core changes should be managed in that file, with other packages declaring their own `tsconfig.json` as follows:
26
22
 
27
23
  ```json
28
24
  {
@@ -34,10 +30,7 @@ Options specific to the package may override or supplement core options if requi
34
30
 
35
31
  ## ESLint Configuration
36
32
 
37
- All AIDC Toolkit packages are expected to follow a common coding style (enforced by [ESLint](https://eslint.org/)),
38
- which implies that they all have the same ESLint configuration. This is supported by the [`eslint-config-template.ts`
39
- file](src/eslint-config-template.ts) in this package. Core changes should be managed in that file, with other packages
40
- declaring their own `eslint.config.ts` file as follows:
33
+ All AIDC Toolkit packages are expected to follow a common coding style (enforced by [ESLint](https://eslint.org/)), which implies that they all have the same ESLint configuration. This is supported by the [`eslint-config-template.ts` file](src/eslint-config-template.ts) in this package. Core changes should be managed in that file, with other packages declaring their own `eslint.config.ts` file as follows:
41
34
 
42
35
  ```typescript
43
36
  import { esLintConfigAIDCToolkit } from "@aidc-toolkit/dev";
@@ -45,21 +38,17 @@ import { esLintConfigAIDCToolkit } from "@aidc-toolkit/dev";
45
38
  export default esLintConfigAIDCToolkit;
46
39
  ```
47
40
 
48
- Rules specific to the package may override or supplement core rules if required. If so, the `eslint.config.ts` file
49
- should be declared as follows:
41
+ Rules specific to the package may override or supplement core rules if required. If so, the `eslint.config.ts` file should be declared as follows:
50
42
 
51
43
  ```typescript
52
- import tseslint from "typescript-eslint";
53
44
  import { esLintConfigAIDCToolkit } from "@aidc-toolkit/dev";
45
+ import { defineConfig } from "eslint/config";
54
46
  // Additional imports here as required.
55
47
  // ...
56
48
 
57
- export default tseslint.config(
49
+ export default defineConfig([
58
50
  ...esLintConfigAIDCToolkit,
59
51
  // Additional rules here as required.
60
52
  // ...
61
53
  );
62
54
  ```
63
-
64
- ESLint requires the installation of the `eslint` and `jiti` packages as development dependencies. Other development
65
- dependencies may be required if overriding or supplementing the core rules.
@@ -3,51 +3,48 @@
3
3
  "repositories": {
4
4
  "dev": {
5
5
  "dependencyType": "external",
6
- "excludeFiles": [
7
- "src/publish.ts",
8
- "src/publish-internal.ts",
9
- "src/publish-external.ts",
10
- "config/publish.json",
11
- "config/publish.secure.json"
6
+ "excludePaths": [
7
+ "src/publish/",
8
+ "config/publish.json"
12
9
  ],
13
- "lastExternalVersion": "0.9.16-beta",
14
- "lastInternalPublished": "2025-03-02T19:42:30.219Z"
10
+ "lastBetaPublished": "2025-06-09T02:29:43.810Z"
15
11
  },
16
12
  "core": {
17
13
  "dependencyType": "external",
18
- "lastExternalVersion": "0.9.16-beta",
19
- "lastInternalPublished": "2025-03-02T19:46:27.439Z"
14
+ "lastBetaPublished": "2025-06-09T02:31:46.793Z"
20
15
  },
21
16
  "utility": {
22
17
  "dependencyType": "external",
23
- "lastExternalVersion": "0.9.16-beta",
24
- "lastInternalPublished": "2025-03-02T19:46:37.087Z"
18
+ "lastBetaPublished": "2025-06-09T12:43:30.472Z"
25
19
  },
26
20
  "gs1": {
27
21
  "dependencyType": "external",
28
- "lastExternalVersion": "0.9.16-beta",
29
- "lastInternalPublished": "2025-03-02T19:46:50.266Z"
22
+ "lastBetaPublished": "2025-06-09T12:44:44.764Z"
30
23
  },
31
24
  "demo": {
32
25
  "dependencyType": "none",
33
- "lastExternalVersion": "0.9.16-beta"
26
+ "lastBetaPublished": "2025-06-09T13:03:31.157Z"
34
27
  },
35
28
  "app-extension": {
36
29
  "dependencyType": "internal",
37
- "lastExternalVersion": "0.9.16-beta",
38
- "internal": true,
39
- "lastInternalPublished": "2025-03-02T19:47:50.192Z"
30
+ "lastBetaPublished": "2025-06-09T13:03:49.309Z"
40
31
  },
41
32
  "app-generator": {
42
33
  "dependencyType": "internal",
43
- "lastExternalVersion": "0.9.16-beta",
44
- "internal": true,
45
- "lastInternalPublished": "2025-03-02T19:47:58.982Z"
34
+ "lastBetaPublished": "2025-06-09T13:03:53.348Z"
35
+ },
36
+ "microsoft-add-in": {
37
+ "dependencyType": "none"
46
38
  },
47
39
  "aidc-toolkit.github.io": {
48
40
  "directory": "doc",
41
+ "additionalDependencies": [
42
+ "core",
43
+ "utility",
44
+ "gs1"
45
+ ],
49
46
  "dependencyType": "none",
50
- "lastExternalVersion": "0.9.16-beta"
47
+ "lastBetaPublished": "2025-06-09T13:15:55.394Z"
51
48
  }
52
49
  }
53
- }
50
+ }
@@ -1,2 +1,2 @@
1
- export declare const esLintConfigAIDCToolkit: import("@typescript-eslint/utils/ts-eslint").FlatConfig.ConfigArray;
1
+ export declare const esLintConfigAIDCToolkit: import("eslint/config").Config[];
2
2
  //# sourceMappingURL=eslint-config-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-config-template.d.ts","sourceRoot":"","sources":["../src/eslint-config-template.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,uBAAuB,qEA0GnC,CAAC"}
1
+ {"version":3,"file":"eslint-config-template.d.ts","sourceRoot":"","sources":["../src/eslint-config-template.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,uBAAuB,kCAmHlC,CAAC"}
@@ -2,98 +2,116 @@ import js from "@eslint/js";
2
2
  import stylistic from "@stylistic/eslint-plugin";
3
3
  import esLintConfigLove from "eslint-config-love";
4
4
  import jsdoc from "eslint-plugin-jsdoc";
5
+ import { defineConfig } from "eslint/config";
5
6
  import tseslint from "typescript-eslint";
6
- export const esLintConfigAIDCToolkit = tseslint.config({
7
- ignores: ["dist"]
8
- }, js.configs.recommended, ...tseslint.configs.strictTypeChecked, stylistic.configs.recommended, jsdoc.configs["flat/recommended-typescript"], esLintConfigLove, {
9
- languageOptions: {
10
- parserOptions: {
11
- projectService: true
12
- }
13
- },
14
- linterOptions: {
15
- reportUnusedDisableDirectives: "error"
7
+ export const esLintConfigAIDCToolkit = defineConfig([
8
+ {
9
+ ignores: ["dist"]
16
10
  },
17
- rules: {
18
- "complexity": "off",
19
- "max-depth": ["error", 10],
20
- "max-lines": "off",
21
- "no-dupe-class-members": "off",
22
- "no-redeclare": "off",
23
- "no-unused-vars": "off",
24
- "@typescript-eslint/class-literal-property-style": "off",
25
- "@typescript-eslint/class-methods-use-this": "off",
26
- "@typescript-eslint/init-declarations": "off",
27
- "@typescript-eslint/max-params": "off",
28
- "@typescript-eslint/no-empty-function": "off",
29
- "@typescript-eslint/no-empty-object-type": "off",
30
- "@typescript-eslint/no-magic-numbers": "off",
31
- "@typescript-eslint/no-unnecessary-type-parameters": "off",
32
- "@typescript-eslint/no-unused-vars": [
33
- "error",
34
- {
35
- argsIgnorePattern: "^_",
36
- varsIgnorePattern: "^_",
37
- caughtErrorsIgnorePattern: "^_"
11
+ esLintConfigLove,
12
+ js.configs.recommended,
13
+ ...tseslint.configs.strictTypeChecked,
14
+ stylistic.configs.recommended,
15
+ jsdoc.configs["flat/recommended-typescript"],
16
+ {
17
+ languageOptions: {
18
+ parserOptions: {
19
+ projectService: true
38
20
  }
21
+ },
22
+ linterOptions: {
23
+ reportUnusedDisableDirectives: "error"
24
+ },
25
+ rules: {
26
+ "complexity": "off",
27
+ "max-depth": ["error", 10],
28
+ "max-lines": "off",
29
+ "no-negated-condition": "off",
30
+ "no-plusplus": "off",
31
+ // Handled by @typescript-eslint/no-unused-vars.
32
+ "no-unused-vars": "off",
33
+ "@typescript-eslint/class-literal-property-style": "off",
34
+ "@typescript-eslint/class-methods-use-this": "off",
35
+ "@typescript-eslint/init-declarations": "off",
36
+ "@typescript-eslint/max-params": "off",
37
+ "@typescript-eslint/no-empty-function": "off",
38
+ "@typescript-eslint/no-empty-object-type": "off",
39
+ "@typescript-eslint/no-magic-numbers": "off",
40
+ "@typescript-eslint/no-unnecessary-type-parameters": "off",
41
+ "@typescript-eslint/no-unused-vars": ["error", {
42
+ argsIgnorePattern: "^_",
43
+ varsIgnorePattern: "^_",
44
+ caughtErrorsIgnorePattern: "^_"
45
+ }],
46
+ "@typescript-eslint/prefer-destructuring": "off",
47
+ "@typescript-eslint/restrict-template-expressions": "off",
48
+ "@typescript-eslint/unbound-method": ["error", {
49
+ ignoreStatic: true
50
+ }],
51
+ "@stylistic/array-bracket-newline": ["error", "consistent"],
52
+ "@stylistic/brace-style": ["error", "1tbs", {
53
+ allowSingleLine: false
54
+ }],
55
+ "@stylistic/comma-dangle": ["error", "never"],
56
+ "@stylistic/generator-star-spacing": ["error", {
57
+ before: true,
58
+ after: true
59
+ }],
60
+ "@stylistic/indent": ["error", 4],
61
+ "@stylistic/member-delimiter-style": ["error", {
62
+ multiline: {
63
+ delimiter: "semi",
64
+ requireLast: true
65
+ },
66
+ singleline: {
67
+ delimiter: "semi"
68
+ }
69
+ }],
70
+ "@stylistic/no-trailing-spaces": ["off"],
71
+ "@stylistic/operator-linebreak": ["error", "after"],
72
+ "@stylistic/quotes": ["error", "double"],
73
+ "@stylistic/semi": ["error", "always"],
74
+ "@stylistic/object-curly-newline": ["error", {
75
+ ObjectExpression: {
76
+ multiline: true,
77
+ minProperties: 1
78
+ },
79
+ ObjectPattern: {
80
+ multiline: true,
81
+ minProperties: 1
82
+ }
83
+ }],
84
+ "@stylistic/object-property-newline": "error",
85
+ "@stylistic/yield-star-spacing": ["error", {
86
+ before: true,
87
+ after: true
88
+ }],
89
+ "jsdoc/require-description": ["warn", {
90
+ contexts: ["ClassDeclaration", "ClassProperty", "FunctionDeclaration", "MethodDefinition", "TSEnumDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSTypeAliasDeclaration"]
91
+ }],
92
+ "jsdoc/require-jsdoc": ["warn", {
93
+ contexts: ["ClassDeclaration", "ClassProperty", "FunctionDeclaration", "MethodDefinition", "TSEnumDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSTypeAliasDeclaration"]
94
+ }],
95
+ "jsdoc/require-returns": ["warn", {
96
+ checkGetters: false
97
+ }],
98
+ "jsdoc/require-yields-type": "off",
99
+ "jsdoc/tag-lines": ["warn", "any", {
100
+ count: 1,
101
+ startLines: 1
102
+ }]
103
+ }
104
+ },
105
+ {
106
+ files: [
107
+ "test/**/*"
39
108
  ],
40
- "@typescript-eslint/prefer-destructuring": "off",
41
- "@typescript-eslint/unbound-method": ["error", {
42
- ignoreStatic: true
43
- }],
44
- "@stylistic/array-bracket-newline": ["error", "consistent"],
45
- "@stylistic/brace-style": ["error", "1tbs", {
46
- allowSingleLine: false
47
- }],
48
- "@stylistic/comma-dangle": ["error", "never"],
49
- "@stylistic/indent": ["error", 4],
50
- "@stylistic/member-delimiter-style": ["error", {
51
- multiline: {
52
- delimiter: "semi",
53
- requireLast: true
54
- },
55
- singleline: {
56
- delimiter: "semi"
57
- }
58
- }],
59
- "@stylistic/no-trailing-spaces": ["off"],
60
- "@stylistic/operator-linebreak": ["error", "after"],
61
- "@stylistic/quotes": ["error", "double"],
62
- "@stylistic/semi": ["error", "always"],
63
- "@stylistic/object-curly-newline": ["error", {
64
- ObjectExpression: {
65
- multiline: true,
66
- minProperties: 1
67
- },
68
- ObjectPattern: {
69
- multiline: true,
70
- minProperties: 1
71
- }
72
- }],
73
- "@stylistic/object-property-newline": "error",
74
- "jsdoc/require-description": ["warn", {
75
- contexts: ["ClassDeclaration", "ClassProperty", "FunctionDeclaration", "MethodDefinition", "TSEnumDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSTypeAliasDeclaration"]
76
- }],
77
- "jsdoc/require-jsdoc": ["warn", {
78
- contexts: ["ClassDeclaration", "ClassProperty", "FunctionDeclaration", "MethodDefinition", "TSEnumDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSTypeAliasDeclaration"]
79
- }],
80
- "jsdoc/require-returns": ["warn", {
81
- checkGetters: false
82
- }],
83
- "jsdoc/tag-lines": ["warn", "any", {
84
- count: 1,
85
- startLines: 1
86
- }]
87
- }
88
- }, {
89
- files: [
90
- "test/**/*"
91
- ],
92
- rules: {
93
- "max-nested-callbacks": "off",
94
- "jsdoc/require-jsdoc": "off",
95
- "@typescript-eslint/dot-notation": "off",
96
- "@typescript-eslint/no-unsafe-type-assertion": "off"
109
+ rules: {
110
+ "max-nested-callbacks": "off",
111
+ "jsdoc/require-jsdoc": "off",
112
+ "@typescript-eslint/dot-notation": "off",
113
+ "@typescript-eslint/no-unsafe-type-assertion": "off"
114
+ }
97
115
  }
98
- });
116
+ ]);
99
117
  //# sourceMappingURL=eslint-config-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-config-template.js","sourceRoot":"","sources":["../src/eslint-config-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint-config-template.js","sourceRoot":"","sources":["../src/eslint-config-template.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,5 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export * from "./eslint-config-template.js";
18
- export * from "./utility.js";
19
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -15,5 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export * from "./eslint-config-template.js";
18
- export * from "./utility.js";
19
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aidc-toolkit/dev",
3
- "version": "0.9.17-beta",
3
+ "version": "0.9.19-beta",
4
4
  "description": "Shared development artefacts for AIDC Toolkit",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,27 +25,27 @@
25
25
  "build:dev": "npm run build:core -- tsconfig-build-dev-local.json",
26
26
  "build:release": "npm run build:core -- tsconfig-build-local.json",
27
27
  "build:doc": "npm run build:dev",
28
- "publish-internal": "tsx src/publish-internal.ts",
29
- "publish-external": "tsx src/publish-external.ts"
28
+ "publish-alpha": "tsx src/publish/publish-alpha.ts $*",
29
+ "publish-beta": "tsx src/publish/publish-beta.ts $*"
30
30
  },
31
31
  "devDependencies": {
32
- "copy-files-from-to": "^3.12.1"
32
+ "copy-files-from-to": "^3.13.0"
33
33
  },
34
34
  "dependencies": {
35
- "@eslint/js": "^9.20.0",
36
- "@octokit/types": "^13.8.0",
37
- "@stylistic/eslint-plugin": "^4.1.0",
38
- "eslint": "^9.21.0",
39
- "eslint-config-love": "^118.0.0",
40
- "eslint-plugin-jsdoc": "^50.6.3",
41
- "jiti": "^2.4.2",
42
- "octokit": "^4.1.2",
43
- "rimraf": "^6.0.1",
35
+ "@eslint/js": "^9.39.1",
36
+ "@octokit/types": "^16.0.0",
37
+ "@stylistic/eslint-plugin": "^5.6.1",
38
+ "eslint": "^9.39.1",
39
+ "eslint-config-love": "^134.0.0",
40
+ "eslint-plugin-jsdoc": "^61.4.0",
41
+ "jiti": "^2.6.1",
42
+ "octokit": "^5.0.5",
43
+ "rimraf": "^6.1.2",
44
44
  "ts-node": "^10.9.2",
45
- "tslog": "^4.9.3",
46
- "tsx": "^4.19.3",
47
- "typescript": "^5.7.3",
48
- "typescript-eslint": "^8.25.0",
49
- "yaml": "^2.7.0"
45
+ "tslog": "^4.10.2",
46
+ "tsx": "^4.20.6",
47
+ "typescript": "^5.9.3",
48
+ "typescript-eslint": "^8.47.0",
49
+ "yaml": "^2.8.1"
50
50
  }
51
51
  }
@@ -2,17 +2,18 @@ import js from "@eslint/js";
2
2
  import stylistic from "@stylistic/eslint-plugin";
3
3
  import esLintConfigLove from "eslint-config-love";
4
4
  import jsdoc from "eslint-plugin-jsdoc";
5
+ import { defineConfig } from "eslint/config";
5
6
  import tseslint from "typescript-eslint";
6
7
 
7
- export const esLintConfigAIDCToolkit = tseslint.config(
8
+ export const esLintConfigAIDCToolkit = defineConfig([
8
9
  {
9
10
  ignores: ["dist"]
10
11
  },
12
+ esLintConfigLove,
11
13
  js.configs.recommended,
12
14
  ...tseslint.configs.strictTypeChecked,
13
15
  stylistic.configs.recommended,
14
16
  jsdoc.configs["flat/recommended-typescript"],
15
- esLintConfigLove,
16
17
  {
17
18
  languageOptions: {
18
19
  parserOptions: {
@@ -28,8 +29,10 @@ export const esLintConfigAIDCToolkit = tseslint.config(
28
29
  "complexity": "off",
29
30
  "max-depth": ["error", 10],
30
31
  "max-lines": "off",
31
- "no-dupe-class-members": "off",
32
- "no-redeclare": "off",
32
+ "no-negated-condition": "off",
33
+ "no-plusplus": "off",
34
+
35
+ // Handled by @typescript-eslint/no-unused-vars.
33
36
  "no-unused-vars": "off",
34
37
 
35
38
  "@typescript-eslint/class-literal-property-style": "off",
@@ -40,15 +43,13 @@ export const esLintConfigAIDCToolkit = tseslint.config(
40
43
  "@typescript-eslint/no-empty-object-type": "off",
41
44
  "@typescript-eslint/no-magic-numbers": "off",
42
45
  "@typescript-eslint/no-unnecessary-type-parameters": "off",
43
- "@typescript-eslint/no-unused-vars": [
44
- "error",
45
- {
46
- argsIgnorePattern: "^_",
47
- varsIgnorePattern: "^_",
48
- caughtErrorsIgnorePattern: "^_"
49
- }
50
- ],
46
+ "@typescript-eslint/no-unused-vars": ["error", {
47
+ argsIgnorePattern: "^_",
48
+ varsIgnorePattern: "^_",
49
+ caughtErrorsIgnorePattern: "^_"
50
+ }],
51
51
  "@typescript-eslint/prefer-destructuring": "off",
52
+ "@typescript-eslint/restrict-template-expressions": "off",
52
53
  "@typescript-eslint/unbound-method": ["error", {
53
54
  ignoreStatic: true
54
55
  }],
@@ -58,6 +59,10 @@ export const esLintConfigAIDCToolkit = tseslint.config(
58
59
  allowSingleLine: false
59
60
  }],
60
61
  "@stylistic/comma-dangle": ["error", "never"],
62
+ "@stylistic/generator-star-spacing": ["error", {
63
+ before: true,
64
+ after: true
65
+ }],
61
66
  "@stylistic/indent": ["error", 4],
62
67
  "@stylistic/member-delimiter-style": ["error", {
63
68
  multiline: {
@@ -83,6 +88,10 @@ export const esLintConfigAIDCToolkit = tseslint.config(
83
88
  }
84
89
  }],
85
90
  "@stylistic/object-property-newline": "error",
91
+ "@stylistic/yield-star-spacing": ["error", {
92
+ before: true,
93
+ after: true
94
+ }],
86
95
 
87
96
  "jsdoc/require-description": ["warn", {
88
97
  contexts: ["ClassDeclaration", "ClassProperty", "FunctionDeclaration", "MethodDefinition", "TSEnumDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSTypeAliasDeclaration"]
@@ -93,6 +102,7 @@ export const esLintConfigAIDCToolkit = tseslint.config(
93
102
  "jsdoc/require-returns": ["warn", {
94
103
  checkGetters: false
95
104
  }],
105
+ "jsdoc/require-yields-type": "off",
96
106
  "jsdoc/tag-lines": ["warn", "any", {
97
107
  count: 1,
98
108
  startLines: 1
@@ -110,4 +120,4 @@ export const esLintConfigAIDCToolkit = tseslint.config(
110
120
  "@typescript-eslint/no-unsafe-type-assertion": "off"
111
121
  }
112
122
  }
113
- );
123
+ ]);
package/src/index.ts CHANGED
@@ -15,4 +15,3 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export * from "./eslint-config-template.js";
18
- export * from "./utility.js";
@@ -0,0 +1,34 @@
1
+ import { Logger } from "tslog";
2
+
3
+ /**
4
+ * Log level.
5
+ */
6
+ enum LogLevel {
7
+ Silly, Trace, Debug, Info, Warn, Error, Fatal
8
+ }
9
+
10
+ /**
11
+ * Logger with a default minimum level of Info.
12
+ */
13
+ export const logger = new Logger({
14
+ minLevel: LogLevel.Info
15
+ });
16
+
17
+ /**
18
+ * Set the log level.
19
+ *
20
+ * @param logLevel
21
+ * Log level as enumeration value or string.
22
+ */
23
+ export function setLogLevel(logLevel: LogLevel | string): void {
24
+ if (typeof logLevel === "string") {
25
+ if (logLevel in LogLevel) {
26
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- String exists as a key.
27
+ logger.settings.minLevel = LogLevel[logLevel as keyof typeof LogLevel];
28
+ } else {
29
+ logger.error(`Unknown log level ${logLevel}`);
30
+ }
31
+ } else {
32
+ logger.settings.minLevel = logLevel;
33
+ }
34
+ }