This repository has been archived by the owner on Aug 31, 2023. It is now read-only.
Releases: rome/tools
Releases · rome/tools
CLI v0.7.0-next.f6510d6
What's Changed
- chore(playground): update formatting files by @ematipico in #2817
- feature(rome_js_analyzer): semantic rules and "no arguments" lint rule by @xunilrj in #2807
- ci: format files outside
src
folder by @ematipico in #2829 - fix(rome_js_analyze): add missing control flow root nodes by @leops in #2832
- fix performance.measure returning undefined on firefox by @xunilrj in #2834
- chore: remove
dbg!
from source code by @ematipico in #2833 - feat(rome_js_analyze): noCommentText by @IWANABETHATGUY in #2810
- feat(rome_service): configuration file shape by @ematipico in #2825
- fix(rome_js_analyze): better diagnostic message of useSimplifiedLogicExpression by @IWANABETHATGUY in #2839
- feat(rome_control_flow): introduce explicit exception control flow by @leops in #2821
- feat(rome_js_formatter): poorly breakable member or call chain by @denbezrukov in #2809
- feat(rome_js_semantic): scope navigation improvements by @xunilrj in #2841
- feat(rome_cli): add
--max-diagnostics
argument torome check
by @ematipico in #2843 - fix(rome_js_analyze): lint-rule-doc by @IWANABETHATGUY in #2858
- chore: add CODEOWNERS file by @ematipico in #2845
- feat(ci): enable nightly builds by @leops in #2859
- chore(xtask): bench analyzer on better files by @ematipico in #2847
- feat(rome_js_analyze): noLabelVar by @IWANABETHATGUY in #2838
- perf(rome_analyze): optimize code actions diff generation by @leops in #2842
- feat(rome_js_semantic): get declaration for JsIdentifierAssignment by @xunilrj in #2854
- perf(rome_analyze): fallback to a simple analysis in noDeadCode for complex functions by @leops in #2860
- feat(playground): Sync rome config to local storage by @IWANABETHATGUY in #2853
- feat(rome_cli): read configuration file from CLI by @ematipico in #2851
- chore: better package.json and readme by @ematipico in #2819
- fix(playground): bad type check by @ematipico in #2865
- chore: add badges to
README.md
by @ematipico in #2867 - feat(rome_js_semantic): implements all_reference for the semantic model by @xunilrj in #2864
- ci: run the CLI on the VSCode extension and website codebase in the Rust PR workflow by @leops in #2871
- fix(rome_js_analyze): only emit control flow side-effects for variable declarators with an initializer by @leops in #2870
- chore: remove Nicholas from the staff team by @ematipico in #2873
- feat(rome_analyze): implement per-rule tracking of suppression comments by @leops in #2822
- feat(rome_analyze): add rule groups by @leops in #2850
- chore(website): fix incorrect command by @ematipico in #2875
- feat(rome_js_analyze): noCatchAssign by @IWANABETHATGUY in #2849
- perf(playground): code improvements by @vramana in #2863
- fix(playground): correct placeholder by @ematipico in #2877
- feat(rome_js_semantic): Enrich the semantic model with read/write information by @xunilrj in #2874
- chore: deploy rust doc to github pages by @ematipico in #2879
- feat(rome_service, rome_cli): linter via configuration by @ematipico in #2866
- feat(rome_rowan): batch mutation for syntax nodes by @xunilrj in #2852
- feat(rome_lsp): read configuration file by @ematipico in #2872
- feat(rome_cli): init command by @ematipico in #2876
- fix(playground): malformed prettier formating result by @IWANABETHATGUY in #2883
- refactor(rome_formatter): Use
memoized.inspect
overbuffer.inspect
by @MichaReiser in #2889 - feat(rome_js_analyze): noShoutyConstants by @xunilrj in #2886
- refactor(playground): Worker code handling by @MichaReiser in #2888
- refactor(rome_js_analyze) : noCatchAssign by @IWANABETHATGUY in #2880
New Contributors
Full Changelog: cli/v0.7.0-next...cli/v"0.7.0-next.f6510d6"
VSCode Extension v0.10.0
What's Changed
- refactor(rome_js_formatter): avoid snapshot when formatting skipped token trivia by @MichaReiser in #2683
- feat(rome_analyze): add a codegen command for the analyzer by @leops in #2646
- feat(rome_rowan): add the root node as an associated type on the language trait by @leops in #2689
- feat(rome_analyze): add a fix argument to
rome check
command CLI and LSP by @leops in #2615 - feat(rome_analyze): implement the validTypeof rule by @leops in #2649
- feat(rome_analyze): noCompareNegZero by @IWANABETHATGUY in #2644
- feat(rome_analyze): noNegationElse by @IWANABETHATGUY in #2655
- feat(rome_rowan): add a
declare_union
macro for one-off union AstNodes by @leops in #2691 - fix(xtask): enforce a stable ordering for the generated imports of lint rules by @leops in #2695
- fix(rome_analyze): handle find_diff_range in case tokens were only removed by @leops in #2694
- feat(rome_analyze): implement the useSingleCaseStatement rule by @leops in #2648
- feat(rome_js_formatter): Binary like object literal member expression by @denbezrukov in #2688
- fix(rome_analyze): prevent the range end search of find_diff_range from crossing the start of the range by @leops in #2697
- feat(rome_rowan): implement
DoubleEndedIterator
for node lists by @ematipico in #2672 - feat(rome_analyze): improve the diagnostics builder in the analyzer by @leops in #2692
- feat(rome_analyze): noDebugger by @IWANABETHATGUY in #2643
- feat(rome_analyze): noUnusedTemplateLiteral by @IWANABETHATGUY in #2653
- feat(rome_analyze): noSparseArray by @IWANABETHATGUY in #2650
- feature(rome_js_parser): JSX support in .js files by @NicholasLYang in #2674
- test(rome_js_formatter): update prettier tests by @denbezrukov in #2704
- feat(rome_analyze): noImplicitBoolean by @IWANABETHATGUY in #2702
- fix(rome_formatter):
dbg_write
API compatibility withwrite
by @MichaReiser in #2708 - refactor(rome_analyze): move the JS-specific code to rome_js_analyze by @leops in #2700
- feature(rome_js_semantic): matching declarations and scopes by @xunilrj in #2690
- chore: fix typo in
CHANGELOG.md
by @mehulkar in #2710 - feature(rome_js_formatter): Inline comment formatting by @MichaReiser in #2701
- fix(rome_js_semantic): remove dbg from semantic tests by @xunilrj in #2719
- refactor(rome_js_analyze): use
js_string_literal
helper function by @IWANABETHATGUY in #2715 - feature(rome_analyzer): Rule context by @xunilrj in #2714
- refactor(rome_js_formatter): Introduce
format_parenthesize
by @MichaReiser in #2718 - feat(rome_js_analyze): useSelfClosingElements by @IWANABETHATGUY in #2707
- feat(rome_js_analyze):noMultipleSpacesInRegularExpressionLiterals by @IWANABETHATGUY in #2717
- feat(xtask): automatically generate documentation pages for lint rules by @leops in #2703
- feat(rome_js_formatter): call arguments by @ematipico in #2711
- feat(rome_js_formatter): JsAnyAssignmentLike node union for JsPropertyObjectMember and JsAssignmentExpression by @denbezrukov in #2698
- refactor(rome_formatter):
GroupElementsBuffer
by @MichaReiser in #2724 - fix(rome_js_sematic): typo by @IWANABETHATGUY in #2736
- feat(rome_js_formatter): assignment expressions with layout by @ematipico in #2728
- fix(rome_js_formatter): Fix suppression command handling for
if-else
clause by @MichaReiser in #2738 - test(rome_js_formatter): support report prettier metric as a json file by @IWANABETHATGUY in #2626
- fix(rome_formatter): Group ID in fits function by @MichaReiser in #2739
- feature(rome_js_formatter): Class formatting (including heritage) by @MichaReiser in #2742
- feature(rome_js_semantic): extraction of reference (read) events by @xunilrj in #2725
- feat(rome_js_analyze): noEmptyPattern by @IWANABETHATGUY in #2731
- feat(rome_js_analyze): noAsyncPromiseExecutor by @IWANABETHATGUY in #2733
- feat(rome_analyze): useBlockStatements by @IWANABETHATGUY in #2658
- feat(rome_js_analyze): noUnsafeNegation by @IWANABETHATGUY in #2723
- refactor(rome_js_formatter): Support
FormatRule
s with options by @MichaReiser in #2757 - feature(rome_js_semantic): Hoisting by @xunilrj in #2761
- feat(rome_js_formatter): object pattern formatting by @ematipico in #2729
- fix(rome_js_formatter): don't add trailing operator on rest arguments by @ematipico in #2760
- feature(formatter): JSX Element by @NicholasLYang in #2542
- feat(rome_js_formatter): variable declarator formatting by @denbezrukov in #2762
- refactor(rome_js_formatter): Delete
FormatMemberName
by @MichaReiser in #2767 - refactor(rome_formatter): Unify comment/token spacing for leading/tra… by @MichaReiser in #2766
- feature(rome_js_formatter): Static Member Expression formatting by @MichaReiser in #2727
- chore: Move Prettier compat metrics to the top by @IWANABETHATGUY in #2765
- refactor(rome_js_formatter): Remove unnecessary groups from
format_separated
by @MichaReiser in #2770 - fix(rome_js_formatter): custom formatting for test calls by @ematipico in #2769
- feature(rome_js_formatter): TS Interface formatting by @MichaReiser in #2773
- fix(rome_js_formatter): Match test function names on trimmed text by @ematipico in #2777
- feature(rome_js_formatter): Inspect memoized content by @MichaReiser in #2772
- refactor(formatter): Use slice to store content by @MichaReiser in #2775
- refactor(rome_js_formatter): Remove
Copy
fromJsFormatContext
by @MichaReiser in #2779 - feat(rome_js_analyze): useShorthandType by @IWANABETHATGUY in #2745
- feat(rome_rowan): expose the kind of AstNode as a constant by @leops in #2774
- feat(rome_js_formatter): type alias as assignment like by @ematipico in #2787
- feature(rome_js_semantic): semantic model built from semantic events by @xunilrj in #2776
- feat(xtask_lintdoc): add more markdown syntax support by @IWANABETHATGUY in #2764
- feat(rome_js_analyze): useSimplifiedLogicExpression by @IWANABETHATGUY in #2759
- fix(rome_js_parser):🐛 issue_2790 by @IWANABETHATGUY in #2791
- feature(rome_js_semantic): more docs for semantic events by @xunilrj in #2789
- feat(rome_formatter): will_break utility by @ematipico in #2771
- refactor(rome_analyze): add the visitor and queryable trait by @leops in #2778
- fix(rome_js_formatter): better formatting of type args and unions by @ematipico in #2792
- fix(rome_js_formatter): indentation before arrow fn is JSX by @ematipico in #2793
- feat(vscode): enable formatting for JSX and TSX files by @ematipico in #2795
- docs(website): fix order of sections for lint rules by @ematipico in #2798
- feat(rome_js_formatter): class property members as assignment like by @ematipico in #2797
- feat(rome_control_flow): add the control flow crate by @leops in #2781
- fix(rome_js_formatter): breaking logic for member chains by @ematipico in #2800
- chore: fix broken rust documentation by @ematipico in #2805
- feat(rome_js_analyze): noUnnecessaryContinue by @IWANABETHATGUY in #2796
- feat(rome_js_formatter): add format element label by @denbezrukov in #2783
- chore: upgrade toolchain to latest stable version 1.62.0 by @IWANABETHATGUY in #2802
- feat(rome_js_formatter): remove unnecessary escapes by @ematipico in http...
CLI v0.7.0-next
What's Changed
- refactor(rome_js_formatter): avoid snapshot when formatting skipped token trivia by @MichaReiser in #2683
- feat(rome_analyze): add a codegen command for the analyzer by @leops in #2646
- feat(rome_rowan): add the root node as an associated type on the language trait by @leops in #2689
- feat(rome_analyze): add a fix argument to
rome check
command CLI and LSP by @leops in #2615 - feat(rome_analyze): implement the validTypeof rule by @leops in #2649
- feat(rome_analyze): noCompareNegZero by @IWANABETHATGUY in #2644
- feat(rome_analyze): noNegationElse by @IWANABETHATGUY in #2655
- feat(rome_rowan): add a
declare_union
macro for one-off union AstNodes by @leops in #2691 - fix(xtask): enforce a stable ordering for the generated imports of lint rules by @leops in #2695
- fix(rome_analyze): handle find_diff_range in case tokens were only removed by @leops in #2694
- feat(rome_analyze): implement the useSingleCaseStatement rule by @leops in #2648
- feat(rome_js_formatter): Binary like object literal member expression by @denbezrukov in #2688
- fix(rome_analyze): prevent the range end search of find_diff_range from crossing the start of the range by @leops in #2697
- feat(rome_rowan): implement
DoubleEndedIterator
for node lists by @ematipico in #2672 - feat(rome_analyze): improve the diagnostics builder in the analyzer by @leops in #2692
- feat(rome_analyze): noDebugger by @IWANABETHATGUY in #2643
- feat(rome_analyze): noUnusedTemplateLiteral by @IWANABETHATGUY in #2653
- feat(rome_analyze): noSparseArray by @IWANABETHATGUY in #2650
- feature(rome_js_parser): JSX support in .js files by @NicholasLYang in #2674
- test(rome_js_formatter): update prettier tests by @denbezrukov in #2704
- feat(rome_analyze): noImplicitBoolean by @IWANABETHATGUY in #2702
- fix(rome_formatter):
dbg_write
API compatibility withwrite
by @MichaReiser in #2708 - refactor(rome_analyze): move the JS-specific code to rome_js_analyze by @leops in #2700
- feature(rome_js_semantic): matching declarations and scopes by @xunilrj in #2690
- chore: fix typo in
CHANGELOG.md
by @mehulkar in #2710 - feature(rome_js_formatter): Inline comment formatting by @MichaReiser in #2701
- fix(rome_js_semantic): remove dbg from semantic tests by @xunilrj in #2719
- refactor(rome_js_analyze): use
js_string_literal
helper function by @IWANABETHATGUY in #2715 - feature(rome_analyzer): Rule context by @xunilrj in #2714
- refactor(rome_js_formatter): Introduce
format_parenthesize
by @MichaReiser in #2718 - feat(rome_js_analyze): useSelfClosingElements by @IWANABETHATGUY in #2707
- feat(rome_js_analyze):noMultipleSpacesInRegularExpressionLiterals by @IWANABETHATGUY in #2717
- feat(xtask): automatically generate documentation pages for lint rules by @leops in #2703
- feat(rome_js_formatter): call arguments by @ematipico in #2711
- feat(rome_js_formatter): JsAnyAssignmentLike node union for JsPropertyObjectMember and JsAssignmentExpression by @denbezrukov in #2698
- refactor(rome_formatter):
GroupElementsBuffer
by @MichaReiser in #2724 - fix(rome_js_sematic): typo by @IWANABETHATGUY in #2736
- feat(rome_js_formatter): assignment expressions with layout by @ematipico in #2728
- fix(rome_js_formatter): Fix suppression command handling for
if-else
clause by @MichaReiser in #2738 - test(rome_js_formatter): support report prettier metric as a json file by @IWANABETHATGUY in #2626
- fix(rome_formatter): Group ID in fits function by @MichaReiser in #2739
- feature(rome_js_formatter): Class formatting (including heritage) by @MichaReiser in #2742
- feature(rome_js_semantic): extraction of reference (read) events by @xunilrj in #2725
- feat(rome_js_analyze): noEmptyPattern by @IWANABETHATGUY in #2731
- feat(rome_js_analyze): noAsyncPromiseExecutor by @IWANABETHATGUY in #2733
- feat(rome_analyze): useBlockStatements by @IWANABETHATGUY in #2658
- feat(rome_js_analyze): noUnsafeNegation by @IWANABETHATGUY in #2723
- refactor(rome_js_formatter): Support
FormatRule
s with options by @MichaReiser in #2757 - feature(rome_js_semantic): Hoisting by @xunilrj in #2761
- feat(rome_js_formatter): object pattern formatting by @ematipico in #2729
- fix(rome_js_formatter): don't add trailing operator on rest arguments by @ematipico in #2760
- feature(formatter): JSX Element by @NicholasLYang in #2542
- feat(rome_js_formatter): variable declarator formatting by @denbezrukov in #2762
- refactor(rome_js_formatter): Delete
FormatMemberName
by @MichaReiser in #2767 - refactor(rome_formatter): Unify comment/token spacing for leading/tra… by @MichaReiser in #2766
- feature(rome_js_formatter): Static Member Expression formatting by @MichaReiser in #2727
- chore: Move Prettier compat metrics to the top by @IWANABETHATGUY in #2765
- refactor(rome_js_formatter): Remove unnecessary groups from
format_separated
by @MichaReiser in #2770 - fix(rome_js_formatter): custom formatting for test calls by @ematipico in #2769
- feature(rome_js_formatter): TS Interface formatting by @MichaReiser in #2773
- fix(rome_js_formatter): Match test function names on trimmed text by @ematipico in #2777
- feature(rome_js_formatter): Inspect memoized content by @MichaReiser in #2772
- refactor(formatter): Use slice to store content by @MichaReiser in #2775
- refactor(rome_js_formatter): Remove
Copy
fromJsFormatContext
by @MichaReiser in #2779 - feat(rome_js_analyze): useShorthandType by @IWANABETHATGUY in #2745
- feat(rome_rowan): expose the kind of AstNode as a constant by @leops in #2774
- feat(rome_js_formatter): type alias as assignment like by @ematipico in #2787
- feature(rome_js_semantic): semantic model built from semantic events by @xunilrj in #2776
- feat(xtask_lintdoc): add more markdown syntax support by @IWANABETHATGUY in #2764
- feat(rome_js_analyze): useSimplifiedLogicExpression by @IWANABETHATGUY in #2759
- fix(rome_js_parser):🐛 issue_2790 by @IWANABETHATGUY in #2791
- feature(rome_js_semantic): more docs for semantic events by @xunilrj in #2789
- feat(rome_formatter): will_break utility by @ematipico in #2771
- refactor(rome_analyze): add the visitor and queryable trait by @leops in #2778
- fix(rome_js_formatter): better formatting of type args and unions by @ematipico in #2792
- fix(rome_js_formatter): indentation before arrow fn is JSX by @ematipico in #2793
- feat(vscode): enable formatting for JSX and TSX files by @ematipico in #2795
- docs(website): fix order of sections for lint rules by @ematipico in #2798
- feat(rome_js_formatter): class property members as assignment like by @ematipico in #2797
- feat(rome_control_flow): add the control flow crate by @leops in #2781
- fix(rome_js_formatter): breaking logic for member chains by @ematipico in #2800
- chore: fix broken rust documentation by @ematipico in #2805
- feat(rome_js_analyze): noUnnecessaryContinue by @IWANABETHATGUY in #2796
- feat(rome_js_formatter): add format element label by @denbezrukov in #2783
- chore: upgrade toolchain to latest stable version 1.62.0 by @IWANABETHATGUY in #2802
- feat(rome_js_formatter): remove unnecessary escapes by @ematipico in http...
CLI v0.6.1-next
What's Changed
- chore: Reformat JS files with Rome 0.6.0 by @MichaReiser in #2669
- chore(coverage): better panic log for coverage by @xunilrj in #2668
- fix(rome_cli): do not print lint warnings for the format command by @leops in #2680
- fix(rome_analyze): fix the find_diff_range function by @leops in #2679
- refactor(formatter): Rename
FormatError::MissingRequiredChild
toSyntaxError
by @MichaReiser in #2681 - chore(rome_formatter): remove unused
FormatError
variants by @MichaReiser in #2684 - chore(coverage): Disable coverage tests for formatter/linter changes by @MichaReiser in #2682
- fix(rome_js_parser): remove use strict check by @NicholasLYang in #2677
- fix(rome_formatter): measure first variant of BestFitting in flat mode by @yassere in #2675
- release: 0.6.1 by @ematipico in #2687
Full Changelog: cli/v0.6.0-next...cli/v0.6.1-next
VSCode Extension v0.8.0
What's Changed
- chore: update readme by @ematipico in #2523
- fix(ci): Deploy playground only on main Rome repo by @NicholasLYang in #2522
- fix(rome_js_formatter): break computed expressions like prettier by @ematipico in #2517
- fix(playground): Update pnpm requirement to 7.0.0. by @cpojer in #2528
- refactor: Split out
JsFormatter
by @MichaReiser in #2526 - feat(rome_js_parser): quick cast methods for nodes by @xunilrj in #2535
- fix(rome_js_formatter): number with trailing whitespace by @mrkldshv in #2519
- fix(rome_js_formatter): elide quotes inside members by @ematipico in #2502
- Fix(rome_js_formatter): 🎸 Switch-case block body placement by @IWANABETHATGUY in #2514
- fix(playground): update lock file by @ematipico in #2539
- Revert "fix(rome_js_formatter): elide quotes inside members" by @ematipico in #2544
- chore: Fix deploy playground on main by @MichaReiser in #2545
- fix(rome_js_formatter): Put closing curly on new line for empty blocks. by @IWANABETHATGUY in #2540
- fix(formatter): Stack overflow in formatting computed member expressions by @MichaReiser in #2548
- feat(rome_js_formatter): JSXFragment by @ematipico in #2484
- feature(formatter): Clean JSX Text by @NicholasLYang in #2527
- feature: AST Serialization by @NicholasLYang in #2509
- fix(cargo.toml): 🐛 fix repo link by @IWANABETHATGUY in #2551
- chore(website): Added careers link by @NicholasLYang in #2560
- fix(rome_js_formatter): 🐛 wrap some string expression stmt by @IWANABETHATGUY in #2547
- feat(rome_js_parser): check for missing children in parser tests by @leops in #2176
- refactor(rome_analyze): syntax mutation and factories API by @leops in #2491
- feature(playground): Prettier IR tab by @NicholasLYang in #2543
- refactor(Formatter):
formatted
Macro by @MichaReiser in #2557 - Fix(rome_js_formatter):🐛 fix parenthesis expression bad case by @IWANABETHATGUY in #2564
- fix: Countme overflow in tests by @MichaReiser in #2575
- format(rome_*): format rust doc comments by @IWANABETHATGUY in #2573
- feat(lsp): improve the user experience of the analyzer in the editor by @leops in #2576
- refactor(Formatter): Move
Format
,Formatter
, torome_formatter
by @MichaReiser in #2559 - feature(website): Toggle Tree Style by @NicholasLYang in #2563
- feat(rome_js_formatter): 💡 Prettier Compatibility Metric by @IWANABETHATGUY in #2574
- feat(rome_diagnostic): refactor diagnostics to use markup by @leops in #2580
- fix(formatter): Tighten
has_line_breaks
method by @MichaReiser in #2581 - fix(formatter): Stable member chain printing by @MichaReiser in #2582
- ci: 🎡 fix broken ci by @IWANABETHATGUY in #2584
- refactor(formatter): Extract language specific options by @MichaReiser in #2578
- feat(rome_cli): implement the
check
andci
CLI commands by @leops in #2583 - refactor(formatter): Refactor
try_print_flat
tofits_on_line
by @MichaReiser in #2589 - feature(formatter):
LineSuffixBoundary
andExpandParent
IR by @MichaReiser in #2590 - chore(playground): Display cleaned prettier IR by @MichaReiser in #2592
- fix(rome_rowan): fix the next_token and prev_token methods on SyntaxToken by @leops in #2595
- fix(playground): state not persisting properly in url by @NicholasLYang in #2594
- chore: Upgrade to Rust 1.61.0 by @Boshen in #2599
- feature(formatter): Add
BestFitting
IR element by @MichaReiser in #2591 - (website): 🤖 remove package lock json by @IWANABETHATGUY in #2596
- fix(repo): Update .gitignore. by @cpojer in #2605
- feat(rome_js_formatter): Hard line breaks in object expressions. by @cpojer in #2458
- refactor: Stabilize formatter by @MichaReiser in #2597
- refactor: Printer "fits" definition by @MichaReiser in #2598
- feat(rome_rowan): cast and parent to help SyntaxNode and AstNode navigation by @xunilrj in #2601
- fix(rome_js_formatter): empty statements in
if/else
anddo/while
by @ematipico in #2549 - fix(rome_js_formatter): correctly format sequence expressions by @ematipico in #2541
- fix(rome_formatter): improve the compatibility of range formatting with Prettier by @leops in #2602
- refactor: move
SourceType
insiderome_js_syntax
by @ematipico in #2608 - (npm/rome): remove
node:
prefix for builtin module by @IWANABETHATGUY in #2607 - feat(rome_service): introduce a cross-language
Workspace
abstraction by @leops in #2593 - perf(rowan): Speedup
next_token
andprev_token
implementations by @MichaReiser in #2612 - fix(playground): JSX and TypeScript not persisted in URL by @NicholasLYang in #2610
- feat(rome_cli): disable markup formatting when unsupported by @leops in #2613
- feature(rome_js_parser): coverage test suite for ts symbols file by @xunilrj in #2588
- feat(playground): add a button to copy rome_ir to clipboard by @IWANABETHATGUY in #2604
- fix(parser): Fix JSX parser dropping content by @MichaReiser in #2630
- feat(rome_formatter): make formatter language aware by @ematipico in #2629
- fix(rome_js_formatter): choose preferred quotes and reduce escaping by @ematipico in #2624
- chore(rome_js_formatter): apply alias by @ematipico in #2633
- feature(rome_js_parser): Extraction of variable declarations by @xunilrj in #2628
- docs(formatter): fix some mistakes in doc comments by @yassere in #2637
- perf(formatter): Remove
prev_token
traversal from format leading trivia by @MichaReiser in #2638 - feature(formatter): Fill separators by @NicholasLYang in #2609
- refactor(rome_js_formatter): format static member expressions using loop by @ematipico in #2635
- feature(rome_js_semantic): Extraction of scope (simple cases) by @xunilrj in #2639
- feat(rome_js_formatter): elide quotes in object/class members by @ematipico in #2536
- fix(rome_formatter): handle groups correctly when measuring fit by @yassere in #2645
- feat(rome_js_formatter): Break long object literal members over two lines #2425 by @Dominionys in #2627
- refactor(formatter): Introduce
write
,format
, andformat_args
macros by @MichaReiser in #2634 - refactor(formatter): Member chain: left to right formatting by @MichaReiser in #2641
- Fix(rome_js_formatter): named import by @IWANABETHATGUY in #2498
- fix(rome_js_formatter): prevent some unnecessary trailing commas by @yassere in #2663
- refactor(formatter): Change binary like expression to format left to right by @MichaReiser in #2640
- fix(syntax): Remove quotes from tokens in
JsSyntaxKind::to_string
by @MichaReiser in #2665 - release: 0.6.0 by @ematipico in #2662
New Contributors
- @Dominionys made their first contribution in #2627
Full Changelog: lsp/v0.6.0...lsp/v0.8.0
CLI v0.6.0-next
What's Changed
- chore: update readme by @ematipico in #2523
- fix(ci): Deploy playground only on main Rome repo by @NicholasLYang in #2522
- fix(rome_js_formatter): break computed expressions like prettier by @ematipico in #2517
- fix(playground): Update pnpm requirement to 7.0.0. by @cpojer in #2528
- refactor: Split out
JsFormatter
by @MichaReiser in #2526 - feat(rome_js_parser): quick cast methods for nodes by @xunilrj in #2535
- fix(rome_js_formatter): number with trailing whitespace by @mrkldshv in #2519
- fix(rome_js_formatter): elide quotes inside members by @ematipico in #2502
- Fix(rome_js_formatter): 🎸 Switch-case block body placement by @IWANABETHATGUY in #2514
- fix(playground): update lock file by @ematipico in #2539
- Revert "fix(rome_js_formatter): elide quotes inside members" by @ematipico in #2544
- chore: Fix deploy playground on main by @MichaReiser in #2545
- fix(rome_js_formatter): Put closing curly on new line for empty blocks. by @IWANABETHATGUY in #2540
- fix(formatter): Stack overflow in formatting computed member expressions by @MichaReiser in #2548
- feat(rome_js_formatter): JSXFragment by @ematipico in #2484
- feature(formatter): Clean JSX Text by @NicholasLYang in #2527
- feature: AST Serialization by @NicholasLYang in #2509
- fix(cargo.toml): 🐛 fix repo link by @IWANABETHATGUY in #2551
- chore(website): Added careers link by @NicholasLYang in #2560
- fix(rome_js_formatter): 🐛 wrap some string expression stmt by @IWANABETHATGUY in #2547
- feat(rome_js_parser): check for missing children in parser tests by @leops in #2176
- refactor(rome_analyze): syntax mutation and factories API by @leops in #2491
- feature(playground): Prettier IR tab by @NicholasLYang in #2543
- refactor(Formatter):
formatted
Macro by @MichaReiser in #2557 - Fix(rome_js_formatter):🐛 fix parenthesis expression bad case by @IWANABETHATGUY in #2564
- fix: Countme overflow in tests by @MichaReiser in #2575
- format(rome_*): format rust doc comments by @IWANABETHATGUY in #2573
- feat(lsp): improve the user experience of the analyzer in the editor by @leops in #2576
- refactor(Formatter): Move
Format
,Formatter
, torome_formatter
by @MichaReiser in #2559 - feature(website): Toggle Tree Style by @NicholasLYang in #2563
- feat(rome_js_formatter): 💡 Prettier Compatibility Metric by @IWANABETHATGUY in #2574
- feat(rome_diagnostic): refactor diagnostics to use markup by @leops in #2580
- fix(formatter): Tighten
has_line_breaks
method by @MichaReiser in #2581 - fix(formatter): Stable member chain printing by @MichaReiser in #2582
- ci: 🎡 fix broken ci by @IWANABETHATGUY in #2584
- refactor(formatter): Extract language specific options by @MichaReiser in #2578
- feat(rome_cli): implement the
check
andci
CLI commands by @leops in #2583 - refactor(formatter): Refactor
try_print_flat
tofits_on_line
by @MichaReiser in #2589 - feature(formatter):
LineSuffixBoundary
andExpandParent
IR by @MichaReiser in #2590 - chore(playground): Display cleaned prettier IR by @MichaReiser in #2592
- fix(rome_rowan): fix the next_token and prev_token methods on SyntaxToken by @leops in #2595
- fix(playground): state not persisting properly in url by @NicholasLYang in #2594
- chore: Upgrade to Rust 1.61.0 by @Boshen in #2599
- feature(formatter): Add
BestFitting
IR element by @MichaReiser in #2591 - (website): 🤖 remove package lock json by @IWANABETHATGUY in #2596
- fix(repo): Update .gitignore. by @cpojer in #2605
- feat(rome_js_formatter): Hard line breaks in object expressions. by @cpojer in #2458
- refactor: Stabilize formatter by @MichaReiser in #2597
- refactor: Printer "fits" definition by @MichaReiser in #2598
- feat(rome_rowan): cast and parent to help SyntaxNode and AstNode navigation by @xunilrj in #2601
- fix(rome_js_formatter): empty statements in
if/else
anddo/while
by @ematipico in #2549 - fix(rome_js_formatter): correctly format sequence expressions by @ematipico in #2541
- fix(rome_formatter): improve the compatibility of range formatting with Prettier by @leops in #2602
- refactor: move
SourceType
insiderome_js_syntax
by @ematipico in #2608 - (npm/rome): remove
node:
prefix for builtin module by @IWANABETHATGUY in #2607 - feat(rome_service): introduce a cross-language
Workspace
abstraction by @leops in #2593 - perf(rowan): Speedup
next_token
andprev_token
implementations by @MichaReiser in #2612 - fix(playground): JSX and TypeScript not persisted in URL by @NicholasLYang in #2610
- feat(rome_cli): disable markup formatting when unsupported by @leops in #2613
- feature(rome_js_parser): coverage test suite for ts symbols file by @xunilrj in #2588
- feat(playground): add a button to copy rome_ir to clipboard by @IWANABETHATGUY in #2604
- fix(parser): Fix JSX parser dropping content by @MichaReiser in #2630
- feat(rome_formatter): make formatter language aware by @ematipico in #2629
- fix(rome_js_formatter): choose preferred quotes and reduce escaping by @ematipico in #2624
- chore(rome_js_formatter): apply alias by @ematipico in #2633
- feature(rome_js_parser): Extraction of variable declarations by @xunilrj in #2628
- docs(formatter): fix some mistakes in doc comments by @yassere in #2637
- perf(formatter): Remove
prev_token
traversal from format leading trivia by @MichaReiser in #2638 - feature(formatter): Fill separators by @NicholasLYang in #2609
- refactor(rome_js_formatter): format static member expressions using loop by @ematipico in #2635
- feature(rome_js_semantic): Extraction of scope (simple cases) by @xunilrj in #2639
- feat(rome_js_formatter): elide quotes in object/class members by @ematipico in #2536
- fix(rome_formatter): handle groups correctly when measuring fit by @yassere in #2645
- feat(rome_js_formatter): Break long object literal members over two lines #2425 by @Dominionys in #2627
- refactor(formatter): Introduce
write
,format
, andformat_args
macros by @MichaReiser in #2634 - refactor(formatter): Member chain: left to right formatting by @MichaReiser in #2641
- Fix(rome_js_formatter): named import by @IWANABETHATGUY in #2498
- fix(rome_js_formatter): prevent some unnecessary trailing commas by @yassere in #2663
- refactor(formatter): Change binary like expression to format left to right by @MichaReiser in #2640
- fix(syntax): Remove quotes from tokens in
JsSyntaxKind::to_string
by @MichaReiser in #2665 - release: 0.6.0 by @ematipico in #2662
New Contributors
- @Dominionys made their first contribution in #2627
Full Changelog: lsp/v0.6.0...cli/v0.6.0-next
VSCode Extension v0.6.0
What's Changed
- docs(website): update formatter options by @ematipico in #2389
- chore(rome_fs): add
svn
,hg
andyarn
to ignored folders by @ematipico in #2503 - fix(rome_js_formatter): add space after new token by @ematipico in #2507
- feature(formatter): JSX Spread Attribute by @NicholasLYang in #2454
- fix(rome_js_formatter): 🐛 fix interface foramt issue by @IWANABETHATGUY in #2511
- fix(rome_formatter): better grouping of call chain by @ematipico in #2490
- fix(rome_js_parser): jsx vs type assertions by @xunilrj in #2508
- Fix(rome_js_formatter):regex flag order by @IWANABETHATGUY in #2505
- fix(ci): Disable deploy playground for forks by @NicholasLYang in #2510
- release(vscode): 0.6.0 by @ematipico in #2513
- fix(ci): fix the release workflows for the CLI and LSP by @leops in #2516
- release(vscode): 0.6.0 by @leops in #2520
Full Changelog: cli/v0.5.0-next...lsp/v0.6.0
CLI v0.5.0-next
What's Changed
- Update README.md by @darrow-olykos in #2348
- chore(rome_cli): move ending message after diagnostics by @ematipico in #2349
- feat(rome_diagnostics): print diagnostics as markup by @leops in #2346
- chore(website): Getting Started copy by @NicholasLYang in #2343
- chore: use npm 8 across projects by @ematipico in #2352
- feat(rome_playground): add support for source type by @ematipico in #2353
- fix(website): added illustrator credit and alt text by @NicholasLYang in #2355
- fix(rome_js_parser): Fix TS Decorator with arrow param parsing by @MichaReiser in #2364
- chore: Move playground to
website
directory by @MichaReiser in #2335 - chore: Fix playground build by @MichaReiser in #2365
- feat(rome_cli): CLI Improvements by @leops in #2361
- refactor(rome_diagnostics): refactoring / cleanup of diagnostics by @leops in #2354
- docs(website): update pnpm commands by @sachinraja in #2367
- fix(playground): Prettier TS formatting by @MichaReiser in #2368
- feat(rome_css_syntax): codegen for CSS grammar by @ematipico in #2363
- fix(rome_css_syntax): updated nodes by @ematipico in #2371
- fix(playground): checkbox bug by @NicholasLYang in #2366
- chore: Upgrade to Rust 1.60.0 by @Boshen in #2373
- refactor: Move AST types to
rome_rowan
by @MichaReiser in #2372 - feature(playground): Deploy every commit to subdomain by @NicholasLYang in #2357
- perf(build): improve compile times by @leops in #2374
- fix: Outdated path crates/rome_playground -> website/playground by @NicholasLYang in #2377
- refactor(rome_js_formatter): Support arbitrarily deep binary expressions by @MichaReiser in #2376
- fix(rome_js_parser): Assignment error recovery by @MichaReiser in #2382
- perf(rome_rowan):
SyntaxTriviaPiece.text()
by @MichaReiser in #2381 - fix(rome_js_parser): Assignment in decorator by @MichaReiser in #2386
- feature(rome_js_formatter): Add support for printing single quotes by @cpojer in #2380
- chore: Document binary like expression formatting by @MichaReiser in #2388
- feat(rome_console): redact Unicode control characters by @leops in #2384
- fix(rome_js_formatter): Insert Space after
type
for import equals declaration by @MichaReiser in #2391 - feature: Added formatting for self-closing JSX element by @NicholasLYang in #2273
- chore: Switch to pnpm. by @cpojer in #2387
- fix(rome_js_parser): Parsing of parenthesized
in
expression infor
initializer by @MichaReiser in #2396 - Chore: update submodules by @MichaReiser in #2399
- chore: Fix syntax error in deploy playground workflow by @MichaReiser in #2401
- fix(rome_js_formatter): Use semicolons instead of commas for separating keys in a type member list by @cpojer in #2412
- ci(website): fix deploy playground workflow by @NicholasLYang in #2392
- feature(rome_js_formatter): JSX Attributes by @NicholasLYang in #2393
- fix(rome_js_parser): Rewind at EOF by @MichaReiser in #2435
- feat(playground): align options horizontally by @jer3m01 in #2434
- chore: Fix the expected Prettier output of the
binarish
test by @MichaReiser in #2422 - feat(xtask): Check for sub unions overlap by @loginn in #2385
- ci(playground): Trying, yet again, to fix deploy_playground workflow trigger by @NicholasLYang in #2433
- fix(playground): base url not propagated to vite by @NicholasLYang in #2452
- docs: fix contributing link by @jer3m01 in #2457
- chore: Print lines exceeding line widths by @MichaReiser in #2429
- Update GitHub Actions version by @Gumichocopengin8 in #2461
- fix(rome_js_parser): fix lexer panicking on unterminated unicode escape at EOF by @Boshen in #2438
- feature(playground): Mobile playground by @NicholasLYang in #2432
- Feat(json): finish json ungram by @IWANABETHATGUY in #2466
- chore(ci): add conditions to workflow runs by @jer3m01 in #2459
- fix(rome_js_parser): consume
...
in import expression by @Boshen in #2468 - refactor(rome_rowan): Use associated types for
Ast*
traits by @MichaReiser in #2463 - fix(rome_js_formatter): Fix stackoverflow on Windows for nested seque… by @MichaReiser in #2469
- fix(rome_json_syntax): Update JSON AST Facade by @MichaReiser in #2470
- feat(rome_rowan): add
has_comments
API by @ematipico in #2464 - perf(rome_js_formatter): Reduce
FormatElement
size by @MichaReiser in #2456 - perf(rome_js_formatter): Reduce the
String
allocations for Tokens by @MichaReiser in #2462 - normalize big int literals by @xunilrj in #2467
- docs: use dark and light logo by @jer3m01 in #2472
- fix(rome_rowan): fix syntaxtokentext display infinite recursion by @xunilrj in #2477
- refactor(rome_js_formatter): Move node formatting into its own trait by @MichaReiser in #2476
- Update github actions version to v3 by @Gumichocopengin8 in #2480
- refactor(rome_js_formatter): Remove
format_root
fromFormatter
by @MichaReiser in #2478 - refactor(rome_js_formatter): Track token offsets instead of tokens by @MichaReiser in #2481
- chore(rome_lsp): migration to tower_lsp crate by @IWANABETHATGUY in #2485
- feature(rome_js_parser): better handle of unicode for string literals, templates and regex by @xunilrj in #2378
- chore(xtask): choose language when generating grammar by @IWANABETHATGUY in #2473
- feat: add rome_flags crate for feature flags by @yassere in #2487
- chore(xtask): 🤖 fix typo by @IWANABETHATGUY in #2496
- fix(rome_js_formatter): 🐛 preserve new-lines after directives by @IWANABETHATGUY in #2500
- chore(ci): split the release workflow between the vscode extension and CLI package by @leops in #2495
New Contributors
- @darrow-olykos made their first contribution in #2348
- @sachinraja made their first contribution in #2367
- @cpojer made their first contribution in #2380
- @loginn made their first contribution in #2385
- @Gumichocopengin8 made their first contribution in #2461
- @IWANABETHATGUY made their first contribution in #2466
Full Changelog: v0.4.2...cli/v0.5.0-next
v0.4.2
What's Changed
- fix(rome_js_parser): Fix directive parsing by @MichaReiser in #2323
- feat(vscode): add
Show syntax tree
command for supported documents by @ematipico in #2309 - docs(website): add 'Getting Started' section by @ematipico in #2320
- docs: add diff and migration against other formatters by @ematipico in #2312
- docs: enhancements, add documentation for playground by @ematipico in #2319
- docs(website): add link to binaries by @ematipico in #2326
- chore(website): Grammar and style fixes by @NicholasLYang in #2329
- refactor(rome_rowan): Split API/Cursor files by @MichaReiser in #2330
- feat(rome_console): Display trait and diff printing by @leops in #2328
- fix(rome_playground): Unicode Support by @MichaReiser in #2332
- fix(rome_formatter): add empty line after interpreter by @ematipico in #2336
- feat(npm): add a postinstall script to the cli package by @leops in #2333
- refactor(rome_js_parser): Streamline parser events by @MichaReiser in #2327
- chore: rename
rome_formatter
torome_js_formatter
by @ematipico in #2334 - feat(rome_cli): integrate the new diff printing with CI mode by @leops in #2337
- chore: add CHANGELOG.md and README.md to npm by @ematipico in #2340
- refactor(rome_js_formatter): move language agnostic code into
rome_formatter
by @ematipico in #2342 - feat(rome_console): add a Codespan utility struct to display annotated code fragments by @leops in #2341
- chore(ci): enable changelog generation and bump the version numbers for the extension and CLI by @leops in #2345
- fix(rome_js_parser): correctly parse regex with unicode chars by @xunilrj in #2344
- fix(vscode): update the format of the npm lockfile by @leops in #2347
Full Changelog: v0.4.0...v0.4.2
v0.4.0
feature(rome_cli): distribute the Rome CLI to npm (#2304) * feature(rome_cli): distribute the Rome CLI to npm * Apply suggestions from code review Co-authored-by: Emanuele Stoppa <[email protected]> * enable publishing to npm * fix the wrapper script * bump version numbers Co-authored-by: Emanuele Stoppa <[email protected]>