release(3.5.0): license, configuration and dependency improvements#891
Closed
beatrizsmerino wants to merge 37 commits intomasterfrom
Closed
release(3.5.0): license, configuration and dependency improvements#891beatrizsmerino wants to merge 37 commits intomasterfrom
beatrizsmerino wants to merge 37 commits intomasterfrom
Conversation
* master: feat(package): update project version number from `3.3.0` to `3.3.1` docs(readme): add dynamic badges for `node` and `npm` versions fix(workflow): add support for major version limit in `update-node-npm.yml`
* master: feat(package): update project version number from `3.3.1` to `3.3.2` feat(workflow): add `cache: 'npm'` support in `setup-node` fix(workflow): run `test` before `build` in `check-node.yml` fix(workflow): use `npm run test` instead of `npm test` in `check-node.yml`
* master: build(package): bump version from `3.4.0` to `3.4.1` fix(deps): pin `eslint-plugin-vue` to exact version `10.6.2`
Steps: - Add `LICENSE` entry to `.eslintignore` to prevent ESLint parsing errors during `pre-commit` Reason: - `.lintstagedrc` is configured with `"*": "npm run lint"` which passes all staged files as arguments - When `LICENSE` is passed directly as argument to ESLint, it tries to parse it regardless of the glob pattern in the command - Unlike Prettier and Stylelint which ignore files not matching their patterns, ESLint processes any file passed as direct argument - `LICENSE` file is not valid JavaScript/JSON and causes parsing errors References: - Issue #824
Steps: - Create `LICENSE` file in repository root with `MIT` License text Reason: - The `LICENSE` option was not selected when creating the repository on GitHub - Repositories without a `LICENSE` file have no clear terms of use References: - Issue #824
Steps: - Change `"license": "ISC"` to `"license": "MIT"` in `package.json` Reason: - `npm init -y` sets `"license": "ISC"` by default - GitHub does not offer `ISC` as a license option when creating a repository - `MIT` and `ISC` are functionally equivalent licenses, but `MIT` is preferred for consistency with `LICENSE` file References: - Issue #824
* bugfix/license: fix(license): update `package.json` license from `ISC` to `MIT` fix(license): add missing `LICENSE` file with `MIT` fix(eslint): add `LICENSE` to `.eslintignore`
Error: - The `.prettierrc` file is not formatted consistently Reason: - The `prettier:fix` script does not include `.prettierrc` in its file patterns Solution: - Add `.prettierrc` to the file patterns in `prettier:fix` script References: - Issue #825
Steps: - Run `npm run prettier:fix` to format `.prettierrc` - Compact arrays to single line according to project config Reason: - The `.prettierrc` file was not fully formatted - Now the file follows the project's formatting configuration References: - Issue #825
* bugfix/prettier: style(prettier): format `.prettierrc` with correct indentation fix(prettier): add `.prettierrc` to `prettier:fix` script
Steps: - Create `.npmrc` file in the project root - Add `engine-strict=true` configuration Reason: - Ensures the correct Node.js version is used when installing dependencies - Prevents compatibility issues with packages that require specific Node versions References: - Issue #826
* bugfix/npm: feat(npm): create `.npmrc` with `engine-strict=true`
Steps: - Update `author` field in `package.json` from string to object format - Include `name`, `email` and `url` properties Reason: - JSON object format provides more structured information - Allows including `name`, `email` and `url` separately References: - Issue #827
* feature/package: refactor(package): convert `author` from string to JSON object
Error: - `npm install` shows peer dependency warnings for `stylelint-config-recommended` Reason: - `stylelint-config-recommended-vue@1.6.1` installs `stylelint-config-recommended@18.0.0` - Version `18.0.0` requires `stylelint@^17.0.0` but project uses `stylelint@16.26.1` Solution: - Add override in `package.json` to force `stylelint-config-recommended@17.0.0` - Version `17.0.0` is compatible with `stylelint@^16.23.0` References: - Issue #835
* bugfix/stylelint: build(deps): reinstall npm packages fix(deps): resolve stylelint peer dependency warnings build(deps): reinstall npm packages
Error: - JSON config files without extension (`.prettierrc`, `.lintstagedrc`) required manual configuration in overrides and script - Adding files one by one to overrides is not practical because new JSON config files would be forgotten - Using a pattern like `.*rc` to match all files causes parsing errors with non-JSON files (`.npmrc`, `.nvmrc`, `.browserslistrc`) Reason: - These files contain JSON format but Prettier cannot auto-detect them without the `.json` extension Solution: - Rename `.prettierrc` → `.prettierrc.json` - Rename `.lintstagedrc` → `.lintstagedrc.json` - Simplify overrides to only `*.json` pattern - Remove individual file references from `prettier:fix` script References: - Issue #825
* bugfix/prettier: fix(prettier): rename JSON config files to `.json` extension
Error: - YAML files are not formatted with the correct indentation - The IDE shows incorrect indentation with red marks Reason: - No override block exists for `*.yml` and `*.yaml` files in `.prettierrc.json` - YAML standard requires 2-space indentation, not tabs Solution: - Add override block for `*.yml` and `*.yaml` files with `tabWidth: 2` and `useTabs: false` References: - Issue #836
Error: - YAML files are not included in the `prettier:fix` script - Running `npm run lint` does not format YAML files Reason: - The glob pattern in `prettier:fix` script does not include `yml` and `yaml` extensions Solution: - Add `yml` and `yaml` extensions to the `prettier:fix` script glob pattern References: - Issue #836
Error:
- The IDE shows YAML files with red marks for incorrect indentation
Reason:
- No `.editorconfig` file exists in the project
- YAML standard requires 2-space indentation, not tabs
Solution:
- Create `.editorconfig` file with project settings
- Add `[*.{yml,yaml}]` section with `indent_style = space` and `indent_size = 2`
References:
- Issue #836
Error: - Prettier cuts long lines in YAML files breaking readability Reason: - The default `printWidth: 120` applies to YAML files - Long strings with GitHub Actions variables get split into multiple lines Solution: - Add `printWidth: 10000` to the YAML override to prevent line breaks References: - Issue #836
Steps: - Run `npm run lint` to format all YAML files Reason: - Apply consistent formatting with 2-space indentation following YAML standard References: - Issue #836
* bugfix/prettier: style(prettier): format `YAML` files with 2-space indentation fix(prettier): add `printWidth` to `YAML` override in `.prettierrc.json` fix(prettier): create `.editorconfig` with `YAML` section fix(prettier): add `YAML` to `prettier:fix` script fix(prettier): add `YAML` override to `.prettierrc.json`
Steps: - Add `## 📄 License` section at the end of `README.md` Reason: - Users should be able to quickly identify the license type from the README - The `LICENSE` file and `package.json` already reference `MIT` but the README has no mention of it References: - Issue #824
* bugfix/license: fix(license): add `License` section to `README.md`
Steps: - Replace `# editorconfig.org` with `# Editor configuration, see https://editorconfig.org` Reason: - Standardize header comment format across all repositories - Include direct link to documentation for quick reference References: - Issue #840
Steps: - Reorder properties in `[*]` section alphabetically Reason: - Consistent property order for quick visual comparison between repos References: - Issue #840
* bugfix/editorconfig: fix(editorconfig): sort properties alphabetically in `[*]` section fix(editorconfig): update header comment with documentation URL
* master: (38 commits) build(deps): reinstall npm packages build(deps-dev): bump lint-staged from 16.3.2 to 16.3.3 build(deps-dev): bump sass from 1.97.3 to 1.98.0 build(deps): reinstall npm packages build(deps): bump immutable from 5.1.4 to 5.1.5 build(deps): bump svgo from 2.8.0 to 2.8.2 ci(deps): update `node@24.14.0` and `npm@11.9.0` versions build(deps-dev): bump @commitlint/config-conventional build(deps-dev): bump @commitlint/cli from 20.4.2 to 20.4.3 build(deps-dev): bump lint-staged from 16.3.1 to 16.3.2 build(deps): bump actions/setup-node from 6.2.0 to 6.3.0 build(deps-dev): bump lint-staged from 16.3.0 to 16.3.1 build(deps-dev): bump lint-staged from 16.2.7 to 16.3.0 build(deps-dev): bump minimatch from 3.1.2 to 3.1.5 build(deps): bump rollup from 4.57.0 to 4.59.0 build(deps): bump svelte from 5.53.0 to 5.53.6 build(deps-dev): bump ajv from 6.12.6 to 6.14.0 build(deps): bump vue-router from 5.0.2 to 5.0.3 build(deps-dev): bump @commitlint/config-conventional build(deps): bump svelte from 5.48.5 to 5.53.0 ... # Conflicts: # .github/workflows/check-node.yml # package-lock.json
Reason: - Patch updates detected by `ncu` (`npm-check-updates`) not covered by Dependabot - `chalk` `^5.6.0` → `^5.6.2` - `postcss` `^8.5.6` → `^8.5.8` - `vue` `^3.5.22` → `^3.5.30` Solution: - Update all three packages to their latest patch versions References: - Issue #890
Error: - Global overrides for `braces`, `micromatch`, `postcss` and `stylelint-config-recommended` applied to all packages unnecessarily Reason: - `braces` override is redundant because `micromatch@4.0.8` already depends on `braces@^3.0.3` - `micromatch` and `postcss` overrides are only needed by `vite-plugin-svg-icons` (via `svg-baker@1.7.0`) - `stylelint-config-recommended` override is only needed by `stylelint-config-recommended-vue` Solution: - Remove redundant `braces` override - Scope `micromatch` and `postcss` overrides to `vite-plugin-svg-icons` - Scope `stylelint-config-recommended` override to `stylelint-config-recommended-vue` References: - Issue #890
* bugfix/deps: fix(deps): scope overrides to their specific consumers fix(deps): update `chalk`, `postcss` and `vue` to latest patch versions
a20646f to
c070a5f
Compare
c070a5f to
ac3c37a
Compare
20 tasks
Owner
Author
CI fix applied in #892This PR fails CI because Fix appliedIssue #892 fixes the root cause:
Closing this PR as the CI incompatibility has been resolved directly on |
20 tasks
20 tasks
20 tasks
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
release(3.5.0): license, configuration and dependency improvements
📸 Screenshots
🔄 Type of Change
📝 Summary
stylelintpeer dependency fix,prettierYAML formatting and.editorconfigupdates📋 Changes Made
Configuration
License
LICENSEfile withMITand updatepackage.jsonlicense fromISCtoMITPrettier
.jsonextension.prettierrctoprettier:fixscriptYAMLoverride to.prettierrc.jsonandYAMLtoprettier:fixscriptprintWidthtoYAMLoverride in.prettierrc.jsonEditorConfig
[*]sectionYAMLsectionNew Features
.npmrcwithengine-strict=trueImprovements
authorfrom string to JSON object inpackage.json.prettierrcwith correct indentationDependencies
stylelintpeer dependency warningschalk,postcssandvueto latest patch versionsDocumentation
Licensesection toREADME.mdVersion
3.4.1to3.5.0🧪 Tests
npm installcompletes without errors:npm run lintpasses:🔗 References
Related Issues
LICENSEfile withMIT#824prettier:fixscript #825.npmrcwithengine-strict=true#826authorfrom string toJSONobject #827stylelintpeer dependency warnings #835YAMLfiles formatting support #836overridesfor vulnerabilities #890