Skip to content
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

Update dependency rome to v12 #107

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dev-platform-testing[bot]
Copy link

This PR contains the following updates:

Package Type Update Change
rome (source) devDependencies major ^10.0.1 -> ^12.0.0

Release Notes

rome/tools (rome)

v12.1.3

CLI
Other changes
  • rome lsp-proxy should accept the global CLI options #​4505
  • Enhance help descriptions
  • Accept the environment variable 'ROME_BINARY' to override the Rome binary
Configuration
Other changes
  • Fix an issue where all the nursery were enabled when the "nursery": {} object
    was defined #​4479
Formatter
Linter
Other changes
Parser
Other changes

v12.1.2

Configuration
Other changes
  • Fix regression where a specific combination of configuration didn't load
    the correct rules to apply #​4502
Linter
New rules
Other changes

v12.1.1

CLI
Other changes
  • Fix regression where the command lsp-proxy was renamed lsp_proxy #​4489
Configuration
Other changes
  • Fix an issue where Rome was loading incorrectly recommended rule #​4479 #​4488
Linter
Other changes
  • Fix an issue where the noAssignInExpressions rule replaced the operator with an invalid token, which caused other lint rules to crash. #​4464
  • Fix an issue that noUnusedVariables rule did not correctly detect exports when a variable and an interface had the same name #​4468

v12.1.0

CLI
Other changes
  • Refactored the underling argument parsing logic. Changed the look and feel of the help
    output. #​4405.
  • The command rome check can accept input from stdin.
  • Add the argument --stdin-file-path to use when running rome check via stdin.
  • Add the argument --formatter-enabled to the command rome check to control the formatter via CLI.
  • Add the argument --linter-enabled to the command rome check to control the linter via CLI.
  • Add the argument --organize-imports-enabled to the command rome check to control the import sorting via CLI.
  • Add new command rome migrate the transform the configuration file rome.json
    when there are breaking changes.
Configuration
  • Add vcs property, to opt in the VCS integration:
    • vcs.enabled, to enable or not the integration;
    • vcs.clientKind, the supported clients;
    • vcs.useIgnoreFile, to ignore the files/paths inside the file;
    • vcs.root, an optional path to the root of the VCS;
Editors
Other changes
  • Fix an issue where the VSCode extension duplicates text when using VSCode git utilities #​4338
  • Remove code assists from being added to the code actions when apply fixes;
  • When requesting code actions, ignored files should not throw errors. Fixes #​4434
Formatter
Other changes
  • Fix an issue where formatting of JSX string literals property values were using incorrect quotes #​4054
  • Changed import assertion grammar to the new import attribute assertion
- import "module" assert {}
+ import "module" with {}
  • Fix an issue where JSON formatter does not respect lineWidth for arrays #​4351
  • Add support for decorators
Linter
New rules
Promoted rules

New rules are promoted, please check #​4431 for more details.

Note that, noExtraSemicolons and noExtraLabels are renamed to noExtraSemicolon and noUselessLabel.

Other changes
Parser
Other changes
  • Allow module syntax in cts files
  • Changed import assertion grammar to the new import attribute assertion
- import "module" assert {}
+ import "module" with {}
  • Allow decorators before export and export default. #​4252
  • Add support for Stage 3 decorators
VSCode
  • requireConfiguration is set to true by default

v12.0.0

CLI
Breaking changes
  • Review how the traversal of the file system works. Now Rome won't navigate folders that are ignored.
    While this change is a bug fix, this could affect how the ignore entries are defined inside a project. We suggest to review them
    and make sure they still work.
  • --apply-suggested is now called --apply-unsafe
  • rome check --apply and rome check --apply-unsafe exits with non-zero code (error code)
    if there are still diagnostics to be addressed.
Other changes
  • rome check now checks import statements. This is an experimental feature that needs to be
    enabled via configuration. Import can be sorted using rome check --apply-unsafe
  • Rome is able to auto discover the configuration file. If Rome doesn't fine a configuration in the
    working directory, it will try to find one in the parent directories.
  • Add a new global options called --config-path. It tells Rome to try and discover a rome.json file
    in the given path.
    rome format --config-path=../../other/path/
    rome check --config-path=../../other/path/
Configuration
Other changes
  • Rome now uses the internal JSON parser to validate the configuration file. This means Rome won't
    exit anymore if there are issues with the rome.json file, instead it will apply its defaults
    to the sections that are incorrect.
  • Add javascript.organizeImports. This is an experimental feature and users need to opt-in.
{
  "organizeImports": {
    "enabled": true,
    "ignore": ["trickyFile.js"]
  }
}
  • Add linter.rules.all and linter.rules.[group].all. These options allow to enable or disable all
    rules, or all rules for a given group. all and recommended can't be both true.
{
  "linter": {
    "rules": {
      "all": true,
      "style" : {
        "all": false
      }
    }
  }
}

The previous example will enable all rules and disable all rules that belong to the style group.

Editors
Other changes
  • Add support to display diagnostics for JSON files.
  • Add support to format JSON files.
  • Pull diagnostics when parsing a rome.json file.
  • Imports sorting is not applied for files that are not supported or ignored.
Formatter
  • Add support for JSON files
  • Add support for TypeScript 4.7
  • Add support for TypeScript 5.0
Linter

New rules are promoted, please check #​4239 for more
details.

Parser
  • Support for TypeScript 4.7
  • Support for TypeScript 5.0
VSCode
Other changes
  • Add a new option called requireConfiguration. Enabling this option will force Rome to require
    a configuration file in your workspace/project. If Rome doesn't find a rome.json file, it won't
    emit diagnostics.

v11.0.0

CLI
BREAKING CHANGES
  • the argument --no-colors has been removed, in favor of --color=off
Other changes
  • The init command now adds the $schema property to the generated rome.json file
    if rome is installed inside the node_modules folder. Follow this guide to add the $schema property
    manually in a project with an existing rome.json file.
  • A new --semicolons option that configures if the formatter prints semicolons at the end of every statement (default) or at the beginning of statements when necessary to prevent ASI failures.
  • Rome exits with an error code if it doesn't process any file.
  • Fixed how the maximum number of diagnostics is calculated #​3869.
    Rome now prints the total number of errors caused in the files.
  • Rome now traverses symbolic links and emits warnings if it detects loops, and continues processing the next file during the directory traversal.
  • You can force color output using the new global --colors option with the value force. Forcing color output can be useful if you spawn Rome as a subprocess.
    Rome is spawned as a process;
Configuration
  • Added the JSON schema $schema property. The schema enables auto-completion by editors and...
    auto-completion and descriptions of all fields of the configuration file.
  • Added a new files.ignore option where users can ignore files across tools.
Editors
Formatter
BREAKING CHANGES
Other changes
  • Added support for omitting semicolons.
Linter
Rules

The following rules have been stabilized:

  • nursery/useFlatMap -> complexity/useFlatMap
  • nursery/useValidForDirection -> correctness/useValidForDirection
  • nursery/noExplicitAny -> suspicious/noExplicitAny
  • nursery/noConstAssign -> correctness/noConstAssign

These rules are all recommended, so they will be enabled by default. You can simply remove those entries from your configuration file if you had enabled them manually from the nursery group.

The following rules have been renamed:

  • a11y/useBlankTarget -> a11y/noBlankTarget
  • correctness/noMultipleSpacesInRegularExpressionLiterals -> complexity/noMultipleSpacesInRegularExpressionLiterals
  • style/useOptionalChain -> complexity/useOptionalChain
  • correctness/noUselessFragments -> complexity/noUselessFragments
  • correctness/noDelete -> performance/noDelete
  • correctness/useSingleCaseStatement -> style/useSingleCaseStatement
  • correctness/useWhile -> style/useWhile
  • correctness/noArguments -> style/noArguments
  • correctness/noAsyncPromiseExecutor -> suspicious/noAsyncPromiseExecutor
  • correctness/noCommentText -> suspicious/noCommentText
  • correctness/noCompareNegZero -> suspicious/noCompareNegZero
  • correctness/noDebugger -> suspicious/noDebugger
  • correctness/noDoubleEquals -> suspicious/noDoubleEquals
  • correctness/noShadowRestrictedNames -> suspicious/noShadowRestrictedNames
  • correctness/noSparseArray -> suspicious/noSparseArray
  • correctness/noUnsafeNegation -> suspicious/noUnsafeNegation
  • correctness/useValidTypeof -> suspicious/useValidTypeof
  • correctness/noArrayIndexKey -> suspicious/noArrayIndexKey
  • correctness/noCatchAssign -> suspicious/noCatchAssign
  • correctness/noDupeArgs -> suspicious/noDuplicateParameters
  • correctness/noFunctionAssign -> suspicious/noFunctionAssign
  • correctness/noImportAssign -> suspicious/noImportAssign
  • correctness/noLabelVar -> suspicious/noLabelVar
  • correctness/noRestrictedGlobals -> nursery/noRestrictedGlobals
  • nursery/noDupeKeys -> nursery/noDuplicateObjectKeys

If you were not changing the severity level of any of these rules in your configuration file, or suppressing a diagnostic emitted by those rules using suppression comments, you do not have to do anything. But if you did, Rome will now emit diagnostics for the parts of your configuration or suppression comments you need to update.

The following rules are no longer recommended:

  • style/noImplicitBoolean
  • style/noNegationElse
  • style/useBlockStatements
  • style/useShorthandArrayType
  • correctness/useSingleCaseStatement / style/useSingleCaseStatement
  • style/noShoutyConstants

The styling decisions imposed by these rules were not deemed to be idiomatic enough in the JavaScript ecosystem to be enabled by default. If you do want to enforce those rules in your project, you will have to enable them manually in you configuration file:

{
  "linter": {
    "rules": {
        "style": {
            "useBlockStatements": "warn"
        }
    }
  }
}

Finally, the following new rules have been introduced to the nursery group in this release:

Please give them a try by manually enabling them in your configuration and please share your feedback on the rule, diagnostics, and code fixes.

Parser
  • Added support for JSON;
  • Added support satisfies keyword;
  • Fixed parse for async used as label #​3612
  • Fixed parse of export default function in d.ts files #​3485
  • Improved the parsing of await in non-async contexts #​2479
VSCode
  • Removed the "preview" label from the extension.
  • Improved logging when the extension can't connect to the server. #​3920
JavaScript APIs
Breaking change
  • The concept of backend has been removed, in favor of the concept of distribution.
  • Removed the possibility to connect to the daemon, for the time being.
  • The APIs are asynchronous anymore.
Other changes
  • The package has been marked as unstable and in alpha state.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Copy link
Author

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: pnpm-lock/pnpm-lock.yaml
Progress: resolved 0, reused 1, downloaded 0, added 0
 WARN  GET https://registry.npmjs.org/astro-compress/-/astro-compress-1.1.35.tgz error (ERR_PNPM_FETCH_404). Will retry in 10 seconds. 2 retries left.
Progress: resolved 40, reused 39, downloaded 1, added 0
 WARN  GET https://registry.npmjs.org/astro-compress/-/astro-compress-1.1.35.tgz error (ERR_PNPM_FETCH_404). Will retry in 1 minute. 1 retries left.
undefined
 ERR_PNPM_FETCH_404  GET https://registry.npmjs.org/astro-compress/-/astro-compress-1.1.35.tgz: Not Found - 404

No authorization header was set for the request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants