{"id":25804911,"url":"https://github.com/mcous/eslint-svelte-ts-perf","last_synced_at":"2025-02-27T18:59:38.153Z","repository":{"id":279497244,"uuid":"939008568","full_name":"mcous/eslint-svelte-ts-perf","owner":"mcous","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-25T21:08:36.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T22:22:09.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcous.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-25T21:02:33.000Z","updated_at":"2025-02-25T21:08:39.000Z","dependencies_parsed_at":"2025-02-25T22:35:08.839Z","dependency_job_id":null,"html_url":"https://github.com/mcous/eslint-svelte-ts-perf","commit_stats":null,"previous_names":["mcous/eslint-svelte-ts-perf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcous%2Feslint-svelte-ts-perf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcous%2Feslint-svelte-ts-perf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcous%2Feslint-svelte-ts-perf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcous%2Feslint-svelte-ts-perf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcous","download_url":"https://codeload.github.com/mcous/eslint-svelte-ts-perf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241046581,"owners_count":19899902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-27T18:59:37.602Z","updated_at":"2025-02-27T18:59:38.147Z","avatar_url":"https://github.com/mcous.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Svelte ESLint Plugin typed performance testing\n\nWhen types are enabled (i.e. `project: 'tsconfig.json'` or `projectService: true` is set in the parser options for `typescript-eslint`), running ESLint on Svelte files seems to slow down at based on the number of files being linted.\n\n## Description\n\nThis repository contains a bare-bones Svelte project with 1001 identical, simple Svelte components to run linting and type-checking on. The number of fixture components can be modified by changing the `prepare` script in `package.json`.\n\n## Performance\n\nClone this repository, then run `pnpm install` to install dependencies and configure the fixture components.\n\n```shell\n# Run type-checking on all Svelte and TS files as a baseline\n# Takes about 7 seconds on my M2 MacBook Air\ntime pnpm run check\n\n# Lint all typescript files with tsconfig.json as a baseline\n# Takes about 3.5 seconds\ntime pnpm run lint:ts\n\n# Run svelte linting without tsconfig.json\n# Takes about 2.5 seconds\ntime pnpm run lint:svelte:fast\n\n# Run linting with types enabled\n# Takes about ~45 seconds\ntime pnpm run lint:svelte:slow\n```\n\n## Observations\n\nWhen running `eslint` with `--debug` and changing the number of fixture components and or TS modules, it seems that the time to parse an individual component goes up as the number of components and files in the project increases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcous%2Feslint-svelte-ts-perf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcous%2Feslint-svelte-ts-perf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcous%2Feslint-svelte-ts-perf/lists"}