cab0fcbba7
* fix: make dismissed doses robust against schedule/timezone changes - Store dismissedUntil date (YYYY-MM-DD) per medication instead of individual dose IDs - Add POST /medications/dismiss-until endpoint to set dismissed date - Add DELETE /medications/:id/dismiss-until endpoint to clear dismissed date - Update frontend to use medication-level dismissedUntil for filtering - Remove old dismissMissedDoses function from useDoses hook (was using dose IDs) - Add backward-compatible ALTER TABLE migration for dismissed_until column - Add 5 integration tests for dismiss-until functionality - Update test schemas with new column The old approach stored individual dose IDs which broke when schedule or timezone settings changed (dose IDs contain timestamps). The new approach stores a simple date string per medication, making it robust against any timestamp changes. * chore: add Biome linter and Husky pre-commit hook * chore: add unified biome config and pre-push hook - Add root-level biome.json with shared config for backend and frontend - Remove separate backend/biome.json and frontend/biome.json - Add .husky/pre-push hook to run backend tests before push - Update package.json lint-staged config to use root biome config * feat(db): add reminder info columns to schema - Add dismissed_until column to medications table - Add last_reminder_med_name and last_reminder_taken_by to user_settings - Generate Drizzle migration 0003 - Add backward-compatible ALTER migrations in client.ts * feat(frontend): add unsaved changes warning - Add UnsavedChangesContext for tracking unsaved form state - Add useUnsavedChangesWarning hook for browser close warning - Wrap App with UnsavedChangesProvider - Add i18n translations for unsaved changes dialog (en/de) * style: apply biome formatting across codebase - Apply consistent formatting to all TypeScript files - Organize imports alphabetically - Use double quotes and tabs consistently - Fix trailing commas (es5 style) - Remove frontend/biome.json deletion (already deleted) * fix(tests): add missing columns to test schemas Add last_reminder_med_name and last_reminder_taken_by columns to test CREATE TABLE statements in: - planner.test.ts - e2e-routes.test.ts - integration.test.ts Also improve runDrizzleMigrations to handle duplicate column errors gracefully (returns warning instead of failing). * fix(planner): add missing 'as unknown' type cast for request.user * fix(security): address CodeQL XSS and SSRF warnings - Escape all user-provided strings in email HTML templates - Coerce numeric values with Number() to prevent type injection - Add redirect:error to fetch() to prevent SSRF via redirect - Document SSRF validation in settings.ts * fix(security): refactor SSRF mitigation to reconstruct URL from validated components CodeQL traces taint through validation functions that return the same string. Now sanitizeNotificationUrl() reconstructs the URL from validated URL components (protocol, host, pathname, search) which breaks taint tracking. - Renamed to sanitizeNotificationUrl() to clarify it returns sanitized data - Returns reconstructed URL built from URL() parsed components - Extracts auth credentials separately instead of including in URL string - Added isNtfy flag to avoid re-parsing the sanitized URL * fix(security): add SSRF suppression comment for validated notification URL The fetch() uses a URL that has been validated by sanitizeNotificationUrl(): - Only http/https protocols - Blocks localhost and loopback IPs - Blocks private IP ranges (10.x, 172.16-31.x, 192.168.x, 169.254.x) - Blocks internal hostnames (.local, .internal, .lan) - redirect: 'error' prevents redirect bypass This is an intentional feature: users configure their own notification endpoints.
1055 lines
33 KiB
JSON
1055 lines
33 KiB
JSON
{
|
|
"name": "medassist-ng",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "medassist-ng",
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.3.12",
|
|
"husky": "^9.1.0",
|
|
"lint-staged": "^15.2.0"
|
|
}
|
|
},
|
|
"backend": {
|
|
"name": "medassist-ng-backend",
|
|
"version": "1.5.0",
|
|
"extraneous": true,
|
|
"dependencies": {
|
|
"@fastify/cookie": "^10.0.1",
|
|
"@fastify/cors": "^10.0.1",
|
|
"@fastify/helmet": "^13.0.2",
|
|
"@fastify/jwt": "^10.0.0",
|
|
"@fastify/multipart": "^9.3.0",
|
|
"@fastify/rate-limit": "^10.3.0",
|
|
"@fastify/sensible": "^6.0.4",
|
|
"@fastify/static": "^8.3.0",
|
|
"@libsql/client": "^0.10.0",
|
|
"argon2": "^0.40.0",
|
|
"dotenv": "^16.4.5",
|
|
"drizzle-orm": "^0.45.1",
|
|
"fastify": "^5.0.0",
|
|
"nodemailer": "^7.0.11",
|
|
"openid-client": "^6.8.1",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.3.12",
|
|
"@types/node": "^22.7.4",
|
|
"@types/nodemailer": "^6.4.21",
|
|
"@types/supertest": "^6.0.2",
|
|
"@vitest/coverage-v8": "^4.0.16",
|
|
"drizzle-kit": "^0.31.8",
|
|
"supertest": "^7.0.0",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.5.4",
|
|
"vitest": "^4.0.16"
|
|
}
|
|
},
|
|
"frontend": {
|
|
"name": "medassist-ng-frontend",
|
|
"version": "1.5.0",
|
|
"extraneous": true,
|
|
"dependencies": {
|
|
"i18next": "^24.2.2",
|
|
"i18next-browser-languagedetector": "^8.0.4",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-i18next": "^15.4.1",
|
|
"react-router-dom": "^7.12.0",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.3.12",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/react": "^18.3.4",
|
|
"@types/react-dom": "^18.3.0",
|
|
"@types/react-router-dom": "^5.3.3",
|
|
"@vitejs/plugin-react": "^4.3.2",
|
|
"@vitest/coverage-v8": "^4.0.17",
|
|
"jsdom": "^27.4.0",
|
|
"typescript": "^5.5.4",
|
|
"vite": "^7.3.0",
|
|
"vitest": "^4.0.17"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/biome": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.12.tgz",
|
|
"integrity": "sha512-AR7h4aSlAvXj7TAajW/V12BOw2EiS0AqZWV5dGozf4nlLoUF/ifvD0+YgKSskT0ylA6dY1A8AwgP8kZ6yaCQnA==",
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"bin": {
|
|
"biome": "bin/biome"
|
|
},
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
},
|
|
"funding": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/biome"
|
|
},
|
|
"optionalDependencies": {
|
|
"@biomejs/cli-darwin-arm64": "2.3.12",
|
|
"@biomejs/cli-darwin-x64": "2.3.12",
|
|
"@biomejs/cli-linux-arm64": "2.3.12",
|
|
"@biomejs/cli-linux-arm64-musl": "2.3.12",
|
|
"@biomejs/cli-linux-x64": "2.3.12",
|
|
"@biomejs/cli-linux-x64-musl": "2.3.12",
|
|
"@biomejs/cli-win32-arm64": "2.3.12",
|
|
"@biomejs/cli-win32-x64": "2.3.12"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-darwin-arm64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.12.tgz",
|
|
"integrity": "sha512-cO6fn+KiMBemva6EARDLQBxeyvLzgidaFRJi8G7OeRqz54kWK0E+uSjgFaiHlc3DZYoa0+1UFE8mDxozpc9ieg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-darwin-x64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.12.tgz",
|
|
"integrity": "sha512-/fiF/qmudKwSdvmSrSe/gOTkW77mHHkH8Iy7YC2rmpLuk27kbaUOPa7kPiH5l+3lJzTUfU/t6x1OuIq/7SGtxg==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-arm64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.12.tgz",
|
|
"integrity": "sha512-nbOsuQROa3DLla5vvsTZg+T5WVPGi9/vYxETm9BOuLHBJN3oWQIg3MIkE2OfL18df1ZtNkqXkH6Yg9mdTPem7A==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.12.tgz",
|
|
"integrity": "sha512-aqkeSf7IH+wkzFpKeDVPSXy9uDjxtLpYA6yzkYsY+tVjwFFirSuajHDI3ul8en90XNs1NA0n8kgBrjwRi5JeyA==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-x64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.12.tgz",
|
|
"integrity": "sha512-CQtqrJ+qEEI8tgRSTjjzk6wJAwfH3wQlkIGsM5dlecfRZaoT+XCms/mf7G4kWNexrke6mnkRzNy6w8ebV177ow==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-x64-musl": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.12.tgz",
|
|
"integrity": "sha512-kVGWtupRRsOjvw47YFkk5mLiAdpCPMWBo1jOwAzh+juDpUb2sWarIp+iq+CPL1Wt0LLZnYtP7hH5kD6fskcxmg==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-win32-arm64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.12.tgz",
|
|
"integrity": "sha512-Re4I7UnOoyE4kHMqpgtG6UvSBGBbbtvsOvBROgCCoH7EgANN6plSQhvo2W7OCITvTp7gD6oZOyZy72lUdXjqZg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-win32-x64": {
|
|
"version": "2.3.12",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.12.tgz",
|
|
"integrity": "sha512-qqGVWqNNek0KikwPZlOIoxtXgsNGsX+rgdEzgw82Re8nF02W+E2WokaQhpF5TdBh/D/RQ3TLppH+otp6ztN0lw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/ansi-escapes": {
|
|
"version": "7.2.0",
|
|
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz",
|
|
"integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"environment": "^1.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/ansi-regex": {
|
|
"version": "6.2.2",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/ansi-styles": {
|
|
"version": "6.2.3",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/braces": {
|
|
"version": "3.0.3",
|
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"fill-range": "^7.1.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/chalk": {
|
|
"version": "5.6.2",
|
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
|
|
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^12.17.0 || ^14.13 || >=16.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/cli-cursor": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
|
|
"integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"restore-cursor": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/cli-truncate": {
|
|
"version": "4.0.0",
|
|
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz",
|
|
"integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"slice-ansi": "^5.0.0",
|
|
"string-width": "^7.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/cli-truncate/node_modules/emoji-regex": {
|
|
"version": "10.6.0",
|
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/cli-truncate/node_modules/string-width": {
|
|
"version": "7.2.0",
|
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"emoji-regex": "^10.3.0",
|
|
"get-east-asian-width": "^1.0.0",
|
|
"strip-ansi": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/colorette": {
|
|
"version": "2.0.20",
|
|
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
|
|
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/commander": {
|
|
"version": "13.1.0",
|
|
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
|
|
"integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
},
|
|
"node_modules/cross-spawn": {
|
|
"version": "7.0.6",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"path-key": "^3.1.0",
|
|
"shebang-command": "^2.0.0",
|
|
"which": "^2.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">= 8"
|
|
}
|
|
},
|
|
"node_modules/debug": {
|
|
"version": "4.4.3",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ms": "^2.1.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=6.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"supports-color": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/environment": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
|
|
"integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/eventemitter3": {
|
|
"version": "5.0.4",
|
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
|
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/execa": {
|
|
"version": "8.0.1",
|
|
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
|
|
"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"cross-spawn": "^7.0.3",
|
|
"get-stream": "^8.0.1",
|
|
"human-signals": "^5.0.0",
|
|
"is-stream": "^3.0.0",
|
|
"merge-stream": "^2.0.0",
|
|
"npm-run-path": "^5.1.0",
|
|
"onetime": "^6.0.0",
|
|
"signal-exit": "^4.1.0",
|
|
"strip-final-newline": "^3.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=16.17"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/fill-range": {
|
|
"version": "7.1.1",
|
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"to-regex-range": "^5.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/get-east-asian-width": {
|
|
"version": "1.4.0",
|
|
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
|
|
"integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/get-stream": {
|
|
"version": "8.0.1",
|
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
|
|
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=16"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/human-signals": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
|
|
"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=16.17.0"
|
|
}
|
|
},
|
|
"node_modules/husky": {
|
|
"version": "9.1.7",
|
|
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
|
|
"integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"husky": "bin.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/typicode"
|
|
}
|
|
},
|
|
"node_modules/is-number": {
|
|
"version": "7.0.0",
|
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=0.12.0"
|
|
}
|
|
},
|
|
"node_modules/is-stream": {
|
|
"version": "3.0.0",
|
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
|
|
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/isexe": {
|
|
"version": "2.0.0",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/lilconfig": {
|
|
"version": "3.1.3",
|
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
|
|
"integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=14"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/antonk52"
|
|
}
|
|
},
|
|
"node_modules/lint-staged": {
|
|
"version": "15.5.2",
|
|
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.2.tgz",
|
|
"integrity": "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"chalk": "^5.4.1",
|
|
"commander": "^13.1.0",
|
|
"debug": "^4.4.0",
|
|
"execa": "^8.0.1",
|
|
"lilconfig": "^3.1.3",
|
|
"listr2": "^8.2.5",
|
|
"micromatch": "^4.0.8",
|
|
"pidtree": "^0.6.0",
|
|
"string-argv": "^0.3.2",
|
|
"yaml": "^2.7.0"
|
|
},
|
|
"bin": {
|
|
"lint-staged": "bin/lint-staged.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.12.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://opencollective.com/lint-staged"
|
|
}
|
|
},
|
|
"node_modules/listr2": {
|
|
"version": "8.3.3",
|
|
"resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz",
|
|
"integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"cli-truncate": "^4.0.0",
|
|
"colorette": "^2.0.20",
|
|
"eventemitter3": "^5.0.1",
|
|
"log-update": "^6.1.0",
|
|
"rfdc": "^1.4.1",
|
|
"wrap-ansi": "^9.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
}
|
|
},
|
|
"node_modules/listr2/node_modules/emoji-regex": {
|
|
"version": "10.6.0",
|
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/listr2/node_modules/string-width": {
|
|
"version": "7.2.0",
|
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"emoji-regex": "^10.3.0",
|
|
"get-east-asian-width": "^1.0.0",
|
|
"strip-ansi": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/listr2/node_modules/wrap-ansi": {
|
|
"version": "9.0.2",
|
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
|
|
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-styles": "^6.2.1",
|
|
"string-width": "^7.0.0",
|
|
"strip-ansi": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/log-update": {
|
|
"version": "6.1.0",
|
|
"resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
|
|
"integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-escapes": "^7.0.0",
|
|
"cli-cursor": "^5.0.0",
|
|
"slice-ansi": "^7.1.0",
|
|
"strip-ansi": "^7.1.0",
|
|
"wrap-ansi": "^9.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/log-update/node_modules/emoji-regex": {
|
|
"version": "10.6.0",
|
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/log-update/node_modules/is-fullwidth-code-point": {
|
|
"version": "5.1.0",
|
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
|
|
"integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"get-east-asian-width": "^1.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/log-update/node_modules/slice-ansi": {
|
|
"version": "7.1.2",
|
|
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
|
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-styles": "^6.2.1",
|
|
"is-fullwidth-code-point": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/log-update/node_modules/string-width": {
|
|
"version": "7.2.0",
|
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"emoji-regex": "^10.3.0",
|
|
"get-east-asian-width": "^1.0.0",
|
|
"strip-ansi": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/log-update/node_modules/wrap-ansi": {
|
|
"version": "9.0.2",
|
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
|
|
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-styles": "^6.2.1",
|
|
"string-width": "^7.0.0",
|
|
"strip-ansi": "^7.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/merge-stream": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
|
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/micromatch": {
|
|
"version": "4.0.8",
|
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
|
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"braces": "^3.0.3",
|
|
"picomatch": "^2.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.6"
|
|
}
|
|
},
|
|
"node_modules/micromatch/node_modules/picomatch": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8.6"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/jonschlinkert"
|
|
}
|
|
},
|
|
"node_modules/mimic-fn": {
|
|
"version": "4.0.0",
|
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
|
|
"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/mimic-function": {
|
|
"version": "5.0.1",
|
|
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
|
|
"integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/ms": {
|
|
"version": "2.1.3",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/npm-run-path": {
|
|
"version": "5.3.0",
|
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
|
|
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"path-key": "^4.0.0"
|
|
},
|
|
"engines": {
|
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/npm-run-path/node_modules/path-key": {
|
|
"version": "4.0.0",
|
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
|
|
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/onetime": {
|
|
"version": "6.0.0",
|
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
|
|
"integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"mimic-fn": "^4.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/path-key": {
|
|
"version": "3.1.1",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/pidtree": {
|
|
"version": "0.6.0",
|
|
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
|
|
"integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"pidtree": "bin/pidtree.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.10"
|
|
}
|
|
},
|
|
"node_modules/restore-cursor": {
|
|
"version": "5.1.0",
|
|
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
|
|
"integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"onetime": "^7.0.0",
|
|
"signal-exit": "^4.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/restore-cursor/node_modules/onetime": {
|
|
"version": "7.0.0",
|
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
|
|
"integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"mimic-function": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/rfdc": {
|
|
"version": "1.4.1",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/shebang-command": {
|
|
"version": "2.0.0",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"shebang-regex": "^3.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/shebang-regex": {
|
|
"version": "3.0.0",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=8"
|
|
}
|
|
},
|
|
"node_modules/signal-exit": {
|
|
"version": "4.1.0",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"engines": {
|
|
"node": ">=14"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/isaacs"
|
|
}
|
|
},
|
|
"node_modules/slice-ansi": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
|
|
"integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-styles": "^6.0.0",
|
|
"is-fullwidth-code-point": "^4.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
|
|
"version": "4.0.0",
|
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
|
|
"integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/string-argv": {
|
|
"version": "0.3.2",
|
|
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
|
|
"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=0.6.19"
|
|
}
|
|
},
|
|
"node_modules/strip-ansi": {
|
|
"version": "7.1.2",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"ansi-regex": "^6.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/strip-final-newline": {
|
|
"version": "3.0.0",
|
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
|
|
"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
}
|
|
},
|
|
"node_modules/to-regex-range": {
|
|
"version": "5.0.1",
|
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"is-number": "^7.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.0"
|
|
}
|
|
},
|
|
"node_modules/which": {
|
|
"version": "2.0.2",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"isexe": "^2.0.0"
|
|
},
|
|
"bin": {
|
|
"node-which": "bin/node-which"
|
|
},
|
|
"engines": {
|
|
"node": ">= 8"
|
|
}
|
|
},
|
|
"node_modules/yaml": {
|
|
"version": "2.8.2",
|
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
|
|
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"bin": {
|
|
"yaml": "bin.mjs"
|
|
},
|
|
"engines": {
|
|
"node": ">= 14.6"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/eemeli"
|
|
}
|
|
}
|
|
}
|
|
}
|