diff --git a/package-lock.json b/package-lock.json index 58f2d088c33..898d0d816e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,7 @@ "gulp-uglify": "^3.0.1", "hammer-simulator": "0.0.1", "hammerjs": "^2.0.8", - "ig-typedoc-theme": "^6.0.0", + "ig-typedoc-theme": "^7.0.0", "igniteui-dockmanager": "^1.17.0", "igniteui-sassdoc-theme": "^2.1.0", "igniteui-webcomponents": "6.2.1", @@ -96,8 +96,8 @@ "stylelint-prettier": "^5.0.2", "stylelint-scss": "^6.9.0", "ts-node": "^10.8.1", - "typedoc": "^0.27.0", - "typedoc-plugin-localization": "^3.0.6", + "typedoc": "^0.28.14", + "typedoc-plugin-localization": "^3.1.0", "typescript": "5.8.3" } }, @@ -2748,15 +2748,59 @@ "license": "MIT" }, "node_modules/@gerrit0/mini-shiki": { - "version": "1.27.2", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.27.2.tgz", - "integrity": "sha512-GeWyHz8ao2gBiUW4OJnQDxXQnFgZQwwQk05t/CVVgNBN7/rK8XZ7xY6YhLVv9tH3VppWWmr9DCl3MwemB/i+Og==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.14.0.tgz", + "integrity": "sha512-c5X8fwPLOtUS8TVdqhynz9iV0GlOtFUT1ppXYzUUlEXe4kbZ/mvMT8wXoT8kCwUka+zsiloq7sD3pZ3+QVTuNQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^1.27.2", - "@shikijs/types": "^1.27.2", - "@shikijs/vscode-textmate": "^10.0.1" + "@shikijs/engine-oniguruma": "^3.14.0", + "@shikijs/langs": "^3.14.0", + "@shikijs/themes": "^3.14.0", + "@shikijs/types": "^3.14.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/engine-oniguruma": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.14.0.tgz", + "integrity": "sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.14.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/langs": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.14.0.tgz", + "integrity": "sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.14.0" + } + }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/themes": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.14.0.tgz", + "integrity": "sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.14.0" + } + }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/types": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.14.0.tgz", + "integrity": "sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" } }, "node_modules/@gulpjs/messages": { @@ -13354,17 +13398,17 @@ "license": "BSD-3-Clause" }, "node_modules/ig-typedoc-theme": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ig-typedoc-theme/-/ig-typedoc-theme-6.0.0.tgz", - "integrity": "sha512-J0YkfFnI6JPoi40vu3l/v7BazgxjXby5Z5uGsMsnNlfO/XaNC8ZfF5YoT4F0Zjz54OPUebBokoGHptWyfBoHJg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ig-typedoc-theme/-/ig-typedoc-theme-7.0.0.tgz", + "integrity": "sha512-+Nhz3C+TJnLdl0ms5c3SGltRJEGp5lt37x8OOQUzBMVODHXOP1j8i6WSfRCYFbM0AILZ8e4A5YwD08ht39qCAg==", "dev": true, "license": "MIT", "dependencies": { - "typedoc-plugin-localization": "^3.0.6" + "typedoc-plugin-localization": "^3.1.0" }, "peerDependencies": { - "typedoc": "^0.27.0", - "typedoc-plugin-localization": "^3.0.6" + "typedoc": "^0.28.14", + "typedoc-plugin-localization": "^3.1.0" } }, "node_modules/igniteui-dockmanager": { @@ -23867,32 +23911,33 @@ } }, "node_modules/typedoc": { - "version": "0.27.9", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.27.9.tgz", - "integrity": "sha512-/z585740YHURLl9DN2jCWe6OW7zKYm6VoQ93H0sxZ1cwHQEQrUn5BJrEnkWhfzUdyO+BLGjnKUZ9iz9hKloFDw==", + "version": "0.28.14", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.14.tgz", + "integrity": "sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^1.24.0", + "@gerrit0/mini-shiki": "^3.12.0", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", - "yaml": "^2.6.1" + "yaml": "^2.8.1" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 18" + "node": ">= 18", + "pnpm": ">= 10" }, "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x" } }, "node_modules/typedoc-plugin-localization": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/typedoc-plugin-localization/-/typedoc-plugin-localization-3.0.6.tgz", - "integrity": "sha512-v4falP3swMv+YzlTBkOgYx/59Y1D8RZufqwPrch9s3j3CsQ7aRlYP6n1Vqjuk/SLCxdou8L3tJmPvfVBoPhJRg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-localization/-/typedoc-plugin-localization-3.1.0.tgz", + "integrity": "sha512-IiLBuWzMnn+IzIF8LpqSuKDEi6HLQ/D+Rd62ZnZwO4bVpKnKBZLhiaQuJPWmLoWxSVL/K2RhEY3Sz/UT2RVmHA==", "dev": true, "license": "MIT", "dependencies": { @@ -25396,9 +25441,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index 169ead2725f..0f415c27b91 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "gulp-uglify": "^3.0.1", "hammer-simulator": "0.0.1", "hammerjs": "^2.0.8", - "ig-typedoc-theme": "^6.0.0", + "ig-typedoc-theme": "^7.0.0", "igniteui-dockmanager": "^1.17.0", "igniteui-sassdoc-theme": "^2.1.0", "igniteui-webcomponents": "6.2.1", @@ -146,8 +146,8 @@ "stylelint-prettier": "^5.0.2", "stylelint-scss": "^6.9.0", "ts-node": "^10.8.1", - "typedoc": "^0.27.0", - "typedoc-plugin-localization": "^3.0.6", + "typedoc": "^0.28.14", + "typedoc-plugin-localization": "^3.1.0", "typescript": "5.8.3" } } diff --git a/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts b/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts index 0aa6c387e9f..7935d7e8119 100644 --- a/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts +++ b/projects/igniteui-angular/src/lib/services/excel/excel-exporter.ts @@ -146,7 +146,7 @@ export class IgxExcelExporterService extends IgxBaseExporter { } private saveFile(data: Uint8Array, fileName: string): void { - const blob = new Blob([data], { + const blob = new Blob([data as BlobPart], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); diff --git a/scripts/build-typedoc.mjs b/scripts/build-typedoc.mjs index 51dfddca7ee..5e922fda2f7 100644 --- a/scripts/build-typedoc.mjs +++ b/scripts/build-typedoc.mjs @@ -1,46 +1,35 @@ import path from "path"; -import { fileURLToPath } from "url"; +import { fileURLToPath } from "node:url"; import { Application } from "typedoc"; import getArgs from "./get-args.mjs"; const product = "ignite-ui-angular"; const { localize, jsonExport, jsonImport } = getArgs(); const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const DEST = path.join.bind( - null, - path.resolve(__dirname, "../dist/igniteui-angular/docs"), -); +const toPosix = (p) => String(p).replace(/\\/g, "/"); +const ROOT = (...segments) => toPosix(path.resolve(__dirname, "..", ...segments)); /* * Determines the entry points for the documentation generation. */ function entryPoints() { if (localize === "jp") { - return path.resolve( - __dirname, - "../i18nRepo/typedoc/ja/igniteui-angular.json", - ); + return ROOT("i18nRepo", "typedoc", "ja", "igniteui-angular.json"); } if (jsonImport) { - return path.resolve( - __dirname, - "../dist/igniteui-angular/docs/typescript-exported/igniteui-angular.json", - ); + return ROOT("dist", "igniteui-angular", "docs", "typescript-exported", "igniteui-angular.json"); } - return path.resolve( - __dirname, - "../projects/igniteui-angular/src/public_api.ts", - ); + return ROOT("projects", "igniteui-angular", "src", "public_api.ts"); } /* * The output directory for the static site or json generation. */ const OUT_DIR = jsonExport - ? DEST("/typescript-exported/igniteui-angular.json") - : DEST("/typescript"); + ? ROOT("dist", "igniteui-angular", "docs", "typescript-exported", "igniteui-angular.json") + : ROOT("dist", "igniteui-angular", "docs", "typescript"); /* * The Typedoc configuration object. @@ -50,11 +39,8 @@ const CONFIG = { entryPoints: entryPoints(), entryPointStrategy: jsonImport || localize === "jp" ? "merge" : "resolve", plugin: [ - path.resolve( - __dirname, - "../node_modules/typedoc-plugin-localization/dist/index.js", - ), - path.resolve(__dirname, "../node_modules/ig-typedoc-theme/dist/index.js"), + ROOT("node_modules", "typedoc-plugin-localization", "dist", "index.js"), + ROOT("node_modules", "ig-typedoc-theme", "dist", "index.js"), ], theme: "igtheme", excludePrivate: true, @@ -62,7 +48,9 @@ const CONFIG = { name: "Ignite UI for Angular", readme: "none", out: OUT_DIR, - tsconfig: path.resolve(__dirname, "../tsconfig.typedoc.json"), + router: "structure", + logLevel: "Verbose", + tsconfig: ROOT("tsconfig.typedoc.json") }; async function main() { @@ -73,10 +61,7 @@ async function main() { app.options.setValue('versioning', true); if (localize === "jp") { - const jpTemplateStrings = path.resolve( - __dirname, - "../extras/template/strings/shell-strings.json", - ); + const jpTemplateStrings = ROOT("extras", "template", "strings", "shell-strings.json"); app.options.setValue("templateStrings", jpTemplateStrings); }