{"id":19316155,"url":"https://github.com/synatic/eslint-config-synatic-node","last_synced_at":"2026-02-15T18:01:12.522Z","repository":{"id":57700455,"uuid":"451499819","full_name":"synatic/eslint-config-synatic-node","owner":"synatic","description":"Global repo for how linting and code styling should be done","archived":false,"fork":false,"pushed_at":"2025-10-28T10:43:36.000Z","size":112,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-28T11:47:39.851Z","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/synatic.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-24T14:35:19.000Z","updated_at":"2025-10-28T10:43:40.000Z","dependencies_parsed_at":"2024-01-23T10:11:18.606Z","dependency_job_id":"7878ee87-5770-4416-872f-b6061686c6b6","html_url":"https://github.com/synatic/eslint-config-synatic-node","commit_stats":null,"previous_names":["synatic/lint-and-code-style"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/synatic/eslint-config-synatic-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synatic%2Feslint-config-synatic-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synatic%2Feslint-config-synatic-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synatic%2Feslint-config-synatic-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synatic%2Feslint-config-synatic-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synatic","download_url":"https://codeload.github.com/synatic/eslint-config-synatic-node/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synatic%2Feslint-config-synatic-node/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29486050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2024-11-10T01:09:59.748Z","updated_at":"2026-02-15T18:01:12.476Z","avatar_url":"https://github.com/synatic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lint-and-code-style\n\nGlobal repo for how linting and code styling should be done for Synatic projects.\n\n## Making changes\n\nIn the root of the project is a `.eslintrc.json` file, this is where the majority of the rules, plugins and config will live and where you should primarily be making changes. The base file is for node projects that use mocha. You can test out changes to the base config by adding code to the `./lib-examples/` folder and your editor should be able to pick up any issues with the code which will allow you to refine the rules and verify that they work the way you would like them too.\n\nOnce you have the rules setup the way you would like to you can run the `npm run copy` command and this will take the config in the `.eslintrc.json` file and copy it to `./lib/index.js` where it will be used in other projects once published.\n\nThe library also supports more advanced configuration for other project types, for example projects that use [jest](https://jestjs.io/) can make use of both the base configuration file in the root together with the jest specific config in `./lib/jest.js` by having their project extend `@synatic/eslint-config-synatic-node/lib/jest`. Currently there is no way to test these specific configurations in this project without copying them to the `.eslintrc.json` file and testing them, but do not leave them there when committing or else they will apply to the shared base configuration.\n\nOnce you have made all the above changes and ran the `npm run copy` command you can commit to `git` run the `npm version \u003cmajor,minor,patch\u003e` command to increment the version, push to develop and submit a PR as normal.\n\n## Adding to your project\n\nTo add the shared configuration to your project you can do the following:\n\n1. run `npm i -D @synatic/eslint-config-synatic-node` in your project\n2. create a `.eslintrc.json` file in your project\n3. Add the following code:\n    ```\n    {\n        \"env\": {},\n        \"extends\": [\"@synatic/eslint-config-synatic-node\"],\n        \"globals\": {},\n        \"parserOptions\": {},\n        \"overrides\": [],\n        \"rules\": {}\n    }\n    ```\n4. If you would prefer to use a different config from the base one, simply replace the `extends` in the above example with your desired one.\n5. create a `.prettierrc.json` in your project and inside it add the code from this repositories version of the file as this will be the most up to date version\n6. Install the peer dependencies listed in this project's `package.json` file, which can be found under `peerDependencies`\n7. Ensure your package.json has the correct engine section, e.g.:\n\n```\n    \"engines\": {\n        \"node\": \"\u003e=14.0.0\",\n        \"npm\": \"\u003e=6.0.0\"\n    },\n```\n\n8. Ensure your package.json has the required scripts:\n\n```\n    \"lint\": \"eslint .\",\n    \"lint-fix\": \"eslint . --fix\",\n    \"lint-errors\": \"eslint . --quiet\",\n    \"prettier\": \"prettier . --write\"\n```\n\n## Configs available\n\n-   @synatic/eslint-config-synatic-node\n-   @synatic/eslint-config-synatic-node/lib/jest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynatic%2Feslint-config-synatic-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynatic%2Feslint-config-synatic-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynatic%2Feslint-config-synatic-node/lists"}