From dcb83be02d99bb1b16a773468c705b4f99591d93 Mon Sep 17 00:00:00 2001 From: "danny@gimenez.biz" Date: Mon, 27 May 2024 08:59:49 -0400 Subject: [PATCH] Fixes #93 --- .eslintrc.json | 11 +- package-lock.json | 608 ++++++------------ package.json | 16 +- .../interpolation-demo.component.ts | 2 - .../multiple-numbers-demo.component.ts | 2 - .../simple-demo/simple-demo.component.ts | 2 - .../demo/src/app/services/demos-sources.ts | 6 +- .../src/app/services/stackblitz-templates.ts | 6 +- scripts/stackblitz-template-app/angular.json | 2 +- scripts/stackblitz-template-app/package.json | 6 +- .../src/{styles.scss => styles.css} | 0 11 files changed, 233 insertions(+), 428 deletions(-) rename scripts/stackblitz-template-app/src/{styles.scss => styles.css} (100%) diff --git a/.eslintrc.json b/.eslintrc.json index b740097..5116e2e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -6,8 +6,9 @@ "*.ts" ], "extends": [ - "plugin:@angular-eslint/recommended", + "eslint:recommended", "plugin:@typescript-eslint/recommended", + "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates" ], "parserOptions": { @@ -29,11 +30,9 @@ "*.html" ], "extends": [ - "plugin:@angular-eslint/template/recommended" - ], - "rules": { - "@typescript-eslint/no-inferrable-types": "off" - } + "plugin:@angular-eslint/template/recommended", + "plugin:@angular-eslint/template/accessibility" + ] } ] } diff --git a/package-lock.json b/package-lock.json index 9ba28db..34a74c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@angular/animations": "^18.0.0", - "@angular/cdk": "^17.2.2", + "@angular/cdk": "^18.0.0", "@angular/common": "^18.0.0", "@angular/compiler": "^18.0.0", "@angular/core": "^18.0.0", @@ -33,11 +33,11 @@ }, "devDependencies": { "@angular-devkit/build-angular": "^18.0.1", - "@angular-eslint/builder": "^17.2.1", - "@angular-eslint/eslint-plugin": "^17.2.1", - "@angular-eslint/eslint-plugin-template": "^17.2.1", - "@angular-eslint/schematics": "^17.2.1", - "@angular-eslint/template-parser": "^17.2.1", + "@angular-eslint/builder": "^17.5.1", + "@angular-eslint/eslint-plugin": "^17.5.1", + "@angular-eslint/eslint-plugin-template": "^17.5.1", + "@angular-eslint/schematics": "^17.5.1", + "@angular-eslint/template-parser": "^17.5.1", "@angular/cli": "^18.0.1", "@angular/compiler-cli": "^18.0.0", "@tailwindcss/container-queries": "^0.1.1", @@ -50,7 +50,7 @@ "browser-sync": "^3.0.0", "cpy-cli": "^5.0.0", "daisyui": "^4.11.1", - "eslint": "^9.3.0", + "eslint": "^8.57.0", "glob": "^10.4.1", "istanbul-badges-readme": "^1.9.0", "jasmine-core": "~5.1.2", @@ -410,13 +410,13 @@ } }, "node_modules/@angular-eslint/builder": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-17.2.1.tgz", - "integrity": "sha512-O30eaR0wCPiP+zKWvXj2JM8hVq30Wok2rp7zJMFm3PurjF9nWIIyexXkE5fa538DYZYxu8N3gQRqhpv5jvTXCg==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-17.5.1.tgz", + "integrity": "sha512-PWnH1t/Tdrdh+JwTJ87iXW//n1DPf3zF2MeKKfw8tiNOKjmCReL09KTabv+1Tbnm5B0ih6eOWCUG1N9VmcCubg==", "dev": true, "dependencies": { - "@nx/devkit": "17.2.8", - "nx": "17.2.8" + "@nx/devkit": "^17.2.8 || ^18.0.0 || ^19.0.0", + "nx": "^17.2.8 || ^18.0.0 || ^19.0.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -424,19 +424,20 @@ } }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-17.2.1.tgz", - "integrity": "sha512-puC0itsZv2QlrDOCcWtq1KZH+DvfrpV+mV78HHhi6+h25R5iIhr8ARKcl3EQxFjvrFq34jhG8pSupxKvFbHVfA==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-17.5.1.tgz", + "integrity": "sha512-2gYFcWsGcw3BytCzt6DzKNayOHhW1dhMAgttor94lXLYOYN82eLGomC+aZF/U6fqVGBjm5JIEJpWbNF+NawZ7w==", "dev": true }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-17.2.1.tgz", - "integrity": "sha512-9yA81BHpsaCUKRBtHGN3ieAy8HpIoffzPQMu34lYqZFT4yGHGhYmhQjNSQGBRbV2LD9dVv2U35rMHNmUcozXpw==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-17.5.1.tgz", + "integrity": "sha512-6/BLBJatp4DK9XtiVIh3UGIkZkikmtnV3tSvxtxG0LR1/zY+iWZIyQlmoJ42jRh3F0L46lmb14Z0iaIsPXuRGQ==", "dev": true, "dependencies": { - "@angular-eslint/utils": "17.2.1", - "@typescript-eslint/utils": "6.19.0" + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@angular-eslint/utils": "17.5.1", + "@typescript-eslint/utils": "7.10.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -444,15 +445,15 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-17.2.1.tgz", - "integrity": "sha512-hl1hcHtcm90wyVL1OQGTz16oA0KHon+FFb3Qg0fLXObaXxA495Ecefd9ub5Xxg4JEOPRDi29bF1Y3YKpwflgeg==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-17.5.1.tgz", + "integrity": "sha512-OgTN6ogZSA7Fi/9Zfk3EZumr06MZPXyI7Y9A09WzkjgUikCXDNoYwvkT4Bh0jOtwDDhtAAFC9/TehJQj7f4o5A==", "dev": true, "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.2.1", - "@angular-eslint/utils": "17.2.1", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@angular-eslint/utils": "17.5.1", + "@typescript-eslint/type-utils": "7.10.0", + "@typescript-eslint/utils": "7.10.0", "aria-query": "5.3.0", "axobject-query": "4.0.0" }, @@ -462,30 +463,30 @@ } }, "node_modules/@angular-eslint/schematics": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-17.2.1.tgz", - "integrity": "sha512-7ldtIePI4ZTp/TBpeOZkzfv30HSAn//4TgtFuqvojudI8n8batV5FqQ0VNm1e0zitl75t8Zwtr0KYT4I6vh59g==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-17.5.1.tgz", + "integrity": "sha512-TvmsY08ViPqjUGAGl4ED477XzQ9qj7NXhZKN2aphIT+gZ8wVnOoBSWy+n2OSicrM6Eb0MSyACLZHnoD06+Z2sQ==", "dev": true, "dependencies": { - "@angular-eslint/eslint-plugin": "17.2.1", - "@angular-eslint/eslint-plugin-template": "17.2.1", - "@nx/devkit": "17.2.8", - "ignore": "5.3.0", - "nx": "17.2.8", + "@angular-eslint/eslint-plugin": "17.5.1", + "@angular-eslint/eslint-plugin-template": "17.5.1", + "@nx/devkit": "^17.2.8 || ^18.0.0 || ^19.0.0", + "ignore": "5.3.1", + "nx": "^17.2.8 || ^18.0.0 || ^19.0.0", "strip-json-comments": "3.1.1", - "tmp": "0.2.1" + "tmp": "0.2.3" }, "peerDependencies": { "@angular/cli": ">= 17.0.0 < 18.0.0" } }, "node_modules/@angular-eslint/template-parser": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-17.2.1.tgz", - "integrity": "sha512-WPQYFvRju0tCDXQ/pwrzC911pE07JvpeDgcN2elhzV6lxDHJEZpA5O9pnW9qgNA6J6XM9Q7dBkJ22ztAzC4WFw==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-17.5.1.tgz", + "integrity": "sha512-DJcYacYEb17uUlQFYIKSjmlzWJEfev5pOMddDewV3h6oVm4T77X1SH/u8n5Oz1Zy13TrLWponwFORCKhg7nOfg==", "dev": true, "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.2.1", + "@angular-eslint/bundled-angular-compiler": "17.5.1", "eslint-scope": "^8.0.0" }, "peerDependencies": { @@ -494,13 +495,13 @@ } }, "node_modules/@angular-eslint/utils": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-17.2.1.tgz", - "integrity": "sha512-qQYTBXy90dWM7fhhpa5i9lTtqqhJisvRa+naCrQx9kBgR458JScLdkVIdcZ9D/rPiDCmKiVUfgcDISnjUeqTqg==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-17.5.1.tgz", + "integrity": "sha512-Rji1fC9OLDzRaeM2Aven0HdEnqaIgLn5cD6JQphTi1o4TzIXAcSrB9g52dVkH3RnqtOGYSIfFpA6+lQfn7wLOA==", "dev": true, "dependencies": { - "@angular-eslint/bundled-angular-compiler": "17.2.1", - "@typescript-eslint/utils": "6.19.0" + "@angular-eslint/bundled-angular-compiler": "17.5.1", + "@typescript-eslint/utils": "7.10.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -659,9 +660,9 @@ } }, "node_modules/@angular/cdk": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.2.2.tgz", - "integrity": "sha512-no3FownDI+05SvCGOxduramTJw+V5p/rKebz4msZbsAXXLnOScZPN2rDgMKShl2dQokc6gjsKXsy8fAYpx7NSQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.0.0.tgz", + "integrity": "sha512-V0i1SAiT2PTNyugBW0E4fev8G/4XP5FdyX2YD6oc5sNyt3GFcoDNHcz+oEne8+aYVnQ3Ax9Zutq/SQincDHIbw==", "dependencies": { "tslib": "^2.3.0" }, @@ -669,8 +670,8 @@ "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^17.0.0 || ^18.0.0", - "@angular/core": "^17.0.0 || ^18.0.0", + "@angular/common": "^18.0.0 || ^19.0.0", + "@angular/core": "^18.0.0 || ^19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3184,15 +3185,15 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -3200,7 +3201,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3229,12 +3230,15 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3258,13 +3262,25 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.3.0.tgz", - "integrity": "sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@fortawesome/angular-fontawesome": { @@ -3325,12 +3341,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", + "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -3357,19 +3373,6 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "node_modules/@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@inquirer/figures": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.2.tgz", @@ -4944,12 +4947,6 @@ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -5031,64 +5028,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz", - "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.10.0", - "@typescript-eslint/utils": "7.10.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", - "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/typescript-estree": "7.10.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/@typescript-eslint/parser": { "version": "7.10.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz", @@ -5135,66 +5074,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", - "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz", + "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/typescript-estree": "7.10.0", + "@typescript-eslint/utils": "7.10.0", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -5202,47 +5100,6 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/types": { "version": "7.10.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", @@ -5309,127 +5166,25 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", + "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "semver": "^7.5.4" + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/typescript-estree": "7.10.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "eslint": "^8.56.0" } }, "node_modules/@typescript-eslint/visitor-keys": { @@ -5449,6 +5204,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", @@ -7956,6 +7717,18 @@ "node": ">=6" } }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -8448,37 +8221,41 @@ } }, "node_modules/eslint": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.3.0.tgz", - "integrity": "sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.3.0", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", + "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.1", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", @@ -8492,7 +8269,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -8557,6 +8334,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8603,13 +8386,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -8643,6 +8430,21 @@ "node": ">=10.13.0" } }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8652,6 +8454,18 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -8715,30 +8529,30 @@ "node": ">=8" } }, - "node_modules/espree": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", - "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9058,15 +8872,15 @@ } }, "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "flat-cache": "^4.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=16.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/filelist": { @@ -9195,16 +9009,17 @@ } }, "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.4" + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=16" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -9873,9 +9688,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -15695,15 +15510,12 @@ "dev": true }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/to-fast-properties": { diff --git a/package.json b/package.json index 35145a7..3324141 100644 --- a/package.json +++ b/package.json @@ -13,13 +13,13 @@ "test": "ng test signal-generators --code-coverage true", "test-coverage": "ng test signal-generators --code-coverage true --watch false", "generate-coverage-badge": "npx istanbul-badges-readme --coverageDir=\"./coverage/signal-generators\"", - "lint": "ng lint signal-generators", + "lint": "ng lint", "serve:ssr:demo": "ng build demo --verbose true --configuration development --watch true & node dist/demo/server/server.mjs" }, "private": true, "dependencies": { "@angular/animations": "^18.0.0", - "@angular/cdk": "^17.2.2", + "@angular/cdk": "^18.0.0", "@angular/common": "^18.0.0", "@angular/compiler": "^18.0.0", "@angular/core": "^18.0.0", @@ -43,11 +43,11 @@ }, "devDependencies": { "@angular-devkit/build-angular": "^18.0.1", - "@angular-eslint/builder": "^17.2.1", - "@angular-eslint/eslint-plugin": "^17.2.1", - "@angular-eslint/eslint-plugin-template": "^17.2.1", - "@angular-eslint/schematics": "^17.2.1", - "@angular-eslint/template-parser": "^17.2.1", + "@angular-eslint/builder": "^17.5.1", + "@angular-eslint/eslint-plugin": "^17.5.1", + "@angular-eslint/eslint-plugin-template": "^17.5.1", + "@angular-eslint/schematics": "^17.5.1", + "@angular-eslint/template-parser": "^17.5.1", "@angular/cli": "^18.0.1", "@angular/compiler-cli": "^18.0.0", "@tailwindcss/container-queries": "^0.1.1", @@ -60,7 +60,7 @@ "browser-sync": "^3.0.0", "cpy-cli": "^5.0.0", "daisyui": "^4.11.1", - "eslint": "^9.3.0", + "eslint": "^8.57.0", "glob": "^10.4.1", "istanbul-badges-readme": "^1.9.0", "jasmine-core": "~5.1.2", diff --git a/projects/demo/src/app/demos/tween-signal/interpolation-demo/interpolation-demo.component.ts b/projects/demo/src/app/demos/tween-signal/interpolation-demo/interpolation-demo.component.ts index 899aff0..b92694b 100644 --- a/projects/demo/src/app/demos/tween-signal/interpolation-demo/interpolation-demo.component.ts +++ b/projects/demo/src/app/demos/tween-signal/interpolation-demo/interpolation-demo.component.ts @@ -17,8 +17,6 @@ export class InterpolationDemoComponent { duration: 2000, interpolator: stringInterpolationFactory }); - /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */ - private readonly _ = effect(() => console.log(this.$stringInterpolationTween())); } /** Weights the interpolation so the second half takes longer than the first. */ diff --git a/projects/demo/src/app/demos/tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts b/projects/demo/src/app/demos/tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts index cfe85d8..42bcc93 100644 --- a/projects/demo/src/app/demos/tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts +++ b/projects/demo/src/app/demos/tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts @@ -13,6 +13,4 @@ import { EasingSelectorComponent } from '../shared/easing-selector.component'; export class MultipleNumbersDemoComponent { readonly $easingFn = signal(easeInBack); readonly $coords = tweenSignal([0, 0], { easing: this.$easingFn() }); - /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */ - private readonly _ = effect(() => console.log(this.$coords())); } diff --git a/projects/demo/src/app/demos/tween-signal/simple-demo/simple-demo.component.ts b/projects/demo/src/app/demos/tween-signal/simple-demo/simple-demo.component.ts index 4655410..2bf4599 100644 --- a/projects/demo/src/app/demos/tween-signal/simple-demo/simple-demo.component.ts +++ b/projects/demo/src/app/demos/tween-signal/simple-demo/simple-demo.component.ts @@ -12,6 +12,4 @@ import { EasingSelectorComponent } from '../shared/easing-selector.component'; export class SimpleDemoComponent { readonly $easingFn = signal(easeInBack); readonly $sliderValue = tweenSignal(0, { easing: this.$easingFn() }); - /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */ - private readonly _ = effect(() => console.log(this.$sliderValue())); } diff --git a/projects/demo/src/app/services/demos-sources.ts b/projects/demo/src/app/services/demos-sources.ts index 48e4021..4076be7 100644 --- a/projects/demo/src/app/services/demos-sources.ts +++ b/projects/demo/src/app/services/demos-sources.ts @@ -1,10 +1,10 @@ export default { - "tween-signal/simple-demo/simple-demo.component.ts": "import { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\r\nimport { EasingFn, easeInBack , tweenSignal } from '@ddtmm/angular-signal-generators';\r\nimport { EasingSelectorComponent } from '../shared/easing-selector.component';\r\n\r\n@Component({\r\n selector: 'app-simple-demo',\r\n standalone: true,\r\n imports: [EasingSelectorComponent],\r\n templateUrl: './simple-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimpleDemoComponent {\r\n readonly $easingFn = signal(easeInBack);\r\n readonly $sliderValue = tweenSignal(0, { easing: this.$easingFn() });\r\n /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */\r\n private readonly _ = effect(() => console.log(this.$sliderValue()));\r\n}\r\n", + "tween-signal/simple-demo/simple-demo.component.ts": "import { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\r\nimport { EasingFn, easeInBack , tweenSignal } from '@ddtmm/angular-signal-generators';\r\nimport { EasingSelectorComponent } from '../shared/easing-selector.component';\r\n\r\n@Component({\r\n selector: 'app-simple-demo',\r\n standalone: true,\r\n imports: [EasingSelectorComponent],\r\n templateUrl: './simple-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimpleDemoComponent {\r\n readonly $easingFn = signal(easeInBack);\r\n readonly $sliderValue = tweenSignal(0, { easing: this.$easingFn() });\r\n}\r\n", "tween-signal/simple-demo/simple-demo.component.html": "
\r\n Easing Function\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", "tween-signal/shared/easing-selector.component.ts": "import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EasingFn, easeInBack, easings } from '@ddtmm/angular-signal-generators';\r\n\r\ntype EasingFnName = keyof typeof easings;\r\n\r\n@Component({\r\n selector: 'app-easing-selector',\r\n standalone: true,\r\n imports: [FormsModule],\r\n template: `\r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class EasingSelectorComponent {\r\n readonly easingNames = Object.keys(easings) as EasingFnName[];\r\n readonly $easingFn = model(easeInBack, { alias: 'easingFn'});\r\n readonly $easingFnName = computed(() => this.getEasingName(this.$easingFn()));\r\n\r\n /** Retrieves the name of the easing function based on the provided easing function or returns \"linear\". */\r\n getEasingName(easingFn: EasingFn): EasingFnName {\r\n return Object.entries(easings).find(([, value]) => value === easingFn)?.[0] as EasingFnName || 'linear';\r\n }\r\n\r\n /** Sets $easingFn based on the provided easingFnName. */\r\n setEasingFn(easingFnName: EasingFnName): void {\r\n this.$easingFn.set(easings[easingFnName]);\r\n }\r\n}\r\n", - "tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts": "import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\r\nimport { EasingFn, easeInBack, tweenSignal } from '@ddtmm/angular-signal-generators';\r\nimport { EasingSelectorComponent } from '../shared/easing-selector.component';\r\n\r\n@Component({\r\n selector: 'app-multiple-numbers-demo',\r\n standalone: true,\r\n imports: [CommonModule, EasingSelectorComponent],\r\n templateUrl: './multiple-numbers-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultipleNumbersDemoComponent {\r\n readonly $easingFn = signal(easeInBack);\r\n readonly $coords = tweenSignal([0, 0], { easing: this.$easingFn() });\r\n /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */\r\n private readonly _ = effect(() => console.log(this.$coords()));\r\n}\r\n", + "tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.ts": "import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\r\nimport { EasingFn, easeInBack, tweenSignal } from '@ddtmm/angular-signal-generators';\r\nimport { EasingSelectorComponent } from '../shared/easing-selector.component';\r\n\r\n@Component({\r\n selector: 'app-multiple-numbers-demo',\r\n standalone: true,\r\n imports: [CommonModule, EasingSelectorComponent],\r\n templateUrl: './multiple-numbers-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultipleNumbersDemoComponent {\r\n readonly $easingFn = signal(easeInBack);\r\n readonly $coords = tweenSignal([0, 0], { easing: this.$easingFn() });\r\n}\r\n", "tween-signal/multiple-numbers-demo/multiple-numbers-demo.component.html": "

\r\n You can tween between array values of equal length.\r\n Here the array is an set of coordinates that changes with each change of the control surface.\r\n

\r\n
\r\n Easing Function\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", - "tween-signal/interpolation-demo/interpolation-demo.component.ts": "import { ChangeDetectionStrategy, Component, effect } from '@angular/core';\r\nimport { InterpolateStepFn, sequenceSignal, tweenSignal } from '@ddtmm/angular-signal-generators';\r\n\r\n@Component({\r\n selector: 'app-interpolation-demo',\r\n standalone: true,\r\n templateUrl: './interpolation-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class InterpolationDemoComponent {\r\n readonly $stringInterpolationSequence = sequenceSignal([\r\n 'Press the button to see lame typing effect.',\r\n 'I should put something funny here!',\r\n 'Does anybody know what a typewriter is?'\r\n ]);\r\n readonly $stringInterpolationTween = tweenSignal(this.$stringInterpolationSequence, {\r\n duration: 2000,\r\n interpolator: stringInterpolationFactory\r\n });\r\n /** This is here as a workaround for an issue with tweenSignal that appears to only occur in StackBlitz. */\r\n private readonly _ = effect(() => console.log(this.$stringInterpolationTween()));\r\n}\r\n\r\n/** Weights the interpolation so the second half takes longer than the first. */\r\nfunction stringInterpolationFactory(a: string, b: string): InterpolateStepFn {\r\n const midPoint = (a.length / Math.max(1, a.length + b.length)) * 0.25;\r\n\r\n return (progress: number): string => {\r\n switch (progress) {\r\n case 0:\r\n return a;\r\n case 1:\r\n return b;\r\n default:\r\n const aProgress = midPoint !== 0 ? Math.min(1, progress / midPoint) : 1;\r\n const bProgress = midPoint !== 1 ? Math.max(0, (progress - midPoint) / (1 - midPoint)) : 1;\r\n return a.slice(0, Math.floor((1 - aProgress) * a.length)) + b.slice(0, Math.floor(bProgress * b.length));\r\n }\r\n };\r\n}\r\n", + "tween-signal/interpolation-demo/interpolation-demo.component.ts": "import { ChangeDetectionStrategy, Component, effect } from '@angular/core';\r\nimport { InterpolateStepFn, sequenceSignal, tweenSignal } from '@ddtmm/angular-signal-generators';\r\n\r\n@Component({\r\n selector: 'app-interpolation-demo',\r\n standalone: true,\r\n templateUrl: './interpolation-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class InterpolationDemoComponent {\r\n readonly $stringInterpolationSequence = sequenceSignal([\r\n 'Press the button to see lame typing effect.',\r\n 'I should put something funny here!',\r\n 'Does anybody know what a typewriter is?'\r\n ]);\r\n readonly $stringInterpolationTween = tweenSignal(this.$stringInterpolationSequence, {\r\n duration: 2000,\r\n interpolator: stringInterpolationFactory\r\n });\r\n}\r\n\r\n/** Weights the interpolation so the second half takes longer than the first. */\r\nfunction stringInterpolationFactory(a: string, b: string): InterpolateStepFn {\r\n const midPoint = (a.length / Math.max(1, a.length + b.length)) * 0.25;\r\n\r\n return (progress: number): string => {\r\n switch (progress) {\r\n case 0:\r\n return a;\r\n case 1:\r\n return b;\r\n default:\r\n const aProgress = midPoint !== 0 ? Math.min(1, progress / midPoint) : 1;\r\n const bProgress = midPoint !== 1 ? Math.max(0, (progress - midPoint) / (1 - midPoint)) : 1;\r\n return a.slice(0, Math.floor((1 - aProgress) * a.length)) + b.slice(0, Math.floor(bProgress * b.length));\r\n }\r\n };\r\n}\r\n", "tween-signal/interpolation-demo/interpolation-demo.component.html": "
\r\n
\r\n You can tween between anything as long as there is an interpolation function that can translate progress into a value.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{$stringInterpolationTween()}}\r\n
\r\n
\r\n
\r\n
\r\n", "timer-signal/timer-signal-demo/timer-signal-demo.component.ts": "import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, computed, effect, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { timerSignal } from '@ddtmm/angular-signal-generators';\r\n\r\n@Component({\r\n selector: 'app-timer-signal-demo',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './timer-signal-demo.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TimerSignalDemoComponent {\r\n\r\n readonly $executions = signal(0);\r\n readonly $intervalRange = signal(500);\r\n readonly $mode = signal<'timeout' | 'interval'>('interval');\r\n readonly $timer = computed(() => this.$mode() === 'timeout' ? this.$timeoutTimer : this.$intervalTimer);\r\n readonly $timeoutRange = signal(500);\r\n // timer signal and SSR don't mix.\r\n readonly $intervalTimer = timerSignal(this.$timeoutRange, this.$intervalRange);\r\n // timer signal and SSR don't mix.\r\n readonly $timeoutTimer = timerSignal(this.$timeoutRange);\r\n\r\n constructor() {\r\n effect(() => {\r\n const timerValue = this.$timer()();\r\n if (timerValue !== 0) {\r\n this.$executions.update(x => ++x);\r\n }\r\n }, { allowSignalWrites: true })\r\n }\r\n\r\n toggleMode(): void {\r\n this.$timer().pause();\r\n this.$mode.update(x => x === 'interval' ? 'timeout' : 'interval');\r\n this.$timer().restart();\r\n }\r\n}\r\n", "timer-signal/timer-signal-demo/timer-signal-demo.component.html": "
\r\n
\r\n

You controls to below to manipulate the timer. The right-most button will toggle between interval and timeout modes.

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Ticks since Restart
\r\n
{{$timer()()}}
\r\n
\r\n
\r\n
\r\n
\r\n
Total Ticks
\r\n
{{$executions()}}
\r\n
\r\n
\r\n
\r\n", diff --git a/projects/demo/src/app/services/stackblitz-templates.ts b/projects/demo/src/app/services/stackblitz-templates.ts index 915788c..ffb2207 100644 --- a/projects/demo/src/app/services/stackblitz-templates.ts +++ b/projects/demo/src/app/services/stackblitz-templates.ts @@ -2,9 +2,9 @@ export default { "tsconfig.json": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\r\n{\r\n \"compileOnSave\": false,\r\n \"compilerOptions\": {\r\n \"outDir\": \"./dist/out-tsc\",\r\n \"forceConsistentCasingInFileNames\": true,\r\n \"strict\": true,\r\n \"noImplicitOverride\": true,\r\n \"noPropertyAccessFromIndexSignature\": true,\r\n \"noImplicitReturns\": true,\r\n \"noFallthroughCasesInSwitch\": true,\r\n \"esModuleInterop\": true,\r\n \"sourceMap\": true,\r\n \"declaration\": false,\r\n \"downlevelIteration\": true,\r\n \"experimentalDecorators\": true,\r\n \"moduleResolution\": \"node\",\r\n \"importHelpers\": true,\r\n \"target\": \"ES2022\",\r\n \"module\": \"ES2022\",\r\n \"useDefineForClassFields\": false,\r\n \"lib\": [\"ES2022\", \"dom\"]\r\n },\r\n \"angularCompilerOptions\": {\r\n \"enableI18nLegacyMessageIdFormat\": false,\r\n \"strictInjectionParameters\": true,\r\n \"strictInputAccessModifiers\": true,\r\n \"strictTemplates\": true\r\n }\r\n}\r\n", "tsconfig.app.json": "/* To learn more about this file see: https://angular.io/config/tsconfig. */\r\n{\r\n \"extends\": \"./tsconfig.json\",\r\n \"compilerOptions\": {\r\n \"outDir\": \"./out-tsc/app\",\r\n \"types\": []\r\n },\r\n \"files\": [\"src/main.ts\"],\r\n \"include\": [\"src/**/*.d.ts\"]\r\n}\r\n", "tailwind.config.js": "/** @type {import('tailwindcss').Config} */\r\nmodule.exports = {\r\n content: [\r\n './src/**/*.{html,ts}',\r\n ],\r\n plugins: [\r\n require('daisyui')\r\n ],\r\n daisyui: {\r\n themes: [\"light\", \"dark\"],\r\n }\r\n}\r\n\r\n", - "package.json": "{\r\n \"name\": \"angular-starter\",\r\n \"private\": true,\r\n \"scripts\": {\r\n \"ng\": \"ng\",\r\n \"start\": \"ng serve\",\r\n \"build\": \"ng build\"\r\n },\r\n \"dependencies\": {\r\n \"@angular/animations\": \"^18.0.0\",\r\n \"@angular/common\": \"^18.0.0\",\r\n \"@angular/compiler\": \"^18.0.0\",\r\n \"@angular/core\": \"^18.0.0\",\r\n \"@angular/forms\": \"^18.0.0\",\r\n \"@angular/platform-browser\": \"^18.0.0\",\r\n \"@ddtmm/angular-signal-generators\": \"^2.0.0\",\r\n \"rxjs\": \"^7.8.1\",\r\n \"tslib\": \"^2.5.0\",\r\n \"zone.js\": \"~0.14.0\"\r\n },\r\n \"devDependencies\": {\r\n \"@angular-devkit/build-angular\": \"^18.0.0\",\r\n \"@angular/cli\": \"^18.0.0\",\r\n \"@angular/compiler-cli\": \"^18.0.0\",\r\n \"autoprefixer\": \"^10.4.19\",\r\n \"daisyui\": \"^4.11.1\",\r\n \"postcss\": \"^8.4.38\",\r\n \"tailwindcss\": \"^3.4.3\",\r\n \"typescript\": \"~5.4.5\"\r\n },\r\n \"overrides\": {\r\n \"@angular-devkit/build-angular\": {\r\n \"piscina\": \"~4.2.0\"\r\n }\r\n }\r\n}\r\n", - "angular.json": "{\r\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\r\n \"cli\": {\r\n \"analytics\": \"1e1de97b-a744-405a-8b5a-0397bb3d01ce\"\r\n },\r\n \"newProjectRoot\": \"projects\",\r\n \"projects\": {\r\n \"demo\": {\r\n \"architect\": {\r\n \"build\": {\r\n \"builder\": \"@angular-devkit/build-angular:application\",\r\n \"configurations\": {\r\n \"development\": {\r\n \"extractLicenses\": false,\r\n \"namedChunks\": true,\r\n \"optimization\": false,\r\n \"sourceMap\": true\r\n },\r\n \"production\": {\r\n \"aot\": true,\r\n \"extractLicenses\": true,\r\n \"namedChunks\": false,\r\n \"optimization\": true,\r\n \"outputHashing\": \"all\",\r\n \"sourceMap\": false\r\n }\r\n },\r\n \"options\": {\r\n \"assets\": [],\r\n \"index\": \"src/index.html\",\r\n \"browser\": \"src/main.ts\",\r\n \"outputPath\": \"dist/demo\",\r\n \"scripts\": [],\r\n \"styles\": [\"src/styles.scss\"],\r\n \"tsConfig\": \"tsconfig.app.json\"\r\n }\r\n },\r\n \"serve\": {\r\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\r\n \"configurations\": {\r\n \"development\": {\r\n \"buildTarget\": \"demo:build:development\"\r\n },\r\n \"production\": {\r\n \"buildTarget\": \"demo:build:production\"\r\n }\r\n },\r\n \"defaultConfiguration\": \"development\"\r\n }\r\n },\r\n \"prefix\": \"app\",\r\n \"projectType\": \"application\",\r\n \"root\": \"\",\r\n \"schematics\": {},\r\n \"sourceRoot\": \"src\"\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n", - "src/styles.scss": "@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n", + "package.json": "{\r\n \"name\": \"angular-signal-generators-demo\",\r\n \"private\": true,\r\n \"scripts\": {\r\n \"ng\": \"ng\",\r\n \"start\": \"ng serve\",\r\n \"build\": \"ng build\"\r\n },\r\n \"dependencies\": {\r\n \"@angular/animations\": \"^18.0.0\",\r\n \"@angular/common\": \"^18.0.0\",\r\n \"@angular/compiler\": \"^18.0.0\",\r\n \"@angular/core\": \"^18.0.0\",\r\n \"@angular/forms\": \"^18.0.0\",\r\n \"@angular/platform-browser\": \"^18.0.0\",\r\n \"@ddtmm/angular-signal-generators\": \"^2.0.0\",\r\n \"rxjs\": \"^7.8.1\",\r\n \"tslib\": \"^2.5.0\",\r\n \"zone.js\": \"~0.14.0\"\r\n },\r\n \"devDependencies\": {\r\n \"@angular-devkit/build-angular\": \"^18.0.1\",\r\n \"@angular/cli\": \"^18.0.1\",\r\n \"@angular/compiler-cli\": \"^18.0.0\",\r\n \"autoprefixer\": \"^10.4.19\",\r\n \"daisyui\": \"^4.11.1\",\r\n \"postcss\": \"^8.4.38\",\r\n \"tailwindcss\": \"^3.4.3\",\r\n \"typescript\": \"~5.4.5\"\r\n },\r\n \"overrides\": {\r\n \"@angular-devkit/build-angular\": {\r\n \"piscina\": \"~4.2.0\"\r\n }\r\n }\r\n}\r\n", + "angular.json": "{\r\n \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\r\n \"cli\": {\r\n \"analytics\": \"1e1de97b-a744-405a-8b5a-0397bb3d01ce\"\r\n },\r\n \"newProjectRoot\": \"projects\",\r\n \"projects\": {\r\n \"demo\": {\r\n \"architect\": {\r\n \"build\": {\r\n \"builder\": \"@angular-devkit/build-angular:application\",\r\n \"configurations\": {\r\n \"development\": {\r\n \"extractLicenses\": false,\r\n \"namedChunks\": true,\r\n \"optimization\": false,\r\n \"sourceMap\": true\r\n },\r\n \"production\": {\r\n \"aot\": true,\r\n \"extractLicenses\": true,\r\n \"namedChunks\": false,\r\n \"optimization\": true,\r\n \"outputHashing\": \"all\",\r\n \"sourceMap\": false\r\n }\r\n },\r\n \"options\": {\r\n \"assets\": [],\r\n \"index\": \"src/index.html\",\r\n \"browser\": \"src/main.ts\",\r\n \"outputPath\": \"dist/demo\",\r\n \"scripts\": [],\r\n \"styles\": [\"src/styles.css\"],\r\n \"tsConfig\": \"tsconfig.app.json\"\r\n }\r\n },\r\n \"serve\": {\r\n \"builder\": \"@angular-devkit/build-angular:dev-server\",\r\n \"configurations\": {\r\n \"development\": {\r\n \"buildTarget\": \"demo:build:development\"\r\n },\r\n \"production\": {\r\n \"buildTarget\": \"demo:build:production\"\r\n }\r\n },\r\n \"defaultConfiguration\": \"development\"\r\n }\r\n },\r\n \"prefix\": \"app\",\r\n \"projectType\": \"application\",\r\n \"root\": \"\",\r\n \"schematics\": {},\r\n \"sourceRoot\": \"src\"\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n", + "src/styles.css": "@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n", "src/main.ts": "import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { $$DemoClass$$ } from './$$DemoPath$$';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport 'zone.js';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n standalone: true,\r\n imports: [$$DemoClass$$],\r\n template: '<$$DemoSelector$$ />',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AppComponent { }\r\n\r\nbootstrapApplication(AppComponent);\r\n", "src/index.html": "\r\n\r\n \r\n My app\r\n \r\n \r\n \r\n \r\n Angular Signal Generators\r\n \"project\r\n
\r\n Demo Loading\r\n \r\n
\r\n
\r\n \r\n\r\n" } \ No newline at end of file diff --git a/scripts/stackblitz-template-app/angular.json b/scripts/stackblitz-template-app/angular.json index 82c1df9..7d9c715 100644 --- a/scripts/stackblitz-template-app/angular.json +++ b/scripts/stackblitz-template-app/angular.json @@ -31,7 +31,7 @@ "browser": "src/main.ts", "outputPath": "dist/demo", "scripts": [], - "styles": ["src/styles.scss"], + "styles": ["src/styles.css"], "tsConfig": "tsconfig.app.json" } }, diff --git a/scripts/stackblitz-template-app/package.json b/scripts/stackblitz-template-app/package.json index 2c29249..a1906ac 100644 --- a/scripts/stackblitz-template-app/package.json +++ b/scripts/stackblitz-template-app/package.json @@ -1,5 +1,5 @@ { - "name": "angular-starter", + "name": "angular-signal-generators-demo", "private": true, "scripts": { "ng": "ng", @@ -19,8 +19,8 @@ "zone.js": "~0.14.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^18.0.0", - "@angular/cli": "^18.0.0", + "@angular-devkit/build-angular": "^18.0.1", + "@angular/cli": "^18.0.1", "@angular/compiler-cli": "^18.0.0", "autoprefixer": "^10.4.19", "daisyui": "^4.11.1", diff --git a/scripts/stackblitz-template-app/src/styles.scss b/scripts/stackblitz-template-app/src/styles.css similarity index 100% rename from scripts/stackblitz-template-app/src/styles.scss rename to scripts/stackblitz-template-app/src/styles.css