-
Notifications
You must be signed in to change notification settings - Fork 0
Complete rewrite of linting setup #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
200 commits
Select commit
Hold shift + click to select a range
624a3c6
Remove everything
marek-saji a65ffe0
docs: package.json, README, LICENSE etc.
marek-saji 0448691
chore: Setup
f63a02f
feat: EsLint, Prettier
marek-saji 29db48d
Tests
marek-saji bae57e0
docs: Links
c3c086b
feat(npm): Switch from prepare to prepublishOnly
marek-saji 03956d4
chore: prettier -w .
marek-saji 4f04d1a
chore: Regenerate package locks
marek-saji c35e249
chore: Use Set for collecting missing deps
marek-saji 65518ad
feat: Make test script runnable from anywhere
marek-saji 71e04a5
feat: List actually missing dependencies
marek-saji 66ef523
feat(test): Run npm with --ignore-scripts
marek-saji db3e785
feat(eslint): next.js
marek-saji 0f213b2
feat(eslint): CLI colours
marek-saji 3b74be6
docs: Sources for EsLint setups
marek-saji 2f154c8
feat(eslint): storybook
marek-saji d945b9e
eslint: use _strict_ TS config
marek-saji da10469
feat(eslint): lingui
marek-saji 97c3e66
feat(eslint): Drop ignore option
marek-saji 16813d0
feat: Use prettierignore in EsLint as well
marek-saji 84cc483
feat: Sync up config template
marek-saji f84efa5
feat(eslint): JSONC
marek-saji f62984c
feat(prettier): trailing commas
marek-saji 0bcc534
fix: Include files in additionalAllowDefaultProject only if not included
marek-saji 4bda395
Sort out dependencies
marek-saji 200877a
feat(prettier): quoteProps:consistent
marek-saji 81020be
feat(eslint): import
marek-saji cc7d08e
feat(eslint): Import rules
marek-saji fc980d5
chore: All custom rules at the end
marek-saji 7c09b39
feat(eslint): no-shadow
marek-saji 794b7f6
feat(eslint): no-template-curly-in-string
marek-saji 17f3834
feat(eslint): no-template-curly-in-string
marek-saji c67d1da
chore(eslint): Split verkstedt overwrites to separate file
marek-saji f0bed9d
feat(eslint): css-modules
marek-saji ad4693e
chore: Setup
b6343ea
chore: npm i baseline-browser-mapping@latest -D
marek-saji 8a6e845
chore: Use npm workspaces for tests
marek-saji 3553784
feat(eslint): Errors on unused disable directives
marek-saji 0ce9fb5
feat: more tests
marek-saji 9a9ac86
chore: Node version
marek-saji a4145e2
chore: Regenerate lock files
marek-saji 16c9d11
feat(bin): Script that sets things up
marek-saji 70d97d8
eslint: Read app’s prettierignore
marek-saji 7524467
feat(typescript): tsconfig base
marek-saji 3ab7c49
feat(eslint): More custom rules
marek-saji 54042e9
feat(eslint): eslint comments plugin
marek-saji 5d2b70b
fix(eslint): Expand Plugin type
marek-saji c56378b
fix(eslint): Apply custom rules only to JS files
marek-saji 0b295f6
fix(eslint): False–positives on GFM alerts
marek-saji 1becc95
feat(prettier): Don’t pretty package-lock.json
marek-saji 1554d51
feat(eslint): Unofficial eslint plugin
marek-saji bd89012
fixup! feat(eslint): next.js
marek-saji 9fb3fe4
feat(eslint): eslint-config-next/typescript
marek-saji f9e34b5
fest(install): Install jiti when TS detected
marek-saji b2a9f40
chore(pkg): Don’t do weird things with deps
marek-saji 33df5c1
chore: npm audit fix
marek-saji 451e59e
fixup! chore(pkg): Don’t do weird things with deps
marek-saji fbc8d02
feat(eslint): Disable no-unresolved for TS projects
marek-saji 027c547
fixup! chore(pkg): Don’t do weird things with deps
marek-saji 6ae98be
fixup! feat(eslint): Unofficial eslint plugin
marek-saji e9e307f
fixup! feat: more tests
marek-saji 58fed54
feat(eslint): More debug info
marek-saji 3f80f62
feat(eslint): import resolver that understands exports
marek-saji a3d366e
feat(test): Re–set tests’ dependencies
marek-saji 426ec54
feat(eslint): Get plugin name from object, instead of hardcoding
marek-saji 26923a4
fix(eslint): Pass TS plugin only if TS is used
marek-saji 969e1eb
docs: Explain tests setup
marek-saji 1524b94
chore(test): Match package names to dir names
marek-saji 5c1e13d
feat(ts): Extend tsconfig in TS test
marek-saji ee95dd3
Revert "feat(eslint): Disable no-unresolved for TS projects"
marek-saji 4155ab5
feat(eslint): Organise custom rules
marek-saji e261111
feat(eslint): Less restrictive in scripts/ dir
marek-saji b63a809
docs: scripts/ also go to allowDefaultProject
marek-saji 662c904
feat: lint package.json
marek-saji 06cd260
chore: Align peer deps
marek-saji 6390c24
fixup! feat(bin): Script that sets things up
marek-saji bc778a7
fixup! feat: more tests
marek-saji 11b23b4
fixup! feat: lint package.json
marek-saji 5fe2041
fixup! feat: lint package.json
marek-saji 3385d32
fixup! feat: lint package.json
marek-saji 0401e21
fixup! chore: Align peer deps
marek-saji 8ec4a81
fix: Build before running tests
marek-saji 64437f9
feat: Lint Node.js version spec
marek-saji 99bd0ed
chore: DRY scripts
marek-saji 1defc76
fixup! feat: lint package.json
marek-saji f518c44
fixup! feat: Lint Node.js version spec
marek-saji e798332
fixup! chore: Align peer deps
marek-saji fc923f7
fixup! feat: Lint Node.js version spec
marek-saji bfe264e
fixup! fixup! feat: Lint Node.js version spec
marek-saji 5a266b0
fixup! chore: DRY scripts
marek-saji 1fe6481
Tweaks
marek-saji 9d15f81
fixup! Tweaks
marek-saji 2bc9c4d
chore: Feedback from our AI overlords
marek-saji 6f08a1b
chore: Cleanup
marek-saji d1b0f84
docs: Design goals
marek-saji 15e0177
docs: Explain deviating from prettier defaults
marek-saji 183dc0a
fixup! feat: EsLint, Prettier
marek-saji c1b0af7
chore(eslint): Import types from @eslint/core
marek-saji 7dfec84
chore(eslint): DRY defining TS extension rules
marek-saji 8564589
feat(cli): Inject --help
marek-saji e2b7aa5
fix(docs): Grammatical errors
marek-saji 75c80f2
feat(tsconfig): forceConsistentCasingInFileNames
marek-saji 60626f6
11.0.0-rc.0
marek-saji 0a00cf0
docs(readme): Upgrading from @verkstedt/eslint-config-verkstedt
marek-saji c21d1f6
fixup! feat: EsLint, Prettier
marek-saji 3e53b5a
feat(eslint): Use TS parser for all JS files
marek-saji ca42c64
feat(eslint): Read tsconfig with jsonc parser
marek-saji c136552
feat(npm): prepare script
marek-saji 77f2f7d
feat(install): Separate msgs for legacy configs
marek-saji ab4f0f7
feat(eslint): Customise CSS rules
marek-saji 2a92bbf
feat(eslint): Loosen up some rules
marek-saji 737ae3d
feat(eslint): Disallow param reassign
marek-saji e78cafb
feat(eslint): Target more when loosing non–app files
marek-saji 60fff09
feat(eslint): Allow !important in non–app
marek-saji eb46f89
fix(eslint): Improve additionalAllowDefaultProject
marek-saji 6aa73a5
feat(ts): Produce source maps
marek-saji 22276c8
feat(eslint): Disable rule that can break
marek-saji 1fc4e52
feat(eslint): no-restricted-imports
marek-saji d69ffb3
fixup! docs(readme): Upgrading from @verkstedt/eslint-config-verkstedt
marek-saji 7670f82
fixup! feat(bin): Script that sets things up
marek-saji cdd1f9e
feat(prettier):
marek-saji 42d0e10
feat(prettier): Sync up ignore files
marek-saji 8f66198
feat(eslint): EsLint can only do vanilla CSS
marek-saji a5f9469
fixup! feat(install): Separate msgs for legacy configs
marek-saji af6d2c1
feat(intall): Override vanilla legacy EsLint config
marek-saji 3e82f85
feat(install): Install deps with versions
marek-saji 6352ce6
fixup! fix(eslint): Improve additionalAllowDefaultProject
marek-saji 8ca7b3d
feat: Linting errors in config files in README
marek-saji c321fff
fixup! feat: Upgrade Node.js to LTS (24)
marek-saji c21559b
feat(eslint): Allow _unused caught errors
marek-saji b7dd01c
feat(eslint): Make storybook config files use TS default project
marek-saji 1378454
fix(eslint): Make prettier use markdown parser in md files
marek-saji f1e2494
feat(install): Rudimentary yarn support
marek-saji 652a2c3
feat(eslint): More guidance using no-restricted-imports
marek-saji b85e66d
eslint: eslint-import-resolver-typescript for TS projects
marek-saji f725349
chore: Ignore tests. They have their own config
marek-saji 0e985ff
fix(lint): Fix expected @types/node version
marek-saji cad996c
feat(lint): Peer deps can also be prod deps
marek-saji 0890018
feat(eslint): Proper parsing of tsconfig
marek-saji 972e8d5
11.0.0-rc.1
marek-saji 49c7c9f
feat: Use `npm pkg` for getting versions from package.json
marek-saji 5772f48
feat: Ignore bmad method markdown files
marek-saji 7bccff4
11.0.0-rc.2
marek-saji 5933648
fixup! feat: Ignore bmad method markdown files
marek-saji 833f128
11.0.0-rc.3
marek-saji bf95091
feat: Specify what to include npm package
marek-saji 0f0c37f
11.0.0-rc.4
marek-saji 0a0d037
feat: import.meta.dirname in config template
marek-saji 4a39a87
docs(readme): Improved upgrade instructions
marek-saji c859aac
feat(eslint): s/@base-ui-components/@base-ui/
marek-saji e89193f
feat(eslint): Allow array index as react keys outside of app
marek-saji 588c173
feat(ignore): Ignore next-env.d.ts
marek-saji ca62a94
eat(eslint): Less aggressive auto allowDefaultProject
marek-saji 133f7ce
11.0.0-rc.5
marek-saji 6d4e53c
feat(prettier): Populate ignore file during install
marek-saji 7212d24
feat(prettier): Ignore svg files
marek-saji 0e164b5
Test creation of file
marek-saji 3d29403
Ignore local files
marek-saji 297017f
Merge remote-tracking branch 'origin/main' into feat/rewrite
marek-saji b7e4565
Sync up ci workflow from template
marek-saji e30fab5
doc: Link to list of packages using this config
marek-saji 140034d
Recognise FORCE_COLOR
marek-saji 5c02632
doc(migration): Note about rules that may give lots of errors
marek-saji 2507b06
doc(README): Collapse migration section
marek-saji 0c419d1
feat(install): Uninstall stylelint
marek-saji c2e15e1
feat(install): Suggest next steps
marek-saji e8ff3f6
feat(install): Format help
marek-saji a1b79bd
feat(install): Improve TS detection
marek-saji 42759e5
feat(install): Line breaks between sections
marek-saji fc76faf
fixup! Test creation of file
marek-saji 9be46ee
chore(deps): typescript 6
marek-saji 1e566c2
chore(deps): Update all but EsLint 10.x
marek-saji 746f769
feat(eslint): Ignore git merge conflict files
marek-saji 0e323b2
chore(deps): Migrate to @eslint-community/eslint-plugin-eslint-comments
marek-saji 8e776ee
feat(eslint): Detect frontend projects
marek-saji 541fdfc
feat(install): Remove conflicting packages
marek-saji 5578108
chore(deps): Use @next/eslint-plugin-next directly
marek-saji 3d69c3b
chore(deps): Migrate eslint-plugin-import to eslint-plugin-import-x
marek-saji 1bb6f56
chore(deps): Switch to @bhollis/eslint-plugin-css-modules
marek-saji 65563a9
chore(deps): Migrate React plugin and bump ESLint 10
marek-saji 432649e
chore(deps): npm-check-updates --cooldown 7d
marek-saji ab0f7c6
chore(deps): Pin typescript to ^6.0.3 <6.1.0
marek-saji fbc46f9
feat(install): Show installed/uninstalled packages
marek-saji 708059a
feat(install): Recognise when installing from local checkout
marek-saji 77e56d9
fixup! eat(eslint): Less aggressive auto allowDefaultProject
marek-saji 9a0a3d1
doc: Collapse internal links
marek-saji 4ff5ba1
docs: Caveats += tsconfig extends
marek-saji 14d7d71
11.0.0-rc.6
marek-saji 9a29326
feat(install): Recognise NODE_DEBUG
marek-saji 58e7ef5
fix(npm): bin path
marek-saji c2a946d
11.0.0-rc.7
marek-saji d7ba031
fixup! chore(deps): Migrate eslint-plugin-import to eslint-plugin-imp…
marek-saji 792338b
fixup! feat(install): Recognise when installing from local checkout
marek-saji 1b9adf7
11.0.0-rc.8
marek-saji 6263108
Merge remote-tracking branch 'origin/main' into feat/rewrite
marek-saji 2b704f1
fixup! feat(install): Uninstall stylelint
marek-saji f161fb2
11.0.0-rc.9
marek-saji f8f9a0e
fix(install): yarn remove each pkg separately
marek-saji 0b4c275
11.0.0-rc.10
marek-saji File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,9 @@ | ||
| /node_modules | ||
| .vscode | ||
| .DS_Store | ||
| # dependencies | ||
| node_modules | ||
|
|
||
| # build artifacts | ||
| /esm | ||
|
|
||
| # local files | ||
| **/*.local | ||
| **/*.local.json |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| v24.12.0 | ||
| 24.12.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # Generated | ||
| /CHANGELOG.md | ||
| package-lock.json | ||
| yarn.lock | ||
| pnpm-lock.yaml | ||
| *.min.js | ||
|
|
||
| # Tests have their own linting config | ||
| /test/ |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Design Goals | ||
|
|
||
| - **All–purpose** | ||
| - Installation should be easy and straightforward | ||
| - Ideally projects would not have to customise _anything_ and not | ||
| install any extra plugins. | ||
|
|
||
| - **Follow recommended configurations** | ||
| - For stylistic rules that might be a matter of taste, follow | ||
| default or recommended settings, unless there’s an overwhelming | ||
| majority of users preferring a different option. | ||
|
|
||
| - **Additional rules that help to avoid common pitfalls** | ||
|
marek-saji marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,13 @@ | ||
| MIT License | ||
|
|
||
| Copyright (c) 2015-2017 Moviepilot, Inc. | ||
| Copyright (c) 2017 verkstedt GmbH | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| Copyright (C) 2025 by verkstedt GmbH <info@verkstedt.com> | ||
|
|
||
| Permission to use, copy, modify, and/or distribute this software for any | ||
| purpose with or without fee is hereby granted, provided that the above | ||
| copyright notice and this permission notice appear in all copies. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.