What's Changed
- feat: 🎸 finish codemirror formatter ir by @IWANABETHATGUY in #3009
- feat(rome_formatter):
Dedent
IR by @MichaReiser in #3007 - chore(website): add project management section by @ematipico in #3005
- feat(rome_js_semantic): semantic model "is_exported" query by @xunilrj in #3019
- feat(rome_formatter):
align > indent
nesting withIndentStyle::Space
by @MichaReiser in #3021 - fix(rome_js_analyze): Only emit diagnostic when alternate of
JsIfStatement
isJsBlockStatement
by @IWANABETHATGUY in #3001 - feat(playground): display the control flow graph in the playground by @leops in #2969
- refactor(rome_rowan): Remove
AstNode
constraint fromBatchMutation
by @MichaReiser in #3026 - fix(playground): 🐛 fix rome ast grammar error by @IWANABETHATGUY in #3032
- test(rome_cli): add snapshots for file system and console session by @ematipico in #3035
- feat(rome_js_syntax): Node factories for unknown nodes by @MichaReiser in #3033
- refactor(rome_rowan): Remove
Clone
requirement from trivia mutation methods by @MichaReiser in #3030 - feat(rome_js_formatter): Conditional expression formatting by @MichaReiser in #3024
- refactor(rome_service): change how rules config is shaped by @ematipico in #3016
- ci: update snapshots by @ematipico in #3039
- refactor(playground): refactor the playground to use the WASM bindings for the workspace by @leops in #3018
- chore(npm): bootstrap npm source code by @ematipico in #3040
- refactor(rome_service): add schemars derive attributes for most serializable types by @leops in #3031
- feature(rome_js_semantic): Semantic model supporting "module.exports" by @xunilrj in #3045
- fix(cargo): fix a typo in cargo manifests and add a repository field by @leops in #3051
- feat(rome_cli): format code via
stdin
by @ematipico in #3043 - feat(rome_js_analyze): improvements to noUnusedVariables to consider catch, typescript and export by @xunilrj in #3004
- fix(rome_js_analyze): use camel case for class members by @xunilrj in #3037
- fix(rome_service): removing println about config file by @xunilrj in #3052
- refactor(rome_bin): merge the CLI and Language Server by @leops in #3044
- feat(rome_js_semantic): support for jsx reference inside the semantic model by @xunilrj in #3055
- Fix typo in project-config.md by @KaHLK in #3059
- refactor(rome_js_parser): refactor regex flag by @IWANABETHATGUY in #3058
- fix(rome_js_parser): Syntax error when using optional binding on .d.ts by @IWANABETHATGUY in #3023
- chore: update rust-toolchain to 1.63.0 by @IWANABETHATGUY in #3053
- feat(rome_formatter): Dedent to Root IR by @MichaReiser in #3062
- test(rome_js_formatter): Ignore unsupported syntax from coverage by @MichaReiser in #3064
- feat(rome_js_analyze): support unused bindings inside typescript function type by @xunilrj in #3060
- fix(rome_formatter):
write!
dropped while still borrowed by @MichaReiser in #3067 - feat(rome_js_formatter): Template formatting by @MichaReiser in #3063
- rfc: runtime API by @ematipico in #3036
- feat(rome_js_formatter): Member assignment formatting by @MichaReiser in #3061
- refactor: Using default derive macro instead of manual implementation for Enum by @IWANABETHATGUY in #3069
- fix(rome_bin): fix the parsing of the internal CLI arguments for the daemon server in debug mode by @leops in #3068
- feat(playground): Use full height for right side panels by @MichaReiser in #3072
- ci: run ci using the version on
main
by @ematipico in #3076 - test(rome_cli): more snapshot tests by @ematipico in #3075
- ci: fix paths of snapshots and faster CI by @ematipico in #3080
- feat(rome_js_formatter): implement option quote_properties by @bhbs in #3065
- feat(rome_js_formatter): Parenthesizing expressions by @MichaReiser in #3057
- refactor(rome_wasm): move the WASM bindings for the Workspace to a crate by @leops in #3056
- feat(rome_js_analyze): add an
inlineVariable
code action by @leops in #2985 - chore: Upgrade rust dependencies by @MichaReiser in #3082
- feat(rome_js_formatter): Binary expression formatting by @MichaReiser in #3079
- fix(rome_js_analyze): fix noShoutyConstants with lowercase and being exported by @xunilrj in #3081
- feat(rome_js_semantic): semantic model is_exported support for type alias, enum, interface by @xunilrj in #3086
- fix(rome_service): the property for config should be camelCase by @bhbs in #3090
- feat(rome_js_formatter): Parenthesize assignments by @MichaReiser in #3083
- feat(rome_js_analyze): rule
noDupeArgs
by @IWANABETHATGUY in #2972 - feat(rome_rowan):
with_*_trivia_pieces
by @MichaReiser in #3091 - feat(rome_js_semantic): semantic read events for self invoking functions by @xunilrj in #3071
- feat(rome_rowan):
SyntaxRewriter
by @MichaReiser in #3093 - feat(node-api): create a node.js wrapper library for the JSON-RPC workspace protocol by @leops in #3070
- docs(website): fix typo on project-config.md by @fadiinho in #3094
- feat(rome_cli): add
--json
argument to format command by @ematipico in #3066 - feat(npm): API facade and first compile pipeline by @ematipico in #3074
- refactor: use
std::sync::Mutex
instead ofparking_lot::Mutex
by @IWANABETHATGUY in #3095 - crate(rome_js_formatter): Add Prettier derivative license by @sebmck in #3096
- feat(rome_js_semantic): Improvements to scope resolution by @xunilrj in #3084
- ci: fix path for WASM artifacts by @ematipico in #3098
- chore: remove files that break the build by @ematipico in #3101
- docs(website): turn a rule on by @ematipico in #3099
- perf(rome_formatter): Improve Printer source map performance by @MichaReiser in #3104
- feat(npm): hook
*Conent
APIs to WASM bindings by @ematipico in #3097 - chore(playground): allow vite to reference npm directory by @bhbs in #3106
- refactor(rome_wasm): change method names to be camel case by @ematipico in #3105
- feat(playground): mapping sourcefile editor cursor to ast panel by @IWANABETHATGUY in #3103
- refactor(rome_formatter): Extract
FormatOptions
by @MichaReiser in #3110 - refactor(rome_formatter):
FormatLanguage
trait by @MichaReiser in #3112 - feat(npm): use daemon client and error handling by @ematipico in #3102
- feat(rome_rowan):
cast_ref
andmatch_ast
macro by @MichaReiser in #3113 - feat(rome_text_size): fork crate by @ematipico in #3114
- feat(playground): implement option quote_properties by @bhbs in #3121
- refactor(rome_formatter): Return reference from
context.comments()
by @MichaReiser in #3120 - feat(rome_formatter):
IndentIfGroupBreaks
IR element by @MichaReiser in #3116 - feat(rome_js_analyze): no unused starting with underscore; small hack for React and removing suggested fix by @xunilrj in #3124
- feat(rome_formatter): Custom separator per
Fill
item by @MichaReiser in #3125 - feat(npm): allow to set global settings by @ematipico in #3123
- feat(rome_js_formatter): Preprocess AST before formatting by @MichaReiser in #3092
- feat(rome_js_formatter): Heuristic for fill arrays by @MichaReiser in #3126
- test(rome_js_formatter): Document array-fill comments difference by @MichaReiser in #3130
- fix(rome_lsp, vscode): load config from custom base path by @ematipico in #3131
- feat(rome_js_formatter): Parenthesize TypeScript types by @MichaReiser in #3108
- feat(rome_js_formatter): Indent Doc comments by @MichaReiser in #3129
- feat(rome_js_formatter): Format Arrow Chains by @MichaReiser in #3122
- feat(rome_js_analyze): no unused variables supporting ts overload by @xunilrj in #3135
- fix(rome_bin): improve error handling for Unix domain sockets by @leops in #3137
- chore: update contribution guidelines by @ematipico in #3136
- feat(vscode): add a status bar item for the language server by @leops in #3139
- feat(rome_service): allow workspace clients to provide a language hint by @leops in #3140
- fix(rome_formatter): Skipped token trivia spacing by @MichaReiser in #3145
- fix(rome_js_analyze): false positive useShorthandArrayTypes by @IWANABETHATGUY in #3119
- test(rome_js_formatter): Remove
JsFormatOptions
Default
implementation by @MichaReiser in #3149 - feat(rome_js_formatter): Format JSX by @MichaReiser in #3144
- feat(rome_js_formatter): Conditional JSX Chain layout by @MichaReiser in #3150
- docs(website): fix broken links by @AkifumiSato in #3153
- perf(rome_js_formatter): Remove unnecessary memoize by @MichaReiser in #3158
- fix(xtask): Fix dhat build by @MichaReiser in #3161
- feat(rome_cli): add commands for controlling the daemon server lifecycle by @leops in #3143
- fix(rome_service): correctly compute rules by @ematipico in #3159
- chore: use same typescript version across the board by @ematipico in #3142
- release: 0.9.0 by @ematipico in #3134
- ci: stale workflow by @ematipico in #3155
New Contributors
- @KaHLK made their first contribution in #3059
- @bhbs made their first contribution in #3065
- @fadiinho made their first contribution in #3094
- @AkifumiSato made their first contribution in #3153
Full Changelog: cli/v0.8.0-next.ff4153b...lsp/v0.14.0