diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 38e6da5ba..000000000 --- a/.eslintignore +++ /dev/null @@ -1,14 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# ignore examples -examples/ -# ignore generated types -@types/ -*.js -*/*.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index d87508fbe..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "never"], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "requireConfigFile": false, - "files": ["*.ts", "*.tsx"], - "project": [ - "./examples/*/tsconfig.json", - "./packages/*/tsconfig.json", - "./tests/*/tsconfig.json" - ] - }, - "globals": { - "imports": true - } -} diff --git a/.prettierignore b/.prettierignore index 18e8f0bf3..ce8681834 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,11 @@ -@types/ \ No newline at end of file +node_modules/ +lib/ +tmp/ +test/ +templates/ +examples/ +@types/ +*.js +*.cjs +*/*.js +*/*.cjs \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..46ae4e21b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,64 @@ +import eslint from '@eslint/js'; +import tseslint from '@typescript-eslint/eslint-plugin'; +import tsparser from '@typescript-eslint/parser'; +import prettier from 'eslint-config-prettier'; + +export default [ + // Base config for all files + { + ignores: [ + '**/node_modules/**', + '**/cli/lib/**', + '**/generator-base/lib/**', + '**/generator-html-doc/lib/**', + '**/lib/lib/**', + '**/generator-typescript/lib/**', + '**/parser/lib/**', + '**/tmp/**', + '**/dist/**', + '**/test/**', + '**/templates/**', + '**/examples/**', + '**/@types/**', + '**/*.js', + '**/*.cjs', + ] + }, + + // TypeScript files + { + files: ['**/*.ts'], // Explicitly specify files to lint + languageOptions: { + parser: tsparser, + parserOptions: { + project: ['./packages/*/tsconfig.json'], + }, + globals: { + imports: true + } + }, + plugins: { + '@typescript-eslint': tseslint + }, + rules: { + 'semi': ['error', 'never'], + 'quotes': ['error', 'single'], + 'no-debugger': 'off', + '@typescript-eslint/triple-slash-reference': 'off', + 'camelcase': 'off', + '@typescript-eslint/camelcase': 'off' + } + }, + + // Special rules for .d.ts files + { + files: ['**/*.d.ts'], + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-unused-vars': 'off' + } + }, + + prettier +]; \ No newline at end of file diff --git a/examples/gtk-3-hello/package.json b/examples/gtk-3-hello/package.json index b9382f734..2e17ccae5 100644 --- a/examples/gtk-3-hello/package.json +++ b/examples/gtk-3-hello/package.json @@ -20,7 +20,7 @@ "license": "Apache-2.0", "devDependencies": { "@rollup/plugin-node-resolve": "^15.3.0", - "rollup": "^4.24.3", + "rollup": "^4.24.4", "typescript": "^5.6.3" }, "dependencies": { diff --git a/package.json b/package.json index 305b7b365..6390f0a6e 100644 --- a/package.json +++ b/package.json @@ -72,11 +72,12 @@ "type definitions" ], "devDependencies": { + "@eslint/js": "^9.14.0", "@ts-for-gir/cli": "workspace:^", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "concurrently": "^9.0.1", - "eslint": "^8.57.1", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "concurrently": "^9.1.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/packages/cli/.eslintignore b/packages/cli/.eslintignore deleted file mode 100644 index aff8ad7e6..000000000 --- a/packages/cli/.eslintignore +++ /dev/null @@ -1,16 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# temporary ignore examples -examples/ -# ignore generated types -@types/ -*.js -*.cjs -*/*.js -*/*.cjs \ No newline at end of file diff --git a/packages/cli/.eslintrc.cjs b/packages/cli/.eslintrc.cjs deleted file mode 100644 index 481d43eaa..000000000 --- a/packages/cli/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "never"], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "tsconfigRootDir": __dirname, - "project": ["./tsconfig.json"] - }, - "globals": { - "imports": true - } -} diff --git a/packages/cli/.prettierrc.json b/packages/cli/.prettierrc.json deleted file mode 100644 index 4effe30b4..000000000 --- a/packages/cli/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/cli/package.json b/packages/cli/package.json index c0806c329..7cbd89388 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -20,7 +20,7 @@ "clear": "yarn clear:build", "clear:build": "rimraf ./lib", "watch": "yarn build:ts --watch", - "lint": "eslint . --ext .ts,.tsx --fix" + "lint": "eslint . --fix" }, "repository": { "type": "git", @@ -54,11 +54,11 @@ ], "devDependencies": { "@types/inquirer": "^9.0.7", - "@types/node": "^22.8.6", + "@types/node": "^22.9.0", "@types/yargs": "^17.0.33", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "rimraf": "^6.0.1", diff --git a/packages/cli/src/commands/copy.ts b/packages/cli/src/commands/copy.ts index 1035febd3..c7fa60b78 100644 --- a/packages/cli/src/commands/copy.ts +++ b/packages/cli/src/commands/copy.ts @@ -15,7 +15,7 @@ const command = 'copy [modules..]' const description = 'Scan for *.gir files and copy them to a new directory' -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const builder: BuilderCallback = (yargs: Argv) => { const optionNames = Object.keys(Config.copyOptions) for (const optionName of optionNames) { @@ -43,7 +43,7 @@ const copyGirFile = async (config: UserConfig, depModule: GirModuleResolvedBy) = await copyFile(depModule.path, dest) } -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const handler = async (args: ConfigFlags) => { const config = await Config.load(args) const generateConfig = Config.getOptionsGeneration(config) diff --git a/packages/cli/src/commands/doc.ts b/packages/cli/src/commands/doc.ts index 75d432d82..4ba3bc9f4 100644 --- a/packages/cli/src/commands/doc.ts +++ b/packages/cli/src/commands/doc.ts @@ -15,7 +15,7 @@ const command = 'doc [modules..]' const description = 'The HTML documentation generator is not yet implemented, but feel free to implement it 🤗' -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const builder: BuilderCallback = (yargs: Argv) => { const optionNames = Object.keys(Config.docOptions) for (const optionName of optionNames) { @@ -24,7 +24,7 @@ const builder: BuilderCallback = (yargs: Argv) => { return yargs.example(examples) as Argv } -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const handler = async (args: ConfigFlags) => { const config = await Config.load(args) diff --git a/packages/cli/src/commands/generate.ts b/packages/cli/src/commands/generate.ts index e592dad3c..96d653e72 100644 --- a/packages/cli/src/commands/generate.ts +++ b/packages/cli/src/commands/generate.ts @@ -17,7 +17,7 @@ const command = 'generate [modules..]' const description = 'Generates Typescript type definition .d.ts files from GIR for GJS' -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const builder: BuilderCallback = (yargs: Argv) => { const optionNames = Object.keys(Config.generateOptions) for (const optionName of optionNames) { @@ -26,7 +26,7 @@ const builder: BuilderCallback = (yargs: Argv) => { return yargs.example(examples) as Argv } -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const handler = async (args: ConfigFlags) => { const config = await Config.load(args) diff --git a/packages/cli/src/commands/list.ts b/packages/cli/src/commands/list.ts index 493dfb8d6..1a3658eb5 100644 --- a/packages/cli/src/commands/list.ts +++ b/packages/cli/src/commands/list.ts @@ -13,7 +13,7 @@ const command = 'list [modules..]' const description = 'Lists all available GIR modules' -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const builder: BuilderCallback = (yargs: Argv) => { const optionNames = Object.keys(Config.listOptions) for (const optionName of optionNames) { @@ -22,7 +22,7 @@ const builder: BuilderCallback = (yargs: Argv) => { return yargs.example(examples) as Argv } -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const handler = async (args: ConfigFlags) => { const config = await Config.load(args) const generateConfig = Config.getOptionsGeneration(config) diff --git a/packages/cli/src/config.ts b/packages/cli/src/config.ts index 32019c99f..429414a38 100644 --- a/packages/cli/src/config.ts +++ b/packages/cli/src/config.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ + /** * Default values, parse the config file and handle CLI flags */ @@ -261,7 +261,7 @@ export class Config { loaders: { // ESM loader '.js': async (filepath) => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const file = await import(filepath) // Files with `exports.default = { ... }` diff --git a/packages/generator-base/.eslintignore b/packages/generator-base/.eslintignore deleted file mode 100644 index aff8ad7e6..000000000 --- a/packages/generator-base/.eslintignore +++ /dev/null @@ -1,16 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# temporary ignore examples -examples/ -# ignore generated types -@types/ -*.js -*.cjs -*/*.js -*/*.cjs \ No newline at end of file diff --git a/packages/generator-base/.eslintrc.cjs b/packages/generator-base/.eslintrc.cjs deleted file mode 100644 index 481d43eaa..000000000 --- a/packages/generator-base/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "never"], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "tsconfigRootDir": __dirname, - "project": ["./tsconfig.json"] - }, - "globals": { - "imports": true - } -} diff --git a/packages/generator-base/.prettierrc.json b/packages/generator-base/.prettierrc.json deleted file mode 100644 index 4effe30b4..000000000 --- a/packages/generator-base/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/generator-base/package.json b/packages/generator-base/package.json index 8392a5feb..d946efd57 100644 --- a/packages/generator-base/package.json +++ b/packages/generator-base/package.json @@ -14,7 +14,7 @@ "clear": "yarn clear:build", "clear:build": "rimraf ./lib", "watch": "yarn build:ts --watch", - "lint": "eslint . --ext .ts,.tsx --fix" + "lint": "eslint . --fix" }, "repository": { "type": "git", @@ -34,10 +34,10 @@ "generator" ], "devDependencies": { - "@types/node": "^22.8.6", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@types/node": "^22.9.0", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/packages/generator-html-doc/.eslintignore b/packages/generator-html-doc/.eslintignore deleted file mode 100644 index aff8ad7e6..000000000 --- a/packages/generator-html-doc/.eslintignore +++ /dev/null @@ -1,16 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# temporary ignore examples -examples/ -# ignore generated types -@types/ -*.js -*.cjs -*/*.js -*/*.cjs \ No newline at end of file diff --git a/packages/generator-html-doc/.eslintrc.cjs b/packages/generator-html-doc/.eslintrc.cjs deleted file mode 100644 index 481d43eaa..000000000 --- a/packages/generator-html-doc/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "never"], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "tsconfigRootDir": __dirname, - "project": ["./tsconfig.json"] - }, - "globals": { - "imports": true - } -} diff --git a/packages/generator-html-doc/.prettierrc.json b/packages/generator-html-doc/.prettierrc.json deleted file mode 100644 index 4effe30b4..000000000 --- a/packages/generator-html-doc/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/generator-html-doc/package.json b/packages/generator-html-doc/package.json index 478a4bca2..e8479d502 100644 --- a/packages/generator-html-doc/package.json +++ b/packages/generator-html-doc/package.json @@ -14,7 +14,7 @@ "clear": "yarn clear:build", "clear:build": "rimraf ./lib", "watch": "yarn build:ts --watch", - "lint": "eslint . --ext .ts,.tsx --fix" + "lint": "eslint . --fix" }, "repository": { "type": "git", @@ -34,10 +34,10 @@ "generator" ], "devDependencies": { - "@types/node": "^22.8.6", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@types/node": "^22.9.0", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/packages/generator-html-doc/src/html-doc-generator.ts b/packages/generator-html-doc/src/html-doc-generator.ts index c4ca981b0..8993c34d4 100644 --- a/packages/generator-html-doc/src/html-doc-generator.ts +++ b/packages/generator-html-doc/src/html-doc-generator.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ + import { Logger, DANGER_HTML_DOC_GENERATOR_NOT_IMPLEMENTED } from '@ts-for-gir/lib' import { Generator } from '@ts-for-gir/generator-base' diff --git a/packages/generator-typescript/.eslintignore b/packages/generator-typescript/.eslintignore deleted file mode 100644 index aff8ad7e6..000000000 --- a/packages/generator-typescript/.eslintignore +++ /dev/null @@ -1,16 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# temporary ignore examples -examples/ -# ignore generated types -@types/ -*.js -*.cjs -*/*.js -*/*.cjs \ No newline at end of file diff --git a/packages/generator-typescript/.eslintrc.cjs b/packages/generator-typescript/.eslintrc.cjs deleted file mode 100644 index 481d43eaa..000000000 --- a/packages/generator-typescript/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "never"], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "tsconfigRootDir": __dirname, - "project": ["./tsconfig.json"] - }, - "globals": { - "imports": true - } -} diff --git a/packages/generator-typescript/.prettierrc.json b/packages/generator-typescript/.prettierrc.json deleted file mode 100644 index 4effe30b4..000000000 --- a/packages/generator-typescript/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/generator-typescript/package.json b/packages/generator-typescript/package.json index 9b4d2dd6b..2420e117f 100644 --- a/packages/generator-typescript/package.json +++ b/packages/generator-typescript/package.json @@ -20,7 +20,7 @@ "clear": "yarn clear:build", "clear:build": "rimraf ./lib", "watch": "yarn build:ts --watch", - "lint": "eslint . --ext .ts,.tsx --fix" + "lint": "eslint . --fix" }, "repository": { "type": "git", @@ -42,11 +42,11 @@ ], "devDependencies": { "@types/ejs": "^3.1.5", - "@types/node": "^22.8.6", + "@types/node": "^22.9.0", "@types/xml2js": "^0.4.14", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/packages/generator-typescript/src/module-generator.ts b/packages/generator-typescript/src/module-generator.ts index d77a20b4d..57dc6f006 100644 --- a/packages/generator-typescript/src/module-generator.ts +++ b/packages/generator-typescript/src/module-generator.ts @@ -1758,7 +1758,7 @@ function promisifyIfEnabled( ): IntrospectedClassFunction[] { if (options.promisify) { // TODO: Remove this once the type is fixed - // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call + return promisifyFunctions(functions) } diff --git a/packages/lib/.eslintignore b/packages/lib/.eslintignore deleted file mode 100644 index aff8ad7e6..000000000 --- a/packages/lib/.eslintignore +++ /dev/null @@ -1,16 +0,0 @@ -# don't ever lint node_modules -node_modules/ -# don't lint build output (make sure it's set to your correct build folder name) -lib/ -tmp/ -test/ -# don't lint templates -templates/ -# temporary ignore examples -examples/ -# ignore generated types -@types/ -*.js -*.cjs -*/*.js -*/*.cjs \ No newline at end of file diff --git a/packages/lib/.eslintrc.cjs b/packages/lib/.eslintrc.cjs deleted file mode 100644 index 45ac803c0..000000000 --- a/packages/lib/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - extends: [ - 'plugin:prettier/recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'prettier', - ], - rules: { - semi: ['error', 'never'], - 'no-debugger': 'off', - '@typescript-eslint/triple-slash-reference': 'off', - camelcase: 'off', - '@typescript-eslint/camelcase': 'off' - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - globals: { - imports: true, - }, -} diff --git a/packages/lib/.prettierrc.json b/packages/lib/.prettierrc.json deleted file mode 100644 index ad45a741b..000000000 --- a/packages/lib/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/package.json b/packages/lib/package.json index dbf32b27c..d42c6f79d 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -20,7 +20,7 @@ "clear": "yarn clear:build", "clear:build": "rimraf ./lib", "watch": "yarn build:ts --watch", - "lint": "eslint . --ext .ts,.tsx --fix", + "lint": "eslint . --fix", "update-package-descriptions": "wget https://raw.githubusercontent.com/vala-lang/valadoc-org/master/documentation/packages.xml" }, "repository": { @@ -51,12 +51,12 @@ ], "devDependencies": { "@types/ejs": "^3.1.5", - "@types/eslint": "8.56.12", + "@types/eslint": "9.6.1", "@types/lodash": "^4.17.13", - "@types/node": "^22.8.6", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@types/node": "^22.9.0", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/packages/lib/src/formatters/.eslintrc.cjs b/packages/lib/src/formatters/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/formatters/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/formatters/.prettierrc.json b/packages/lib/src/formatters/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/formatters/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/src/generators/.eslintrc.cjs b/packages/lib/src/generators/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/generators/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/generators/.prettierrc.json b/packages/lib/src/generators/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/generators/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/src/generators/json.ts b/packages/lib/src/generators/json.ts index e45645e77..7c19bb21f 100644 --- a/packages/lib/src/generators/json.ts +++ b/packages/lib/src/generators/json.ts @@ -620,7 +620,7 @@ export class JsonGenerator extends FormatGenerator { })); } - // eslint-disable-next-line @typescript-eslint/no-unused-vars + generateCallbackType(node: IntrospectedCallback | IntrospectedClassCallback): [Json, Json] { return [{}, {}]; } diff --git a/packages/lib/src/generics/.eslintrc.cjs b/packages/lib/src/generics/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/generics/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/generics/.prettierrc.json b/packages/lib/src/generics/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/generics/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/src/gir-module.ts b/packages/lib/src/gir-module.ts index d1554034a..164af5d0b 100644 --- a/packages/lib/src/gir-module.ts +++ b/packages/lib/src/gir-module.ts @@ -1,5 +1,5 @@ // TODO move this class into a web-worker? https://www.npmjs.com/package/web-worker -/* eslint-disable @typescript-eslint/no-unused-vars */ + import { Transformation } from './transformation.js' import { Logger } from './logger.js' import { DependencyManager } from './dependency-manager.js' diff --git a/packages/lib/src/gir.ts b/packages/lib/src/gir.ts index 06b3b5aa2..f54b27c25 100644 --- a/packages/lib/src/gir.ts +++ b/packages/lib/src/gir.ts @@ -160,7 +160,7 @@ export class TypeIdentifier extends TypeExpression { return new TypeIdentifier(name, namespace) } - // eslint-disable-next-line @typescript-eslint/no-unused-vars + print(namespace: IntrospectedNamespace, _options: OptionsBase): string { if (namespace.hasSymbol(this.namespace) && this.namespace !== namespace.namespace) { // TODO: Move to TypeScript generator... @@ -211,12 +211,12 @@ export class ModuleTypeIdentifier extends TypeIdentifier { ) } - // eslint-disable-next-line @typescript-eslint/no-unused-vars + protected _resolve(namespace: IntrospectedNamespace, options: OptionsBase): ModuleTypeIdentifier | null { return this } - // eslint-disable-next-line @typescript-eslint/no-unused-vars + print(namespace: IntrospectedNamespace, options: OptionsBase): string { if (namespace.namespace === this.namespace) { return `${this.moduleName}.${this.name}` @@ -238,7 +238,7 @@ export class ClassStructTypeIdentifier extends TypeIdentifier { return type instanceof ClassStructTypeIdentifier && super.equals(type) } - // eslint-disable-next-line @typescript-eslint/no-unused-vars + print(namespace: IntrospectedNamespace, options: OptionsBase): string { if (namespace.namespace === this.namespace) { // TODO: Mapping to invalid names should happen at the generator level... diff --git a/packages/lib/src/gir/.eslintrc.cjs b/packages/lib/src/gir/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/gir/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/gir/.prettierrc.json b/packages/lib/src/gir/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/gir/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/src/gir/base.ts b/packages/lib/src/gir/base.ts index e12e4c6c9..a534980b8 100644 --- a/packages/lib/src/gir/base.ts +++ b/packages/lib/src/gir/base.ts @@ -20,7 +20,7 @@ export interface BaseOptions { export type Options = BaseOptions & T; -// eslint-disable-next-line @typescript-eslint/no-explicit-any + export type AnyIntrospectedType = IntrospectedBase; export abstract class IntrospectedBase { @@ -102,11 +102,11 @@ export abstract class IntrospectedBase; static fromXML( - // eslint-disable-next-line + element: Record, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + parent: IntrospectedNamespace | AnyIntrospectedType, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + options: OptionsLoad ): AnyIntrospectedType | null { throw new Error("GirBase cannot be instantiated"); @@ -128,11 +128,11 @@ export abstract class IntrospectedNamespaceMember extends IntrospectedBase, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + parent: IntrospectedNamespace, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + options: OptionsLoad ): IntrospectedNamespaceMember | null { throw new Error("GirBase cannot be instantiated"); diff --git a/packages/lib/src/gir/class.ts b/packages/lib/src/gir/class.ts index a34c6cb54..4fc4ccf79 100644 --- a/packages/lib/src/gir/class.ts +++ b/packages/lib/src/gir/class.ts @@ -425,11 +425,11 @@ export abstract class IntrospectedBaseClass extends IntrospectedNamespaceMember } static fromXML( - // eslint-disable-next-line @typescript-eslint/no-unused-vars + element: GirClassElement | GirInterfaceElement | GirRecordElement, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + ns: IntrospectedNamespace, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + options: OptionsLoad ): IntrospectedBaseClass { throw new Error("fromXML is not implemented on GirBaseClass"); diff --git a/packages/lib/src/gir/registry.ts b/packages/lib/src/gir/registry.ts index db4885177..23199d4ce 100644 --- a/packages/lib/src/gir/registry.ts +++ b/packages/lib/src/gir/registry.ts @@ -25,7 +25,7 @@ export interface NSLoader { } type GeneratorConstructor = { - // eslint-disable-next-line @typescript-eslint/no-explicit-any + new (namespace: IntrospectedNamespace, options: OptionsGeneration, ...args: any[]): FormatGenerator; }; diff --git a/packages/lib/src/injections/.eslintrc.cjs b/packages/lib/src/injections/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/injections/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/injections/.prettierrc.json b/packages/lib/src/injections/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/injections/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/lib/src/utils/numbers.ts b/packages/lib/src/utils/numbers.ts index 36513cd26..646d13101 100644 --- a/packages/lib/src/utils/numbers.ts +++ b/packages/lib/src/utils/numbers.ts @@ -4,6 +4,6 @@ * @returns Whether the string is numeric or not */ export const isNumeric = (str: string): boolean => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any + return !isNaN((str as any) - parseFloat(str)) } diff --git a/packages/lib/src/utils/objects.ts b/packages/lib/src/utils/objects.ts index 06f99ea82..22e1217c6 100644 --- a/packages/lib/src/utils/objects.ts +++ b/packages/lib/src/utils/objects.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/unbound-method */ + import lodash from 'lodash' export { inspect } from 'util' diff --git a/packages/lib/src/validators/.eslintrc.cjs b/packages/lib/src/validators/.eslintrc.cjs deleted file mode 100644 index 25ee0da0e..000000000 --- a/packages/lib/src/validators/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - rules: { - semi: ["error", "always"], - quotes: ["error", "double", { avoidEscape: true }], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - camelcase: "off", - "@typescript-eslint/camelcase": "off" - }, - parserOptions: { - tsconfigRootDir: __dirname, - project: ["../../tsconfig.json"] - }, - globals: { - imports: true - } -}; diff --git a/packages/lib/src/validators/.prettierrc.json b/packages/lib/src/validators/.prettierrc.json deleted file mode 100644 index 71bd46baf..000000000 --- a/packages/lib/src/validators/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "none", - "arrowParens": "avoid", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 -} diff --git a/packages/parser/.eslintrc.cjs b/packages/parser/.eslintrc.cjs deleted file mode 100644 index 5290b401a..000000000 --- a/packages/parser/.eslintrc.cjs +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier" - ], - "rules": { - "semi": ["error", "always"], - "quotes": ["error", "double", {avoidEscape: true}], - "no-debugger": "off", - "@typescript-eslint/triple-slash-reference": "off", - "camelcase": "off", - "@typescript-eslint/camelcase": "off" - }, - "parserOptions": { - "tsconfigRootDir": __dirname, - "project": ["./tsconfig.json"] - }, - "globals": { - "imports": true - } -} diff --git a/packages/parser/.gitignore b/packages/parser/.gitignore deleted file mode 100644 index 53c37a166..000000000 --- a/packages/parser/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dist \ No newline at end of file diff --git a/packages/parser/.prettierrc.json b/packages/parser/.prettierrc.json deleted file mode 100644 index 12c6cad46..000000000 --- a/packages/parser/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "semi": true, - "trailingComma": "all", - "singleQuote": false, - "printWidth": 120, - "tabWidth": 4 - } - \ No newline at end of file diff --git a/packages/parser/dist/lib.d.ts b/packages/parser/dist/lib.d.ts new file mode 100644 index 000000000..5b43fb45c --- /dev/null +++ b/packages/parser/dist/lib.d.ts @@ -0,0 +1,2 @@ +export * as parser from "./parser.js"; +export * from "./xml.js"; diff --git a/packages/parser/dist/lib.js b/packages/parser/dist/lib.js new file mode 100644 index 000000000..5b43fb45c --- /dev/null +++ b/packages/parser/dist/lib.js @@ -0,0 +1,2 @@ +export * as parser from "./parser.js"; +export * from "./xml.js"; diff --git a/packages/parser/dist/parser.d.ts b/packages/parser/dist/parser.d.ts new file mode 100644 index 000000000..37c75055e --- /dev/null +++ b/packages/parser/dist/parser.d.ts @@ -0,0 +1,2 @@ +import { GirXML } from "./xml.js"; +export declare function parseGir(contents: string): GirXML; diff --git a/packages/parser/dist/parser.js b/packages/parser/dist/parser.js new file mode 100644 index 000000000..f312f4c18 --- /dev/null +++ b/packages/parser/dist/parser.js @@ -0,0 +1,66 @@ +import { XMLParser } from "fast-xml-parser"; +const isArrayProperty = [ + "type", + "include", + "c:include", + "member", + "parameter", + "parameters", + "return-value", + "class", + "constructor", + "constructors", + "method", + "virtual-method", + "property", + "field", + "constant", + "enumeration", + "bitfield", + "alias", + "function", + "callback", + "record", + "union", + "interface", + "namespace", + "repository", + "package", + "glib:boxed", + "implements", + "prerequisite", + "doc", + "doc-deprecated", + "signal", + "glib:signal", + "annotation", + "stability", + "doc-version", + "doc-stability", + "source-position", + "column", + "array", + "moved-to", + "varargs", + "instance-parameter", +]; +const parser = new XMLParser({ + attributeNamePrefix: "", + attributesGroupName: "$", + textNodeName: "_", + ignoreAttributes: false, + removeNSPrefix: false, + allowBooleanAttributes: true, + parseTagValue: true, + parseAttributeValue: false, + trimValues: true, + isArray: (name, _jpath, isLeafNode, _isAttribute) => { + if (isArrayProperty.includes(name)) { + return true; + } + return !isLeafNode; + }, +}); +export function parseGir(contents) { + return parser.parse(contents); +} diff --git a/packages/parser/dist/xml.d.ts b/packages/parser/dist/xml.d.ts new file mode 100644 index 000000000..c3fa81ccb --- /dev/null +++ b/packages/parser/dist/xml.d.ts @@ -0,0 +1,442 @@ +export declare enum GirDirection { + In = "in", + Inout = "inout", + Out = "out", + InOut = "in-out" +} +export interface GirXML { + repository: GirRepository[]; +} +export type GirUnparsedNumber = string; +export type GirBoolean = "0" | "1"; +export interface GirRepository { + $: { + version?: string; + "c:identifier-prefixes"?: string; + "c:symbol-prefixes"?: string; + }; + include?: GirInclude[]; + "c:include": GirCInclude[]; + package: GirPackage[]; + namespace?: GirNamespace[]; +} +export interface GirNamespace { + $: GirInfoAttrs & { + name: string; + version: string; + "c:identifier-prefixes"?: string; + "c:symbol-prefixes"?: string; + "c:prefix"?: string; + "shared-library"?: string; + }; + alias?: GirAliasElement[]; + class?: GirClassElement[]; + interface?: GirInterfaceElement[]; + record?: GirRecordElement[]; + enumeration?: GirEnumElement[]; + function?: GirFunctionElement[]; + union?: GirUnionElement[]; + bitfield?: GirBitfieldElement[]; + callback?: GirCallbackElement[]; + constant?: GirConstantElement[]; + annotation?: GirAnnotation[]; + ["glib:boxed"]?: GirBoxedElement[]; +} +export interface GirAnnotation { + $: { + name: string; + value: string[]; + }; +} +export interface GirCInclude { + $: { + name: string; + }; +} +export interface GirInclude { + $: { + name: string; + version?: string; + }; +} +export interface GirPackage { + $: { + name: string; + }; +} +export interface GirAliasElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "c:type"?: string; + }; + type?: GirType[]; +} +export interface GirInterfaceElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "glib:type-name": string; + "glib:get-type": string; + "c:symbol-prefix"?: string; + "c:type"?: string; + "glib:type-struct"?: string; + }; + prerequisite?: GirPrerequisite[]; + implements?: GirImplements[]; + function?: GirFunctionElement[]; + constructors?: GirConstructorElement[]; + method?: GirMethodElement[]; + "virtual-method"?: GirVirtualMethodElement[]; + field?: GirFieldElement[]; + property?: GirPropertyElement[]; + signal?: GirSignalElement[]; + "glib:signal"?: GirSignalElement[]; + callback?: GirCallbackElement[]; + constant?: GirConstantElement[]; +} +export interface GirClassElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "glib:type-name": string; + "glib:get-type": string; + parent?: string; + "glib:type-struct"?: string; + "glib:ref-func"?: string; + "glib:unref-func"?: string; + "glib:set-value-func"?: string; + "glib:get-value-func"?: string; + "c:type"?: string; + "c:symbol-prefix"?: string; + abstract?: GirBoolean; + "glib:fundamental"?: GirBoolean; + final: GirBoolean; + }; + implements?: GirImplements[]; + constructor?: GirConstructorElement[]; + method?: GirMethodElement[]; + function?: GirFunctionElement[]; + "virtual-method"?: GirVirtualMethodElement[]; + field?: GirFieldElement[]; + property?: GirPropertyElement[]; + signal?: GirSignalElement[]; + "glib:signal"?: GirSignalElement[]; + union?: GirUnionElement[]; + constant?: GirConstantElement[]; + record?: GirRecordElement[]; + callback?: GirCallbackElement[]; +} +export interface GirBoxedElement { + $: GirInfoAttrs & { + "glib:name": string; + "c:symbol-prefix"?: string; + "glib:type-name"?: string; + "glib:get-type"?: string; + }; + function?: GirFunctionElement[]; +} +export interface GirRecordElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "c:type"?: string; + disguised?: GirBoolean; + opaque?: GirBoolean; + pointer?: GirBoolean; + "glib:type-name"?: string; + "glib:get-type"?: string; + "c:symbol-prefix"?: string; + foreign?: GirBoolean; + "glib:is-gtype-struct-for"?: string; + }; + field?: GirFieldElement[]; + function?: GirFunctionElement[]; + union?: GirUnionElement[]; + method?: GirMethodElement[]; + constructor?: GirConstructorElement[]; + property?: GirPropertyElement[]; +} +export interface GirInfoAttrs { + introspectable?: GirBoolean; + deprecated?: string; + "deprecated-version"?: string; + version?: string; + stability?: string[]; +} +export interface GirDocElement { + "doc-version"?: [ + { + $: { + "xml:space"?: "preserve"; + "xml:whitespace"?: "preserve"; + }; + _: string; + } + ]; + "doc-stability"?: [ + { + $: { + "xml:space"?: "preserve"; + "xml:whitespace"?: "preserve"; + }; + _: string; + } + ]; + doc: [ + { + $: { + "xml:space"?: "preserve"; + "xml:whitespace"?: "preserve"; + filename: string; + line: string; + column: string; + }; + _: string; + } + ]; + "doc-deprecated": [ + { + $: { + "xml:space"?: "preserve"; + "xml:whitespace"?: "preserve"; + }; + _: string; + } + ]; + "source-position": [ + { + filename: string; + line: string; + column: string[]; + } + ]; +} +export interface GirInfoElements extends GirDocElement { + annotation: GirAnnotation[]; +} +export interface GirConstantElement extends GirInfoElements, GirAnyType { + $: GirInfoAttrs & { + name: string; + value: string; + "c:type"?: string; + "c:identifier"?: string; + }; +} +export interface GirPropertyElement extends GirInfoElements, GirAnyType { + $: GirInfoAttrs & { + name: string; + writable?: GirBoolean; + readable?: GirBoolean; + construct?: GirBoolean; + "construct-only"?: GirBoolean; + setter?: string; + getter?: string; + "default-value"?: string; + } & Partial; +} +export interface GirSignalElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + detailed?: GirBoolean; + when?: "first" | "last" | "cleanup"; + action?: GirBoolean; + "no-hooks"?: GirBoolean; + "no-recurse"?: GirBoolean; + }; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirFieldElement extends GirInfoElements, GirAnyType { + $: GirInfoAttrs & { + name: string; + writable?: GirBoolean; + readable?: GirBoolean; + private?: GirBoolean; + bits?: GirUnparsedNumber; + }; + callback?: GirCallbackElement[]; +} +export interface GirCallbackElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "c:type"?: string; + throws?: GirBoolean; + "glib:type-name"?: string; + }; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirImplements { + $: GirInfoAttrs & { + name: string; + }; +} +export interface GirPrerequisite { + $: { + name?: string; + }; +} +export interface GirAnyType { + type?: GirType[]; + array?: GirArrayType[]; +} +export interface GirType extends GirDocElement { + $: GirInfoAttrs & { + name?: string; + "c:type"?: string; + introspectable?: GirBoolean; + }; + array?: GirArrayType[]; + type: GirType[]; +} +export interface GirArrayType { + $: GirInfoAttrs & { + name?: string; + "zero-terminated"?: GirBoolean; + "fixed-size"?: GirUnparsedNumber; + introspectable?: GirBoolean; + length?: GirUnparsedNumber; + "c:type"?: string; + }; + array?: GirArrayType[]; + type?: GirType[]; +} +export declare enum GirTransferOwnershipType { + Container = "container", + Full = "full", + None = "none" +} +export interface GirTransferOwnership { + "transfer-ownership": GirTransferOwnershipType; +} +export interface GirConstructorElement { + $: GirInfoAttrs & GirCallableAttrs; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirCallableAttrs { + name: string; + "c:identifier"?: string; + "shadowed-by"?: string; + shadows?: string; + throws?: GirBoolean; + "moved-to"?: string[]; +} +export interface GirVarArgs { + $: GirInfoAttrs; +} +export interface GirCallableParamElement extends GirDocElement, GirAnyType { + $: GirInfoAttrs & Partial & { + name?: string; + nullable?: GirBoolean; + "null-ok"?: GirBoolean; + "allow-none"?: GirBoolean; + introspectable?: GirBoolean; + closure?: GirUnparsedNumber; + destroy?: GirUnparsedNumber; + scope?: "notified" | "async" | "call"; + direction?: GirDirection; + "caller-allocates"?: GirBoolean; + optional?: GirBoolean; + skip?: GirBoolean; + }; + varargs?: GirVarArgs[]; +} +export interface GirCallableParams { + parameter: GirCallableParamElement[]; + "instance-parameter"?: GirInstanceParameter[]; +} +export interface GirInstanceParameter extends GirAnyType { + $: Partial<{ + name: string; + nullable?: GirBoolean; + "allow-none"?: GirBoolean; + "null-ok"?: GirBoolean; + direction?: GirDirection; + "caller-allocates"?: GirBoolean; + }> & Partial; + type?: GirType[]; +} +export interface GirCallableReturn extends GirAnyType, GirDocElement { + $: { + name?: string; + introspectable?: GirBoolean; + nullable?: GirBoolean; + closure?: GirUnparsedNumber; + scope?: "notified" | "async" | "call"; + destroy?: GirUnparsedNumber; + skip?: GirBoolean; + "allow-none"?: GirBoolean; + } & Partial; +} +export interface GirFunctionElement extends GirDocElement { + $: GirInfoAttrs & GirCallableAttrs; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirMethodElement extends GirDocElement { + $: GirInfoAttrs & GirCallableAttrs & { + "glib:set-property": string; + "glib:get-property": string; + }; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirVirtualMethodElement extends GirDocElement { + $: GirInfoAttrs & GirCallableAttrs & { + invoker?: string; + }; + parameters?: [GirCallableParams]; + "return-value"?: GirCallableReturn[]; +} +export interface GirUnionElement extends GirInfoElements { + $: GirInfoAttrs & { + name?: string; + "c:type"?: string; + "c:symbol-prefix"?: string; + "glib:type-name"?: string; + "glib:get-type"?: string; + }; + field?: GirFieldElement[]; + constructor?: GirConstructorElement[]; + method?: GirMethodElement[]; + function?: GirFunctionElement[]; + record?: GirRecordElement[]; +} +export interface GirBitfieldElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "c:type": string; + "glib:type-name"?: string; + "glib:get-type"?: string; + }; + member: GirMemberElement[]; + function: GirFunctionElement[]; +} +export interface GirEnumElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + "c:type": string; + "glib:type-name"?: string; + "glib:get-type"?: string; + "glib:error-domain"?: string; + }; + member?: GirMemberElement[]; + function?: GirFunctionElement[]; +} +export interface GirFieldElement extends GirInfoElements, GirAnyType { + $: GirInfoAttrs & { + name: string; + writable?: GirBoolean; + readable?: GirBoolean; + private?: GirBoolean; + bits?: GirUnparsedNumber; + }; + callback?: GirCallbackElement[]; +} +export interface GirMemberElement extends GirInfoElements { + $: GirInfoAttrs & { + name: string; + value: string; + "c:identifier": string; + "glib:nick"?: string; + "glib:name"?: string; + }; +} diff --git a/packages/parser/dist/xml.js b/packages/parser/dist/xml.js new file mode 100644 index 000000000..a7383b672 --- /dev/null +++ b/packages/parser/dist/xml.js @@ -0,0 +1,13 @@ +export var GirDirection; +(function (GirDirection) { + GirDirection["In"] = "in"; + GirDirection["Inout"] = "inout"; + GirDirection["Out"] = "out"; + GirDirection["InOut"] = "in-out"; +})(GirDirection || (GirDirection = {})); +export var GirTransferOwnershipType; +(function (GirTransferOwnershipType) { + GirTransferOwnershipType["Container"] = "container"; + GirTransferOwnershipType["Full"] = "full"; + GirTransferOwnershipType["None"] = "none"; +})(GirTransferOwnershipType || (GirTransferOwnershipType = {})); diff --git a/packages/parser/package.json b/packages/parser/package.json index df8624319..73b905890 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -31,9 +31,9 @@ "fast-xml-parser": "^4.5.0" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^8.57.1", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", diff --git a/yarn.lock b/yarn.lock index 558dd67a1..e1b65655d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -390,34 +390,75 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.7.0": + version: 0.7.0 + resolution: "@eslint/core@npm:0.7.0" + checksum: 10/69227f33fddd9b402b7b0830732a6e84cae77d202cb5b56f0dbcc462882e07d00e80216b796cf2f243f5b775af3ef27545a0c439d78e66122eab71da4773b81c + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/02bf892d1397e1029209dea685e9f4f87baf643315df2a632b5f121ec7e8548a3b34f428a007234fa82772218fa8a3ac2d10328637b9ce63b7f8344035b74db3 + languageName: node + linkType: hard + +"@eslint/js@npm:9.14.0, @eslint/js@npm:^9.14.0": + version: 9.14.0 + resolution: "@eslint/js@npm:9.14.0" + checksum: 10/897e26bd68f898e56e96f85c92a1d823ef3d9f34e17d88d0ff40e88882ddae28d2f35915150c21cf640e0c64cb23703d0fbe6f7c9b9d6328aabe58ca30d9b4fe + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.2 + resolution: "@eslint/plugin-kit@npm:0.2.2" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/19ce7b8c991c7d17269044d64cd1f8e207b5ddf31290de65950cdaf4c78387467759ad0ca275708c11b85d90e649faf65618255ad310a532ef6dea7fe6326bf1 languageName: node linkType: hard @@ -425,9 +466,9 @@ __metadata: version: 0.0.0-use.local resolution: "@gi.ts/parser@workspace:packages/parser" dependencies: - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" - eslint: "npm:^8.57.1" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" fast-xml-parser: "npm:^4.5.0" @@ -10923,14 +10964,20 @@ __metadata: languageName: unknown linkType: soft -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 languageName: node linkType: hard @@ -10941,10 +10988,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.0": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 languageName: node linkType: hard @@ -11337,7 +11391,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -12258,9 +12312,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.3" +"@rollup/rollup-android-arm-eabi@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.4" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -12272,9 +12326,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-android-arm64@npm:4.24.3" +"@rollup/rollup-android-arm64@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-android-arm64@npm:4.24.4" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -12286,9 +12340,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.24.3" +"@rollup/rollup-darwin-arm64@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-darwin-arm64@npm:4.24.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -12300,23 +12354,23 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.24.3" +"@rollup/rollup-darwin-x64@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-darwin-x64@npm:4.24.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.24.3" +"@rollup/rollup-freebsd-arm64@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.24.4" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-freebsd-x64@npm:4.24.3" +"@rollup/rollup-freebsd-x64@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-freebsd-x64@npm:4.24.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -12328,9 +12382,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.3" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.4" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -12342,9 +12396,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.3" +"@rollup/rollup-linux-arm-musleabihf@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.4" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -12356,9 +12410,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.3" +"@rollup/rollup-linux-arm64-gnu@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -12370,9 +12424,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.3" +"@rollup/rollup-linux-arm64-musl@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -12384,9 +12438,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.3" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.4" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -12398,9 +12452,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.3" +"@rollup/rollup-linux-riscv64-gnu@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.4" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -12412,9 +12466,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.3" +"@rollup/rollup-linux-s390x-gnu@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.4" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -12426,9 +12480,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.3" +"@rollup/rollup-linux-x64-gnu@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -12440,9 +12494,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.3" +"@rollup/rollup-linux-x64-musl@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -12454,9 +12508,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.3" +"@rollup/rollup-win32-arm64-msvc@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -12468,9 +12522,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.3" +"@rollup/rollup-win32-ia32-msvc@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.4" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -12482,9 +12536,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.24.3": - version: 4.24.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.3" +"@rollup/rollup-win32-x64-msvc@npm:4.24.4": + version: 4.24.4 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -12857,7 +12911,7 @@ __metadata: "@girs/gjs": "workspace:^" "@girs/gtk-3.0": "workspace:^" "@rollup/plugin-node-resolve": "npm:^15.3.0" - rollup: "npm:^4.24.3" + rollup: "npm:^4.24.4" typescript: "npm:^5.6.3" languageName: unknown linkType: soft @@ -13042,13 +13096,13 @@ __metadata: "@ts-for-gir/generator-typescript": "workspace:^" "@ts-for-gir/lib": "workspace:^" "@types/inquirer": "npm:^9.0.7" - "@types/node": "npm:^22.8.6" + "@types/node": "npm:^22.9.0" "@types/yargs": "npm:^17.0.33" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" colorette: "npm:^2.0.20" cosmiconfig: "npm:^9.0.0" - eslint: "npm:^8.57.1" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" glob: "npm:^11.0.0" @@ -13068,10 +13122,10 @@ __metadata: resolution: "@ts-for-gir/generator-base@workspace:packages/generator-base" dependencies: "@ts-for-gir/lib": "workspace:^" - "@types/node": "npm:^22.8.6" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" - eslint: "npm:^8.57.1" + "@types/node": "npm:^22.9.0" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" prettier: "npm:^3.3.3" @@ -13086,10 +13140,10 @@ __metadata: dependencies: "@ts-for-gir/generator-base": "workspace:^" "@ts-for-gir/lib": "workspace:^" - "@types/node": "npm:^22.8.6" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" - eslint: "npm:^8.57.1" + "@types/node": "npm:^22.9.0" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" prettier: "npm:^3.3.3" @@ -13105,12 +13159,12 @@ __metadata: "@ts-for-gir/generator-base": "workspace:^" "@ts-for-gir/lib": "workspace:^" "@types/ejs": "npm:^3.1.5" - "@types/node": "npm:^22.8.6" + "@types/node": "npm:^22.9.0" "@types/xml2js": "npm:^0.4.14" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" ejs: "npm:^3.1.10" - eslint: "npm:^8.57.1" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" prettier: "npm:^3.3.3" @@ -13126,14 +13180,14 @@ __metadata: dependencies: "@gi.ts/parser": "workspace:^" "@types/ejs": "npm:^3.1.5" - "@types/eslint": "npm:8.56.12" + "@types/eslint": "npm:9.6.1" "@types/lodash": "npm:^4.17.13" - "@types/node": "npm:^22.8.6" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" + "@types/node": "npm:^22.9.0" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" colorette: "npm:^2.0.20" ejs: "npm:^3.1.10" - eslint: "npm:^8.57.1" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" glob: "npm:^11.0.0" @@ -13189,7 +13243,7 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:*": +"@types/eslint@npm:*, @types/eslint@npm:9.6.1": version: 9.6.1 resolution: "@types/eslint@npm:9.6.1" dependencies: @@ -13199,16 +13253,6 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:8.56.12": - version: 8.56.12 - resolution: "@types/eslint@npm:8.56.12" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10/bd998b5d3f98ac430ec8db6223f1cff1820774c1e72eabda05463256875d97065fd357fba7379dd25e6bfbeb73296f28faff6f4dcbc320f890bb49b09087644d - languageName: node - linkType: hard - "@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -13233,7 +13277,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -13256,12 +13300,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.8.6": - version: 22.8.6 - resolution: "@types/node@npm:22.8.6" +"@types/node@npm:^22.9.0": + version: 22.9.0 + resolution: "@types/node@npm:22.9.0" dependencies: undici-types: "npm:~6.19.8" - checksum: 10/27bb73f033eeec05b4ed52dbc521cac28fb7ac14af267119c9bae0318c97848cd790ac7f0a65924ace7ea717eae62e91bd227da4bd6c0217d0016a7a6cd0a156 + checksum: 10/a7df3426891868b0f5fb03e46aeddd8446178233521c624a44531c92a040cf08a82d8235f7e1e02af731fd16984665d4d71f3418caf9c2788313b10f040d615d languageName: node linkType: hard @@ -13306,15 +13350,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/eslint-plugin@npm:8.12.2" +"@typescript-eslint/eslint-plugin@npm:^8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.13.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/type-utils": "npm:8.12.2" - "@typescript-eslint/utils": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/type-utils": "npm:8.13.0" + "@typescript-eslint/utils": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -13325,66 +13369,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/3ba36240bdb1f278050bbde377d858e67511bf1de31a1ab9d99c5b560204e7d448c33d1487cd5eba9bfb823abff2eccf4532f42065cadad6772b68f91006ddc2 + checksum: 10/3f38f64dfdc5c33d377d0f4aff9c71cc363bc7d4cea5c3da9c5bb934758cb5129f48194f84d4886a4208a70a18395c597561926490027508045f778190686909 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/parser@npm:8.12.2" +"@typescript-eslint/parser@npm:^8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/parser@npm:8.13.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/typescript-estree": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/typescript-estree": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/257cfbe13bd1a3a2c83e0b3fd2d441a51181ffd57f2e98112217668383fc28de995bfca6d7c4d2c04c6347ee6a376fe1d87eb6ce60d7383cda1044626d794185 + checksum: 10/174f705ce44e4dca83badad053eed50fb3703be6a4379e91f7c260c7f7d0c5e7bcfefd4f2c3170449b6c8f04a8f38c0cefc1a399be7d4913b86ab80d1b7783ec languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/scope-manager@npm:8.12.2" +"@typescript-eslint/scope-manager@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/scope-manager@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" - checksum: 10/a2cd6ad4b31f4d0ca6f94c4df8a94bdee762abd556686817ab4143d80a27506f43fbf96769b44e698d573784a464bfd78e0cbc17ac61c36a868e02311c754ce1 + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" + checksum: 10/e5738943b9af4a312e33d9db9362fcd0806f365655efb3df9db1ada5a3f0e974f73493b02727d31c3a06234c3bd8b7b7ddd5d492623c7c7547ec2085c1ac1e09 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/type-utils@npm:8.12.2" +"@typescript-eslint/type-utils@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/type-utils@npm:8.13.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.12.2" - "@typescript-eslint/utils": "npm:8.12.2" + "@typescript-eslint/typescript-estree": "npm:8.13.0" + "@typescript-eslint/utils": "npm:8.13.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/3563ff938a3a9afa341ef2e38974147a1655c46328f0dcd1c46c3999428efd7f4b9c4b57018122a898be7b23c532b88b0b2baa14d9f6338da8efc8488bb24f96 + checksum: 10/9718cd2c37dcb0bc2b234121629c41e24ade137f5ed915c3f597e53c3ca883d7ee2356f516f027307c12481a6af7620477bf4d6870ac454eb5c4afffbd1eab9e languageName: node linkType: hard -"@typescript-eslint/types@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/types@npm:8.12.2" - checksum: 10/57981e5fa45b03a0398ffb82418fdb716f476aa0b9c17d96edeb7fd3e3f4a720466868af7c2a02ddca65c27e70bfaff50c523b2a570582c4645a2702e17dc94a +"@typescript-eslint/types@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/types@npm:8.13.0" + checksum: 10/0051c4a798b8f328451290581f0c8c95acfcb988192647edcb9179013793b8ccc7110b5fee74207394340aca8919d9ca039de2bbd36f41c7693a99d1345092c3 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/typescript-estree@npm:8.12.2" +"@typescript-eslint/typescript-estree@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/visitor-keys": "npm:8.12.2" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/visitor-keys": "npm:8.13.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -13394,38 +13438,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/9995929ec4b66afa53d52c16f5cecd7c9aa45994f943c41e9ec91fe178593e83d9049ff056fe2638c3cf7da01476861eff0dc3cb76c314cc130458d3f828930d + checksum: 10/2aef1bda245ec66b0d0b1b3ed4ab672725ba33c16abc0781f4e0314cf638ef7b3b1d9682e8e9ee18f3e5e51bc4b22cc428c778c2927fd4cf8495dbe736ae522f languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/utils@npm:8.12.2" +"@typescript-eslint/utils@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/utils@npm:8.13.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.12.2" - "@typescript-eslint/types": "npm:8.12.2" - "@typescript-eslint/typescript-estree": "npm:8.12.2" + "@typescript-eslint/scope-manager": "npm:8.13.0" + "@typescript-eslint/types": "npm:8.13.0" + "@typescript-eslint/typescript-estree": "npm:8.13.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/4588866ca43314692a0e685d8936c470dca4e6d119a4a1adefbc2fd54682ff081bc21d60bf4e8077d3668aa680bada851b88566264d09c92a840fe2e4feb331b + checksum: 10/93ee0784f9865fee3e9cdc4796daaa7842a9e54b8436341b9b8367c69cbd90cac9da47669289967309f58ad63d8e68559d74972a34d531289637c8cac3415ed2 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/visitor-keys@npm:8.12.2" +"@typescript-eslint/visitor-keys@npm:8.13.0": + version: 8.13.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.13.0" dependencies: - "@typescript-eslint/types": "npm:8.12.2" + "@typescript-eslint/types": "npm:8.13.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/42795ad1c71520a367e2b53c3511b6cf922dcee05d61f6b0ec56b71c0b89a58889e0c3282b1bb13befc69df07204d0e4e053436d0c2b808460ce310b58a2a92e - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 + checksum: 10/630718da32ffa7144b7a8300802136a5fb3084c8b3dc7c277981939408b19d57214e0f721b8011f64ae083bac5367a8a319366c74ef7bcb9fd90508f780fb2de languageName: node linkType: hard @@ -13666,7 +13703,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -14113,9 +14150,9 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^9.0.1": - version: 9.0.1 - resolution: "concurrently@npm:9.0.1" +"concurrently@npm:^9.1.0": + version: 9.1.0 + resolution: "concurrently@npm:9.1.0" dependencies: chalk: "npm:^4.1.2" lodash: "npm:^4.17.21" @@ -14127,7 +14164,7 @@ __metadata: bin: conc: dist/bin/concurrently.js concurrently: dist/bin/concurrently.js - checksum: 10/aae80b641c61a46dbb8831b79c81506f1c0b95a438c408e6b36d9aa84eb453c4126c608e58e8ed57049e068a5d868d16645475e15b9bb7902d684cd0e0bd1b34 + checksum: 10/9ed158095a6dcb30b2fbc00f173a993d080b6eca466b8005650b051f82618991ba8ae76b39c41ae78780f83846154e5ec434753f402aa4401acf0ffb2422e1cf languageName: node linkType: hard @@ -14271,15 +14308,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -14699,88 +14727,97 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b languageName: node linkType: hard -"eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25 + languageName: node + linkType: hard + +"eslint@npm:^9.14.0": + version: 9.14.0 + resolution: "eslint@npm:9.14.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.7.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.14.0" + "@eslint/plugin-kit": "npm:^0.2.0" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.0" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c + checksum: 10/6ce59dda56ecff9483c6e8cd28e91138d2c43cbf08c923f731f507fd9b4aba9d72761c99882dc313a72ea915a5e380ab0b4f01e208a7a37d71490ddfd29ee063 languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/e65fcdfc1e0ff5effbf50fb4f31ea20143ae5df92bb2e4953653d8d40aa4bc148e0d06117a592ce4ea53eeab1dafdfded7ea7e22a5be87e82d73757329a1b01d + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a languageName: node linkType: hard @@ -14914,12 +14951,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard @@ -14961,14 +14998,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10/02381c6ece5e9fa5b826c9bbea481d7fd77645d96e4b0b1395238124d581d10e56f17f723d897b6d133970f7a57f0fab9148cbbb67237a0a0ffe794ba60c0c70 + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc languageName: node linkType: hard @@ -15057,13 +15093,6 @@ __metadata: languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96 - languageName: node - linkType: hard - "fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" @@ -15160,21 +15189,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b - languageName: node - linkType: hard - -"globals@npm:^13.19.0, globals@npm:^13.2.0": +"globals@npm:^13.2.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -15183,6 +15198,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + "graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -15357,23 +15379,6 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67 - languageName: node - linkType: hard - -"inherits@npm:2": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 - languageName: node - linkType: hard - "inquirer@npm:^12.0.1": version: 12.0.1 resolution: "inquirer@npm:12.0.1" @@ -15484,13 +15489,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 - languageName: node - linkType: hard - "is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -15647,7 +15645,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -15980,7 +15978,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -16313,15 +16311,6 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -16468,13 +16457,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -16801,17 +16783,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 - languageName: node - linkType: hard - "rimraf@npm:^6.0.1": version: 6.0.1 resolution: "rimraf@npm:6.0.1" @@ -16887,28 +16858,28 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.24.3": - version: 4.24.3 - resolution: "rollup@npm:4.24.3" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.24.3" - "@rollup/rollup-android-arm64": "npm:4.24.3" - "@rollup/rollup-darwin-arm64": "npm:4.24.3" - "@rollup/rollup-darwin-x64": "npm:4.24.3" - "@rollup/rollup-freebsd-arm64": "npm:4.24.3" - "@rollup/rollup-freebsd-x64": "npm:4.24.3" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.3" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.3" - "@rollup/rollup-linux-arm64-gnu": "npm:4.24.3" - "@rollup/rollup-linux-arm64-musl": "npm:4.24.3" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.3" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.3" - "@rollup/rollup-linux-s390x-gnu": "npm:4.24.3" - "@rollup/rollup-linux-x64-gnu": "npm:4.24.3" - "@rollup/rollup-linux-x64-musl": "npm:4.24.3" - "@rollup/rollup-win32-arm64-msvc": "npm:4.24.3" - "@rollup/rollup-win32-ia32-msvc": "npm:4.24.3" - "@rollup/rollup-win32-x64-msvc": "npm:4.24.3" +"rollup@npm:^4.24.4": + version: 4.24.4 + resolution: "rollup@npm:4.24.4" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.24.4" + "@rollup/rollup-android-arm64": "npm:4.24.4" + "@rollup/rollup-darwin-arm64": "npm:4.24.4" + "@rollup/rollup-darwin-x64": "npm:4.24.4" + "@rollup/rollup-freebsd-arm64": "npm:4.24.4" + "@rollup/rollup-freebsd-x64": "npm:4.24.4" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.4" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.4" + "@rollup/rollup-linux-arm64-gnu": "npm:4.24.4" + "@rollup/rollup-linux-arm64-musl": "npm:4.24.4" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.4" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.4" + "@rollup/rollup-linux-s390x-gnu": "npm:4.24.4" + "@rollup/rollup-linux-x64-gnu": "npm:4.24.4" + "@rollup/rollup-linux-x64-musl": "npm:4.24.4" + "@rollup/rollup-win32-arm64-msvc": "npm:4.24.4" + "@rollup/rollup-win32-ia32-msvc": "npm:4.24.4" + "@rollup/rollup-win32-x64-msvc": "npm:4.24.4" "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -16952,7 +16923,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10/23d9851bf9ac7f61590e401a790d2f266d46ce71b938429eae3523392a17147637420dfdd8344541b7b54e03ef4af7fa3deac7199f6a4bf5f06a286bd3b3ed97 + checksum: 10/a8ffde17d7cd5d9eaaf91bb025de83329b034771254d34b977df3f294e0992f6d89a444a0c8e9d73c8721d60cedf5be32fa8bd6f157874700bb8043c61ca660a languageName: node linkType: hard @@ -17403,11 +17374,12 @@ __metadata: version: 0.0.0-use.local resolution: "ts-for-gir@workspace:." dependencies: + "@eslint/js": "npm:^9.14.0" "@ts-for-gir/cli": "workspace:^" - "@typescript-eslint/eslint-plugin": "npm:^8.12.2" - "@typescript-eslint/parser": "npm:^8.12.2" - concurrently: "npm:^9.0.1" - eslint: "npm:^8.57.1" + "@typescript-eslint/eslint-plugin": "npm:^8.13.0" + "@typescript-eslint/parser": "npm:^8.13.0" + concurrently: "npm:^9.1.0" + eslint: "npm:^9.14.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-prettier: "npm:^5.2.1" prettier: "npm:^3.3.3" @@ -17852,13 +17824,6 @@ __metadata: languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 - languageName: node - linkType: hard - "xml2js@npm:^0.6.2": version: 0.6.2 resolution: "xml2js@npm:0.6.2"