diff --git a/.github/workflows/bench_analyzer.yml b/.github/workflows/bench_analyzer.yml index 45088c8618e..3a3e42e8745 100644 --- a/.github/workflows/bench_analyzer.yml +++ b/.github/workflows/bench_analyzer.yml @@ -62,11 +62,9 @@ jobs: critcmp main pr >> output echo "\`\`\`" >> output cat output - comment="$(cat output)" - comment="${comment//'%'/'%25'}" - comment="${comment//$'\n'/'%0A'}" - comment="${comment//$'\r'/'%0D'}" - echo "comment=$comment" >> $GITHUB_OUTPUT + echo "comment<> $GITHUB_OUTPUT + cat output >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Write a new comment uses: peter-evans/create-or-update-comment@v1.4.5 diff --git a/.github/workflows/bench_formatter.yml b/.github/workflows/bench_formatter.yml index 933d2fd7c33..54b16700e70 100644 --- a/.github/workflows/bench_formatter.yml +++ b/.github/workflows/bench_formatter.yml @@ -62,11 +62,9 @@ jobs: critcmp main pr >> output echo "\`\`\`" >> output cat output - comment="$(cat output)" - comment="${comment//'%'/'%25'}" - comment="${comment//$'\n'/'%0A'}" - comment="${comment//$'\r'/'%0D'}" - echo "comment=$comment" >> $GITHUB_OUTPUT + echo "comment<> $GITHUB_OUTPUT + cat output >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Write a new comment uses: peter-evans/create-or-update-comment@v1.4.5 diff --git a/.github/workflows/bench_parser.yml b/.github/workflows/bench_parser.yml index b58b32437fe..5f54d6bd729 100644 --- a/.github/workflows/bench_parser.yml +++ b/.github/workflows/bench_parser.yml @@ -61,11 +61,9 @@ jobs: critcmp main pr >> output echo "\`\`\`" >> output cat output - comment="$(cat output)" - comment="${comment//'%'/'%25'}" - comment="${comment//$'\n'/'%0A'}" - comment="${comment//$'\r'/'%0D'}" - echo "comment=$comment" >> $GITHUB_OUTPUT + echo "comment<> $GITHUB_OUTPUT + cat output >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Write a new comment uses: peter-evans/create-or-update-comment@v1.4.5 diff --git a/.github/workflows/parser_conformance.yml b/.github/workflows/parser_conformance.yml index 3a3fa27dbae..2314d733cf1 100644 --- a/.github/workflows/parser_conformance.yml +++ b/.github/workflows/parser_conformance.yml @@ -68,11 +68,10 @@ jobs: echo "## Parser conformance results on ${{ matrix.os }}" > output cargo coverage compare ./base_results.json ./new_results.json --markdown >> output cat output - comment="$(cat output)" - comment="${comment//'%'/'%25'}" - comment="${comment//$'\n'/'%0A'}" - comment="${comment//$'\r'/'%0D'}" - echo "comment=$comment" >> $GITHUB_OUTPUT + echo "comment<> $GITHUB_OUTPUT + cat output >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + - name: Get the PR number if: github.event_name == 'pull_request' diff --git a/.github/workflows/release_cli.yml b/.github/workflows/release_cli.yml index f58d388c712..840961fb182 100644 --- a/.github/workflows/release_cli.yml +++ b/.github/workflows/release_cli.yml @@ -164,30 +164,12 @@ jobs: ./npm/wasm-web if-no-files-found: error - upload-schema: - name: Upload configuration JSON schema - runs-on: ubuntu-latest - needs: check - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 1 - # Upload the JSON schema of the configuration - - name: Upload configuration JSON schema - uses: actions/upload-artifact@v3 - with: - name: json-schema - path: ./npm/rome/configuration_schema.json - if-no-files-found: error - publish: name: Publish runs-on: ubuntu-latest needs: - build - build-wasm - - upload-schema environment: npm-publish steps: - uses: actions/checkout@v3 @@ -196,10 +178,6 @@ jobs: uses: actions/download-artifact@v3 with: name: cli - - name: Download configuration JSON schema - uses: actions/download-artifact@v3 - with: - name: json-schema - name: Download WASM artifacts uses: actions/download-artifact@v3 with: @@ -240,6 +218,5 @@ jobs: prerelease: ${{ needs.build.outputs.prerelease == 'true' }} files: | rome-* - configuration_schema.json fail_on_unmatched_files: true generate_release_notes: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f0224f3a3..cdaecea0538 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ ## [Unreleased] +### CLI +### Configuration +### Editors +### Formatter +### Linter +### Parser +### VSCode +### JavaScript APIs + +## 12.1.3 + ### CLI #### Other changes @@ -16,17 +27,22 @@ - Fix an issue where all the `nursery` were enabled when the `"nursery": {}` object was defined [#4479](https://github.com/rome/tools/issues/4479) -### Editors ### Formatter + ### Linter #### Other changes - Fix false positive diagnostics ([#4483](https://github.com/rome/tools/issues/4483)) that [`useHookAtTopLevel`](https://docs.rome.tools/lint/rules/usehookattoplevel/) caused to returning call expressions of a hook. +- Revert [#4359](https://github.com/rome/tools/issues/4359) + ### Parser -### VSCode -### JavaScript APIs + +#### Other changes + +- Revert [#4359](https://github.com/rome/tools/issues/4359) + ## 12.1.2 diff --git a/crates/rome_js_factory/src/generated/node_factory.rs b/crates/rome_js_factory/src/generated/node_factory.rs index a9e2259fe78..81fb1783951 100644 --- a/crates/rome_js_factory/src/generated/node_factory.rs +++ b/crates/rome_js_factory/src/generated/node_factory.rs @@ -1019,7 +1019,7 @@ pub fn js_export_from_clause( source, type_token: None, export_as: None, - attribute: None, + assertion: None, semicolon_token: None, } } @@ -1029,7 +1029,7 @@ pub struct JsExportFromClauseBuilder { source: JsModuleSource, type_token: Option, export_as: Option, - attribute: Option, + assertion: Option, semicolon_token: Option, } impl JsExportFromClauseBuilder { @@ -1041,8 +1041,8 @@ impl JsExportFromClauseBuilder { self.export_as = Some(export_as); self } - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn with_semicolon_token(mut self, semicolon_token: SyntaxToken) -> Self { @@ -1059,7 +1059,7 @@ impl JsExportFromClauseBuilder { .map(|token| SyntaxElement::Node(token.into_syntax())), Some(SyntaxElement::Token(self.from_token)), Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), self.semicolon_token .map(|token| SyntaxElement::Token(token)), @@ -1124,7 +1124,7 @@ pub fn js_export_named_from_clause( from_token, source, type_token: None, - attribute: None, + assertion: None, semicolon_token: None, } } @@ -1135,7 +1135,7 @@ pub struct JsExportNamedFromClauseBuilder { from_token: SyntaxToken, source: JsModuleSource, type_token: Option, - attribute: Option, + assertion: Option, semicolon_token: Option, } impl JsExportNamedFromClauseBuilder { @@ -1143,8 +1143,8 @@ impl JsExportNamedFromClauseBuilder { self.type_token = Some(type_token); self } - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn with_semicolon_token(mut self, semicolon_token: SyntaxToken) -> Self { @@ -1161,7 +1161,7 @@ impl JsExportNamedFromClauseBuilder { Some(SyntaxElement::Token(self.r_curly_token)), Some(SyntaxElement::Token(self.from_token)), Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), self.semicolon_token .map(|token| SyntaxElement::Token(token)), @@ -1938,29 +1938,29 @@ impl JsImportBuilder { )) } } -pub fn js_import_attribute( - with_token: SyntaxToken, +pub fn js_import_assertion( + assertion_kind_token: SyntaxToken, l_curly_token: SyntaxToken, - attributes: JsImportAttributeEntryList, + assertions: JsImportAssertionEntryList, r_curly_token: SyntaxToken, -) -> JsImportAttribute { - JsImportAttribute::unwrap_cast(SyntaxNode::new_detached( - JsSyntaxKind::JS_IMPORT_ATTRIBUTE, +) -> JsImportAssertion { + JsImportAssertion::unwrap_cast(SyntaxNode::new_detached( + JsSyntaxKind::JS_IMPORT_ASSERTION, [ - Some(SyntaxElement::Token(with_token)), + Some(SyntaxElement::Token(assertion_kind_token)), Some(SyntaxElement::Token(l_curly_token)), - Some(SyntaxElement::Node(attributes.into_syntax())), + Some(SyntaxElement::Node(assertions.into_syntax())), Some(SyntaxElement::Token(r_curly_token)), ], )) } -pub fn js_import_attribute_entry( +pub fn js_import_assertion_entry( key_token: SyntaxToken, colon_token: SyntaxToken, value_token: SyntaxToken, -) -> JsImportAttributeEntry { - JsImportAttributeEntry::unwrap_cast(SyntaxNode::new_detached( - JsSyntaxKind::JS_IMPORT_ATTRIBUTE_ENTRY, +) -> JsImportAssertionEntry { + JsImportAssertionEntry::unwrap_cast(SyntaxNode::new_detached( + JsSyntaxKind::JS_IMPORT_ASSERTION_ENTRY, [ Some(SyntaxElement::Token(key_token)), Some(SyntaxElement::Token(colon_token)), @@ -1971,16 +1971,16 @@ pub fn js_import_attribute_entry( pub fn js_import_bare_clause(source: JsModuleSource) -> JsImportBareClauseBuilder { JsImportBareClauseBuilder { source, - attribute: None, + assertion: None, } } pub struct JsImportBareClauseBuilder { source: JsModuleSource, - attribute: Option, + assertion: Option, } impl JsImportBareClauseBuilder { - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn build(self) -> JsImportBareClause { @@ -1988,7 +1988,7 @@ impl JsImportBareClauseBuilder { JsSyntaxKind::JS_IMPORT_BARE_CLAUSE, [ Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), ], )) @@ -2016,7 +2016,7 @@ pub fn js_import_default_clause( from_token, source, type_token: None, - attribute: None, + assertion: None, } } pub struct JsImportDefaultClauseBuilder { @@ -2024,15 +2024,15 @@ pub struct JsImportDefaultClauseBuilder { from_token: SyntaxToken, source: JsModuleSource, type_token: Option, - attribute: Option, + assertion: Option, } impl JsImportDefaultClauseBuilder { pub fn with_type_token(mut self, type_token: SyntaxToken) -> Self { self.type_token = Some(type_token); self } - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn build(self) -> JsImportDefaultClause { @@ -2043,7 +2043,7 @@ impl JsImportDefaultClauseBuilder { Some(SyntaxElement::Node(self.local_name.into_syntax())), Some(SyntaxElement::Token(self.from_token)), Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), ], )) @@ -2074,7 +2074,7 @@ pub fn js_import_named_clause( source, type_token: None, default_specifier: None, - attribute: None, + assertion: None, } } pub struct JsImportNamedClauseBuilder { @@ -2083,7 +2083,7 @@ pub struct JsImportNamedClauseBuilder { source: JsModuleSource, type_token: Option, default_specifier: Option, - attribute: Option, + assertion: Option, } impl JsImportNamedClauseBuilder { pub fn with_type_token(mut self, type_token: SyntaxToken) -> Self { @@ -2094,8 +2094,8 @@ impl JsImportNamedClauseBuilder { self.default_specifier = Some(default_specifier); self } - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn build(self) -> JsImportNamedClause { @@ -2108,7 +2108,7 @@ impl JsImportNamedClauseBuilder { Some(SyntaxElement::Node(self.named_import.into_syntax())), Some(SyntaxElement::Token(self.from_token)), Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), ], )) @@ -2128,7 +2128,7 @@ pub fn js_import_namespace_clause( from_token, source, type_token: None, - attribute: None, + assertion: None, } } pub struct JsImportNamespaceClauseBuilder { @@ -2138,15 +2138,15 @@ pub struct JsImportNamespaceClauseBuilder { from_token: SyntaxToken, source: JsModuleSource, type_token: Option, - attribute: Option, + assertion: Option, } impl JsImportNamespaceClauseBuilder { pub fn with_type_token(mut self, type_token: SyntaxToken) -> Self { self.type_token = Some(type_token); self } - pub fn with_attribute(mut self, attribute: JsImportAttribute) -> Self { - self.attribute = Some(attribute); + pub fn with_assertion(mut self, assertion: JsImportAssertion) -> Self { + self.assertion = Some(assertion); self } pub fn build(self) -> JsImportNamespaceClause { @@ -2159,7 +2159,7 @@ impl JsImportNamespaceClauseBuilder { Some(SyntaxElement::Node(self.local_name.into_syntax())), Some(SyntaxElement::Token(self.from_token)), Some(SyntaxElement::Node(self.source.into_syntax())), - self.attribute + self.assertion .map(|token| SyntaxElement::Node(token.into_syntax())), ], )) @@ -6610,9 +6610,9 @@ where }), )) } -pub fn js_import_attribute_entry_list(items: I, separators: S) -> JsImportAttributeEntryList +pub fn js_import_assertion_entry_list(items: I, separators: S) -> JsImportAssertionEntryList where - I: IntoIterator, + I: IntoIterator, I::IntoIter: ExactSizeIterator, S: IntoIterator, S::IntoIter: ExactSizeIterator, @@ -6620,8 +6620,8 @@ where let mut items = items.into_iter(); let mut separators = separators.into_iter(); let length = items.len() + separators.len(); - JsImportAttributeEntryList::unwrap_cast(SyntaxNode::new_detached( - JsSyntaxKind::JS_IMPORT_ATTRIBUTE_ENTRY_LIST, + JsImportAssertionEntryList::unwrap_cast(SyntaxNode::new_detached( + JsSyntaxKind::JS_IMPORT_ASSERTION_ENTRY_LIST, (0..length).map(|index| { if index % 2 == 0 { Some(items.next()?.into_syntax().into()) @@ -7130,13 +7130,13 @@ where slots, )) } -pub fn js_bogus_import_attribute_entry(slots: I) -> JsBogusImportAttributeEntry +pub fn js_bogus_import_assertion_entry(slots: I) -> JsBogusImportAssertionEntry where I: IntoIterator>, I::IntoIter: ExactSizeIterator, { - JsBogusImportAttributeEntry::unwrap_cast(SyntaxNode::new_detached( - JsSyntaxKind::JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY, + JsBogusImportAssertionEntry::unwrap_cast(SyntaxNode::new_detached( + JsSyntaxKind::JS_BOGUS_IMPORT_ASSERTION_ENTRY, slots, )) } diff --git a/crates/rome_js_factory/src/generated/syntax_factory.rs b/crates/rome_js_factory/src/generated/syntax_factory.rs index 4cf6634d9ce..388bd52abee 100644 --- a/crates/rome_js_factory/src/generated/syntax_factory.rs +++ b/crates/rome_js_factory/src/generated/syntax_factory.rs @@ -16,7 +16,7 @@ impl SyntaxFactory for JsSyntaxFactory { | JS_BOGUS_ASSIGNMENT | JS_BOGUS_BINDING | JS_BOGUS_EXPRESSION - | JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY + | JS_BOGUS_IMPORT_ASSERTION_ENTRY | JS_BOGUS_MEMBER | JS_BOGUS_NAMED_IMPORT_SPECIFIER | JS_BOGUS_PARAMETER @@ -1685,7 +1685,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -1800,7 +1800,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -2804,12 +2804,12 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.into_node(JS_IMPORT, children) } - JS_IMPORT_ATTRIBUTE => { + JS_IMPORT_ASSERTION => { let mut elements = (&children).into_iter(); let mut slots: RawNodeSlots<4usize> = RawNodeSlots::default(); let mut current_element = elements.next(); if let Some(element) = ¤t_element { - if element.kind() == T![with] { + if matches!(element.kind(), T![assert] | T![with]) { slots.mark_present(); current_element = elements.next(); } @@ -2823,7 +2823,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttributeEntryList::can_cast(element.kind()) { + if JsImportAssertionEntryList::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -2838,13 +2838,13 @@ impl SyntaxFactory for JsSyntaxFactory { slots.next_slot(); if current_element.is_some() { return RawSyntaxNode::new( - JS_IMPORT_ATTRIBUTE.to_bogus(), + JS_IMPORT_ASSERTION.to_bogus(), children.into_iter().map(Some), ); } - slots.into_node(JS_IMPORT_ATTRIBUTE, children) + slots.into_node(JS_IMPORT_ASSERTION, children) } - JS_IMPORT_ATTRIBUTE_ENTRY => { + JS_IMPORT_ASSERTION_ENTRY => { let mut elements = (&children).into_iter(); let mut slots: RawNodeSlots<3usize> = RawNodeSlots::default(); let mut current_element = elements.next(); @@ -2871,11 +2871,11 @@ impl SyntaxFactory for JsSyntaxFactory { slots.next_slot(); if current_element.is_some() { return RawSyntaxNode::new( - JS_IMPORT_ATTRIBUTE_ENTRY.to_bogus(), + JS_IMPORT_ASSERTION_ENTRY.to_bogus(), children.into_iter().map(Some), ); } - slots.into_node(JS_IMPORT_ATTRIBUTE_ENTRY, children) + slots.into_node(JS_IMPORT_ASSERTION_ENTRY, children) } JS_IMPORT_BARE_CLAUSE => { let mut elements = (&children).into_iter(); @@ -2889,7 +2889,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -2962,7 +2962,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -3049,7 +3049,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -3110,7 +3110,7 @@ impl SyntaxFactory for JsSyntaxFactory { } slots.next_slot(); if let Some(element) = ¤t_element { - if JsImportAttribute::can_cast(element.kind()) { + if JsImportAssertion::can_cast(element.kind()) { slots.mark_present(); current_element = elements.next(); } @@ -9852,10 +9852,10 @@ impl SyntaxFactory for JsSyntaxFactory { T ! [,], true, ), - JS_IMPORT_ATTRIBUTE_ENTRY_LIST => Self::make_separated_list_syntax( + JS_IMPORT_ASSERTION_ENTRY_LIST => Self::make_separated_list_syntax( kind, children, - AnyJsImportAttributeEntry::can_cast, + AnyJsImportAssertionEntry::can_cast, T ! [,], true, ), diff --git a/crates/rome_js_formatter/src/comments.rs b/crates/rome_js_formatter/src/comments.rs index c08535e2b81..0664f9aeafd 100644 --- a/crates/rome_js_formatter/src/comments.rs +++ b/crates/rome_js_formatter/src/comments.rs @@ -1123,7 +1123,7 @@ fn handle_import_export_specifier_comment( CommentPlacement::leading(enclosing_node.clone(), comment) } // Make end of line or own line comments in the middle of an import assertion a leading comment of the assertion - JsSyntaxKind::JS_IMPORT_ATTRIBUTE_ENTRY => { + JsSyntaxKind::JS_IMPORT_ASSERTION_ENTRY => { CommentPlacement::leading(enclosing_node.clone(), comment) } diff --git a/crates/rome_js_formatter/src/generated.rs b/crates/rome_js_formatter/src/generated.rs index 2645b382328..3c6c90164db 100644 --- a/crates/rome_js_formatter/src/generated.rs +++ b/crates/rome_js_formatter/src/generated.rs @@ -6003,41 +6003,41 @@ impl IntoFormat for rome_js_syntax::JsModuleSource { ) } } -impl FormatRule - for crate::js::module::import_attribute::FormatJsImportAttribute +impl FormatRule + for crate::js::module::import_assertion::FormatJsImportAssertion { type Context = JsFormatContext; #[inline(always)] fn fmt( &self, - node: &rome_js_syntax::JsImportAttribute, + node: &rome_js_syntax::JsImportAssertion, f: &mut JsFormatter, ) -> FormatResult<()> { - FormatNodeRule::::fmt(self, node, f) + FormatNodeRule::::fmt(self, node, f) } } -impl AsFormat for rome_js_syntax::JsImportAttribute { +impl AsFormat for rome_js_syntax::JsImportAssertion { type Format<'a> = FormatRefWithRule< 'a, - rome_js_syntax::JsImportAttribute, - crate::js::module::import_attribute::FormatJsImportAttribute, + rome_js_syntax::JsImportAssertion, + crate::js::module::import_assertion::FormatJsImportAssertion, >; fn format(&self) -> Self::Format<'_> { FormatRefWithRule::new( self, - crate::js::module::import_attribute::FormatJsImportAttribute::default(), + crate::js::module::import_assertion::FormatJsImportAssertion::default(), ) } } -impl IntoFormat for rome_js_syntax::JsImportAttribute { +impl IntoFormat for rome_js_syntax::JsImportAssertion { type Format = FormatOwnedWithRule< - rome_js_syntax::JsImportAttribute, - crate::js::module::import_attribute::FormatJsImportAttribute, + rome_js_syntax::JsImportAssertion, + crate::js::module::import_assertion::FormatJsImportAssertion, >; fn into_format(self) -> Self::Format { FormatOwnedWithRule::new( self, - crate::js::module::import_attribute::FormatJsImportAttribute::default(), + crate::js::module::import_assertion::FormatJsImportAssertion::default(), ) } } @@ -6257,41 +6257,41 @@ impl IntoFormat for rome_js_syntax::JsLiteralExportName { ) } } -impl FormatRule - for crate::js::module::import_attribute_entry::FormatJsImportAttributeEntry +impl FormatRule + for crate::js::module::import_assertion_entry::FormatJsImportAssertionEntry { type Context = JsFormatContext; #[inline(always)] fn fmt( &self, - node: &rome_js_syntax::JsImportAttributeEntry, + node: &rome_js_syntax::JsImportAssertionEntry, f: &mut JsFormatter, ) -> FormatResult<()> { - FormatNodeRule::::fmt(self, node, f) + FormatNodeRule::::fmt(self, node, f) } } -impl AsFormat for rome_js_syntax::JsImportAttributeEntry { +impl AsFormat for rome_js_syntax::JsImportAssertionEntry { type Format<'a> = FormatRefWithRule< 'a, - rome_js_syntax::JsImportAttributeEntry, - crate::js::module::import_attribute_entry::FormatJsImportAttributeEntry, + rome_js_syntax::JsImportAssertionEntry, + crate::js::module::import_assertion_entry::FormatJsImportAssertionEntry, >; fn format(&self) -> Self::Format<'_> { FormatRefWithRule::new( self, - crate::js::module::import_attribute_entry::FormatJsImportAttributeEntry::default(), + crate::js::module::import_assertion_entry::FormatJsImportAssertionEntry::default(), ) } } -impl IntoFormat for rome_js_syntax::JsImportAttributeEntry { +impl IntoFormat for rome_js_syntax::JsImportAssertionEntry { type Format = FormatOwnedWithRule< - rome_js_syntax::JsImportAttributeEntry, - crate::js::module::import_attribute_entry::FormatJsImportAttributeEntry, + rome_js_syntax::JsImportAssertionEntry, + crate::js::module::import_assertion_entry::FormatJsImportAssertionEntry, >; fn into_format(self) -> Self::Format { FormatOwnedWithRule::new( self, - crate::js::module::import_attribute_entry::FormatJsImportAttributeEntry::default(), + crate::js::module::import_assertion_entry::FormatJsImportAssertionEntry::default(), ) } } @@ -9965,23 +9965,23 @@ impl IntoFormat for rome_js_syntax::JsExportNamedSpecifierList FormatOwnedWithRule :: new (self , crate :: js :: lists :: export_named_specifier_list :: FormatJsExportNamedSpecifierList :: default ()) } } -impl AsFormat for rome_js_syntax::JsImportAttributeEntryList { +impl AsFormat for rome_js_syntax::JsImportAssertionEntryList { type Format<'a> = FormatRefWithRule< 'a, - rome_js_syntax::JsImportAttributeEntryList, - crate::js::lists::import_attribute_entry_list::FormatJsImportAttributeEntryList, + rome_js_syntax::JsImportAssertionEntryList, + crate::js::lists::import_assertion_entry_list::FormatJsImportAssertionEntryList, >; fn format(&self) -> Self::Format<'_> { - FormatRefWithRule :: new (self , crate :: js :: lists :: import_attribute_entry_list :: FormatJsImportAttributeEntryList :: default ()) + FormatRefWithRule :: new (self , crate :: js :: lists :: import_assertion_entry_list :: FormatJsImportAssertionEntryList :: default ()) } } -impl IntoFormat for rome_js_syntax::JsImportAttributeEntryList { +impl IntoFormat for rome_js_syntax::JsImportAssertionEntryList { type Format = FormatOwnedWithRule< - rome_js_syntax::JsImportAttributeEntryList, - crate::js::lists::import_attribute_entry_list::FormatJsImportAttributeEntryList, + rome_js_syntax::JsImportAssertionEntryList, + crate::js::lists::import_assertion_entry_list::FormatJsImportAssertionEntryList, >; fn into_format(self) -> Self::Format { - FormatOwnedWithRule :: new (self , crate :: js :: lists :: import_attribute_entry_list :: FormatJsImportAttributeEntryList :: default ()) + FormatOwnedWithRule :: new (self , crate :: js :: lists :: import_assertion_entry_list :: FormatJsImportAssertionEntryList :: default ()) } } impl AsFormat for rome_js_syntax::JsMethodModifierList { @@ -10857,36 +10857,36 @@ impl IntoFormat for rome_js_syntax::JsBogusParameter { ) } } -impl FormatRule - for crate::js::bogus::bogus_import_attribute_entry::FormatJsBogusImportAttributeEntry +impl FormatRule + for crate::js::bogus::bogus_import_assertion_entry::FormatJsBogusImportAssertionEntry { type Context = JsFormatContext; #[inline(always)] fn fmt( &self, - node: &rome_js_syntax::JsBogusImportAttributeEntry, + node: &rome_js_syntax::JsBogusImportAssertionEntry, f: &mut JsFormatter, ) -> FormatResult<()> { - FormatBogusNodeRule::::fmt(self, node, f) + FormatBogusNodeRule::::fmt(self, node, f) } } -impl AsFormat for rome_js_syntax::JsBogusImportAttributeEntry { +impl AsFormat for rome_js_syntax::JsBogusImportAssertionEntry { type Format<'a> = FormatRefWithRule< 'a, - rome_js_syntax::JsBogusImportAttributeEntry, - crate::js::bogus::bogus_import_attribute_entry::FormatJsBogusImportAttributeEntry, + rome_js_syntax::JsBogusImportAssertionEntry, + crate::js::bogus::bogus_import_assertion_entry::FormatJsBogusImportAssertionEntry, >; fn format(&self) -> Self::Format<'_> { - FormatRefWithRule :: new (self , crate :: js :: bogus :: bogus_import_attribute_entry :: FormatJsBogusImportAttributeEntry :: default ()) + FormatRefWithRule :: new (self , crate :: js :: bogus :: bogus_import_assertion_entry :: FormatJsBogusImportAssertionEntry :: default ()) } } -impl IntoFormat for rome_js_syntax::JsBogusImportAttributeEntry { +impl IntoFormat for rome_js_syntax::JsBogusImportAssertionEntry { type Format = FormatOwnedWithRule< - rome_js_syntax::JsBogusImportAttributeEntry, - crate::js::bogus::bogus_import_attribute_entry::FormatJsBogusImportAttributeEntry, + rome_js_syntax::JsBogusImportAssertionEntry, + crate::js::bogus::bogus_import_assertion_entry::FormatJsBogusImportAssertionEntry, >; fn into_format(self) -> Self::Format { - FormatOwnedWithRule :: new (self , crate :: js :: bogus :: bogus_import_attribute_entry :: FormatJsBogusImportAttributeEntry :: default ()) + FormatOwnedWithRule :: new (self , crate :: js :: bogus :: bogus_import_assertion_entry :: FormatJsBogusImportAssertionEntry :: default ()) } } impl FormatRule @@ -11990,28 +11990,28 @@ impl IntoFormat for rome_js_syntax::AnyJsNamedImportSpecifier { ) } } -impl AsFormat for rome_js_syntax::AnyJsImportAttributeEntry { +impl AsFormat for rome_js_syntax::AnyJsImportAssertionEntry { type Format<'a> = FormatRefWithRule< 'a, - rome_js_syntax::AnyJsImportAttributeEntry, - crate::js::any::import_attribute_entry::FormatAnyJsImportAttributeEntry, + rome_js_syntax::AnyJsImportAssertionEntry, + crate::js::any::import_assertion_entry::FormatAnyJsImportAssertionEntry, >; fn format(&self) -> Self::Format<'_> { FormatRefWithRule::new( self, - crate::js::any::import_attribute_entry::FormatAnyJsImportAttributeEntry::default(), + crate::js::any::import_assertion_entry::FormatAnyJsImportAssertionEntry::default(), ) } } -impl IntoFormat for rome_js_syntax::AnyJsImportAttributeEntry { +impl IntoFormat for rome_js_syntax::AnyJsImportAssertionEntry { type Format = FormatOwnedWithRule< - rome_js_syntax::AnyJsImportAttributeEntry, - crate::js::any::import_attribute_entry::FormatAnyJsImportAttributeEntry, + rome_js_syntax::AnyJsImportAssertionEntry, + crate::js::any::import_assertion_entry::FormatAnyJsImportAssertionEntry, >; fn into_format(self) -> Self::Format { FormatOwnedWithRule::new( self, - crate::js::any::import_attribute_entry::FormatAnyJsImportAttributeEntry::default(), + crate::js::any::import_assertion_entry::FormatAnyJsImportAssertionEntry::default(), ) } } diff --git a/crates/rome_js_formatter/src/js/any/import_assertion_entry.rs b/crates/rome_js_formatter/src/js/any/import_assertion_entry.rs new file mode 100644 index 00000000000..b23bbf5aab8 --- /dev/null +++ b/crates/rome_js_formatter/src/js/any/import_assertion_entry.rs @@ -0,0 +1,15 @@ +//! This is a generated file. Don't modify it by hand! Run 'cargo codegen formatter' to re-generate the file. + +use crate::prelude::*; +use rome_js_syntax::AnyJsImportAssertionEntry; +#[derive(Debug, Clone, Default)] +pub(crate) struct FormatAnyJsImportAssertionEntry; +impl FormatRule for FormatAnyJsImportAssertionEntry { + type Context = JsFormatContext; + fn fmt(&self, node: &AnyJsImportAssertionEntry, f: &mut JsFormatter) -> FormatResult<()> { + match node { + AnyJsImportAssertionEntry::JsImportAssertionEntry(node) => node.format().fmt(f), + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(node) => node.format().fmt(f), + } + } +} diff --git a/crates/rome_js_formatter/src/js/any/import_attribute_entry.rs b/crates/rome_js_formatter/src/js/any/import_attribute_entry.rs deleted file mode 100644 index 1d5f2fbea43..00000000000 --- a/crates/rome_js_formatter/src/js/any/import_attribute_entry.rs +++ /dev/null @@ -1,15 +0,0 @@ -//! This is a generated file. Don't modify it by hand! Run 'cargo codegen formatter' to re-generate the file. - -use crate::prelude::*; -use rome_js_syntax::AnyJsImportAttributeEntry; -#[derive(Debug, Clone, Default)] -pub(crate) struct FormatAnyJsImportAttributeEntry; -impl FormatRule for FormatAnyJsImportAttributeEntry { - type Context = JsFormatContext; - fn fmt(&self, node: &AnyJsImportAttributeEntry, f: &mut JsFormatter) -> FormatResult<()> { - match node { - AnyJsImportAttributeEntry::JsImportAttributeEntry(node) => node.format().fmt(f), - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(node) => node.format().fmt(f), - } - } -} diff --git a/crates/rome_js_formatter/src/js/any/mod.rs b/crates/rome_js_formatter/src/js/any/mod.rs index d70d9abde92..819ea8d7cda 100644 --- a/crates/rome_js_formatter/src/js/any/mod.rs +++ b/crates/rome_js_formatter/src/js/any/mod.rs @@ -25,7 +25,7 @@ pub(crate) mod for_initializer; pub(crate) mod formal_parameter; pub(crate) mod function; pub(crate) mod function_body; -pub(crate) mod import_attribute_entry; +pub(crate) mod import_assertion_entry; pub(crate) mod import_clause; pub(crate) mod in_property; pub(crate) mod literal_expression; diff --git a/crates/rome_js_formatter/src/js/bogus/bogus_import_assertion_entry.rs b/crates/rome_js_formatter/src/js/bogus/bogus_import_assertion_entry.rs new file mode 100644 index 00000000000..44b676bf68b --- /dev/null +++ b/crates/rome_js_formatter/src/js/bogus/bogus_import_assertion_entry.rs @@ -0,0 +1,7 @@ +use crate::FormatBogusNodeRule; +use rome_js_syntax::JsBogusImportAssertionEntry; + +#[derive(Debug, Clone, Default)] +pub(crate) struct FormatJsBogusImportAssertionEntry; + +impl FormatBogusNodeRule for FormatJsBogusImportAssertionEntry {} diff --git a/crates/rome_js_formatter/src/js/bogus/bogus_import_attribute_entry.rs b/crates/rome_js_formatter/src/js/bogus/bogus_import_attribute_entry.rs deleted file mode 100644 index d8d2946b5bd..00000000000 --- a/crates/rome_js_formatter/src/js/bogus/bogus_import_attribute_entry.rs +++ /dev/null @@ -1,5 +0,0 @@ -use crate::FormatBogusNodeRule; -use rome_js_syntax::JsBogusImportAttributeEntry; -#[derive(Debug, Clone, Default)] -pub(crate) struct FormatJsBogusImportAttributeEntry; -impl FormatBogusNodeRule for FormatJsBogusImportAttributeEntry {} diff --git a/crates/rome_js_formatter/src/js/bogus/mod.rs b/crates/rome_js_formatter/src/js/bogus/mod.rs index 98c448f420c..217dc033ce4 100644 --- a/crates/rome_js_formatter/src/js/bogus/mod.rs +++ b/crates/rome_js_formatter/src/js/bogus/mod.rs @@ -5,7 +5,7 @@ pub(crate) mod bogus; pub(crate) mod bogus_assignment; pub(crate) mod bogus_binding; pub(crate) mod bogus_expression; -pub(crate) mod bogus_import_attribute_entry; +pub(crate) mod bogus_import_assertion_entry; pub(crate) mod bogus_member; pub(crate) mod bogus_named_import_specifier; pub(crate) mod bogus_parameter; diff --git a/crates/rome_js_formatter/src/js/lists/import_attribute_entry_list.rs b/crates/rome_js_formatter/src/js/lists/import_assertion_entry_list.rs similarity index 66% rename from crates/rome_js_formatter/src/js/lists/import_attribute_entry_list.rs rename to crates/rome_js_formatter/src/js/lists/import_assertion_entry_list.rs index ee8450e5ee6..48ce8e610f2 100644 --- a/crates/rome_js_formatter/src/js/lists/import_attribute_entry_list.rs +++ b/crates/rome_js_formatter/src/js/lists/import_assertion_entry_list.rs @@ -1,14 +1,14 @@ use crate::context::trailing_comma::FormatTrailingComma; use crate::prelude::*; -use rome_js_syntax::JsImportAttributeEntryList; +use rome_js_syntax::JsImportAssertionEntryList; #[derive(Debug, Clone, Default)] -pub(crate) struct FormatJsImportAttributeEntryList; +pub(crate) struct FormatJsImportAssertionEntryList; -impl FormatRule for FormatJsImportAttributeEntryList { +impl FormatRule for FormatJsImportAssertionEntryList { type Context = JsFormatContext; - fn fmt(&self, node: &JsImportAttributeEntryList, f: &mut JsFormatter) -> FormatResult<()> { + fn fmt(&self, node: &JsImportAssertionEntryList, f: &mut JsFormatter) -> FormatResult<()> { let trailing_separator = FormatTrailingComma::ES5.trailing_separator(f.options()); f.join_with(&soft_line_break_or_space()) diff --git a/crates/rome_js_formatter/src/js/lists/mod.rs b/crates/rome_js_formatter/src/js/lists/mod.rs index a89124f9e2c..445d4d707c9 100644 --- a/crates/rome_js_formatter/src/js/lists/mod.rs +++ b/crates/rome_js_formatter/src/js/lists/mod.rs @@ -11,7 +11,7 @@ pub(crate) mod decorator_list; pub(crate) mod directive_list; pub(crate) mod export_named_from_specifier_list; pub(crate) mod export_named_specifier_list; -pub(crate) mod import_attribute_entry_list; +pub(crate) mod import_assertion_entry_list; pub(crate) mod method_modifier_list; pub(crate) mod module_item_list; pub(crate) mod named_import_specifier_list; diff --git a/crates/rome_js_formatter/src/js/module/export_from_clause.rs b/crates/rome_js_formatter/src/js/module/export_from_clause.rs index 6a0412c4d1b..2f4d4d7a01a 100644 --- a/crates/rome_js_formatter/src/js/module/export_from_clause.rs +++ b/crates/rome_js_formatter/src/js/module/export_from_clause.rs @@ -17,7 +17,7 @@ impl FormatNodeRule for FormatJsExportFromClause { export_as, from_token, source, - attribute, + assertion, semicolon_token, } = node.as_fields(); @@ -33,8 +33,8 @@ impl FormatNodeRule for FormatJsExportFromClause { write!(f, [from_token.format(), space(), source.format()])?; - if let Some(attribute) = attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = assertion { + write!(f, [space(), assertion.format()])?; } FormatStatementSemicolon::new(semicolon_token.as_ref()).fmt(f) diff --git a/crates/rome_js_formatter/src/js/module/export_named_from_clause.rs b/crates/rome_js_formatter/src/js/module/export_named_from_clause.rs index d1048dbf75d..13f1172afed 100644 --- a/crates/rome_js_formatter/src/js/module/export_named_from_clause.rs +++ b/crates/rome_js_formatter/src/js/module/export_named_from_clause.rs @@ -18,7 +18,7 @@ impl FormatNodeRule for FormatJsExportNamedFromClause { r_curly_token, from_token, source, - attribute, + assertion, semicolon_token, } = node.as_fields(); @@ -64,8 +64,8 @@ impl FormatNodeRule for FormatJsExportNamedFromClause { ] ]?; - if let Some(attribute) = &attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = &assertion { + write!(f, [space(), assertion.format()])?; } write!(f, [FormatStatementSemicolon::new(semicolon_token.as_ref())]) diff --git a/crates/rome_js_formatter/src/js/module/import_attribute.rs b/crates/rome_js_formatter/src/js/module/import_assertion.rs similarity index 59% rename from crates/rome_js_formatter/src/js/module/import_attribute.rs rename to crates/rome_js_formatter/src/js/module/import_assertion.rs index 6cac70b04aa..9615aa50ae7 100644 --- a/crates/rome_js_formatter/src/js/module/import_attribute.rs +++ b/crates/rome_js_formatter/src/js/module/import_assertion.rs @@ -1,21 +1,27 @@ use crate::prelude::*; + use rome_formatter::write; -use rome_js_syntax::{JsImportAttribute, JsImportAttributeFields}; -use rome_rowan::AstNode; +use rome_js_syntax::JsImportAssertion; +use rome_js_syntax::JsImportAssertionFields; + #[derive(Debug, Clone, Default)] -pub(crate) struct FormatJsImportAttribute; -impl FormatNodeRule for FormatJsImportAttribute { - fn fmt_fields(&self, node: &JsImportAttribute, f: &mut JsFormatter) -> FormatResult<()> { - let JsImportAttributeFields { - with_token, +pub(crate) struct FormatJsImportAssertion; + +impl FormatNodeRule for FormatJsImportAssertion { + fn fmt_fields(&self, node: &JsImportAssertion, f: &mut JsFormatter) -> FormatResult<()> { + let JsImportAssertionFields { l_curly_token, - attributes, + assertions, r_curly_token, + assertion_kind, } = node.as_fields(); - write![f, [with_token.format(), space(), l_curly_token.format()]]?; + write![ + f, + [assertion_kind.format(), space(), l_curly_token.format()] + ]?; - if attributes.is_empty() { + if assertions.is_empty() { let has_dangling = f.comments().has_dangling_comments(node.syntax()); write!( f, @@ -28,7 +34,7 @@ impl FormatNodeRule for FormatJsImportAttribute { } else { write!( f, - [group(&soft_space_or_block_indent(&attributes.format()))] + [group(&soft_space_or_block_indent(&assertions.format()))] )?; } @@ -37,7 +43,7 @@ impl FormatNodeRule for FormatJsImportAttribute { fn fmt_dangling_comments( &self, - _: &JsImportAttribute, + _: &JsImportAssertion, _: &mut JsFormatter, ) -> FormatResult<()> { // Handled as part of `fmt_fields` diff --git a/crates/rome_js_formatter/src/js/module/import_attribute_entry.rs b/crates/rome_js_formatter/src/js/module/import_assertion_entry.rs similarity index 77% rename from crates/rome_js_formatter/src/js/module/import_attribute_entry.rs rename to crates/rome_js_formatter/src/js/module/import_assertion_entry.rs index 903806a9387..d80b3689c4f 100644 --- a/crates/rome_js_formatter/src/js/module/import_attribute_entry.rs +++ b/crates/rome_js_formatter/src/js/module/import_assertion_entry.rs @@ -2,14 +2,16 @@ use crate::prelude::*; use rome_formatter::write; use crate::utils::{FormatLiteralStringToken, StringLiteralParentKind}; -use rome_js_syntax::{JsImportAttributeEntry, JsImportAttributeEntryFields, JsSyntaxKind}; + +use rome_js_syntax::JsImportAssertionEntryFields; +use rome_js_syntax::{JsImportAssertionEntry, JsSyntaxKind}; #[derive(Debug, Clone, Default)] -pub(crate) struct FormatJsImportAttributeEntry; +pub(crate) struct FormatJsImportAssertionEntry; -impl FormatNodeRule for FormatJsImportAttributeEntry { - fn fmt_fields(&self, node: &JsImportAttributeEntry, f: &mut JsFormatter) -> FormatResult<()> { - let JsImportAttributeEntryFields { +impl FormatNodeRule for FormatJsImportAssertionEntry { + fn fmt_fields(&self, node: &JsImportAssertionEntry, f: &mut JsFormatter) -> FormatResult<()> { + let JsImportAssertionEntryFields { key, colon_token, value_token, @@ -52,7 +54,7 @@ impl FormatNodeRule for FormatJsImportAttributeEntry { fn fmt_dangling_comments( &self, - _: &JsImportAttributeEntry, + _: &JsImportAssertionEntry, _: &mut JsFormatter, ) -> FormatResult<()> { // Handled inside `fmt_fields` diff --git a/crates/rome_js_formatter/src/js/module/import_bare_clause.rs b/crates/rome_js_formatter/src/js/module/import_bare_clause.rs index 79456530555..41a4dbfb878 100644 --- a/crates/rome_js_formatter/src/js/module/import_bare_clause.rs +++ b/crates/rome_js_formatter/src/js/module/import_bare_clause.rs @@ -9,12 +9,12 @@ pub(crate) struct FormatJsImportBareClause; impl FormatNodeRule for FormatJsImportBareClause { fn fmt_fields(&self, node: &JsImportBareClause, f: &mut JsFormatter) -> FormatResult<()> { - let JsImportBareClauseFields { source, attribute } = node.as_fields(); + let JsImportBareClauseFields { source, assertion } = node.as_fields(); write!(f, [source.format()])?; - if let Some(attribute) = attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = assertion { + write!(f, [space(), assertion.format()])?; } Ok(()) diff --git a/crates/rome_js_formatter/src/js/module/import_default_clause.rs b/crates/rome_js_formatter/src/js/module/import_default_clause.rs index 21ad0b8a284..cc2dae43063 100644 --- a/crates/rome_js_formatter/src/js/module/import_default_clause.rs +++ b/crates/rome_js_formatter/src/js/module/import_default_clause.rs @@ -14,7 +14,7 @@ impl FormatNodeRule for FormatJsImportDefaultClause { local_name, from_token, source, - attribute, + assertion, } = node.as_fields(); if let Some(type_token) = type_token { @@ -32,8 +32,8 @@ impl FormatNodeRule for FormatJsImportDefaultClause { ] ]?; - if let Some(attribute) = attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = assertion { + write!(f, [space(), assertion.format()])?; } Ok(()) diff --git a/crates/rome_js_formatter/src/js/module/import_named_clause.rs b/crates/rome_js_formatter/src/js/module/import_named_clause.rs index c6a530b4f45..f782a61c3f3 100644 --- a/crates/rome_js_formatter/src/js/module/import_named_clause.rs +++ b/crates/rome_js_formatter/src/js/module/import_named_clause.rs @@ -18,7 +18,7 @@ impl FormatNodeRule for FormatJsImportNamedClause { named_import, from_token, source, - attribute, + assertion, } = node.as_fields(); if let Some(type_token) = type_token { @@ -111,8 +111,8 @@ impl FormatNodeRule for FormatJsImportNamedClause { write![f, [space(), from_token.format(), space(), source.format(),]]?; - if let Some(attribute) = attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = assertion { + write!(f, [space(), assertion.format()])?; } Ok(()) diff --git a/crates/rome_js_formatter/src/js/module/import_namespace_clause.rs b/crates/rome_js_formatter/src/js/module/import_namespace_clause.rs index 8e3687e848c..6b96bfb73ad 100644 --- a/crates/rome_js_formatter/src/js/module/import_namespace_clause.rs +++ b/crates/rome_js_formatter/src/js/module/import_namespace_clause.rs @@ -16,7 +16,7 @@ impl FormatNodeRule for FormatJsImportNamespaceClause { local_name, from_token, source, - attribute, + assertion, } = node.as_fields(); if let Some(type_token) = type_token { @@ -38,8 +38,8 @@ impl FormatNodeRule for FormatJsImportNamespaceClause { ] ]?; - if let Some(attribute) = attribute { - write!(f, [space(), attribute.format()])?; + if let Some(assertion) = assertion { + write!(f, [space(), assertion.format()])?; } Ok(()) diff --git a/crates/rome_js_formatter/src/js/module/mod.rs b/crates/rome_js_formatter/src/js/module/mod.rs index e568e01fa66..bfe8e8a9a99 100644 --- a/crates/rome_js_formatter/src/js/module/mod.rs +++ b/crates/rome_js_formatter/src/js/module/mod.rs @@ -12,8 +12,8 @@ pub(crate) mod export_named_from_specifier; pub(crate) mod export_named_shorthand_specifier; pub(crate) mod export_named_specifier; pub(crate) mod import; -pub(crate) mod import_attribute; -pub(crate) mod import_attribute_entry; +pub(crate) mod import_assertion; +pub(crate) mod import_assertion_entry; pub(crate) mod import_bare_clause; pub(crate) mod import_default_clause; pub(crate) mod import_named_clause; diff --git a/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js b/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js index 4ba8477f278..7235ae959b0 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js +++ b/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js @@ -2,4 +2,4 @@ export * from "hey" export * as something_bad_will_happen from "something_bad_might_not_happen" -export * as something_bad_will_happen from "something_bad_might_not_happen" with { "type": "json", "type2": "json3"} +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3"} \ No newline at end of file diff --git a/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js.snap b/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js.snap index 632b900ba17..35e043d9a14 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/export/from_clause.js.snap @@ -1,6 +1,7 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/export/from_clause.js +info: + test_file: js/module/export/from_clause.js --- # Input @@ -10,8 +11,7 @@ export * from "hey" export * as something_bad_will_happen from "something_bad_might_not_happen" -export * as something_bad_will_happen from "something_bad_might_not_happen" with { "type": "json", "type2": "json3"} - +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3"} ``` @@ -35,7 +35,7 @@ export * from "hey"; export * as something_bad_will_happen from "something_bad_might_not_happen"; -export * as something_bad_will_happen from "something_bad_might_not_happen" with { +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3", }; @@ -43,7 +43,6 @@ export * as something_bad_will_happen from "something_bad_might_not_happen" with # Lines exceeding max width of 80 characters ``` - 5: export * as something_bad_will_happen from "something_bad_might_not_happen" with { + 5: export * as something_bad_will_happen from "something_bad_might_not_happen" assert { ``` - diff --git a/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js b/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js index 5ca9b6341c9..a8f3ac2e077 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js +++ b/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js @@ -1,20 +1,20 @@ export {a, b as c -} from "fancy" with { type: "json"} +} from "fancy" assert { type: "json"} export { lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem, lorem_lorem_lorem_lorem_lorem_ as ipsum_ipsum_ipsum_ipsum_ipsum_ipsum_ -} from "fancy" with { type: "json", "type2": "json", type23: "json", "type24": "json"} +} from "fancy" assert { type: "json", "type2": "json", type23: "json", "type24": "json"} export { loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" export { loooooooooooooooooooooooooooooooooooooooooooooooooong, } from "loooooooooooooooooooooooooooooooooooooooooooooong" -export { -// comment +export { +// comment loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" -export { a as b } from "loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" +export { a as b } from "loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" \ No newline at end of file diff --git a/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js.snap b/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js.snap index 2fa4013687e..45a7454d39e 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/export/named_from_clause.js.snap @@ -1,6 +1,7 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/export/named_from_clause.js +info: + test_file: js/module/export/named_from_clause.js --- # Input @@ -8,25 +9,24 @@ info: js/module/export/named_from_clause.js ```js export {a, b as c -} from "fancy" with { type: "json"} +} from "fancy" assert { type: "json"} export { lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem, lorem_lorem_lorem_lorem_lorem_ as ipsum_ipsum_ipsum_ipsum_ipsum_ipsum_ -} from "fancy" with { type: "json", "type2": "json", type23: "json", "type24": "json"} +} from "fancy" assert { type: "json", "type2": "json", type23: "json", "type24": "json"} export { loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" export { loooooooooooooooooooooooooooooooooooooooooooooooooong, } from "loooooooooooooooooooooooooooooooooooooooooooooong" -export { -// comment +export { +// comment loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" export { a as b } from "loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" - ``` @@ -46,12 +46,12 @@ Semicolons: Always ----- ```js -export { a, b as c } from "fancy" with { type: "json" }; +export { a, b as c } from "fancy" assert { type: "json" }; export { lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem_lorem, lorem_lorem_lorem_lorem_lorem_ as ipsum_ipsum_ipsum_ipsum_ipsum_ipsum_, -} from "fancy" with { +} from "fancy" assert { type: "json", "type2": "json", type23: "json", diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js b/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js index 2caebe1531a..f424f1f08eb 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js +++ b/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js @@ -1,16 +1,16 @@ import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_"; -import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" with { type : "json"} -import "short" with { +import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" assert { type : "json"} +import "short" assert { type : "json" } -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json" } -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json", "type2" /****/ : "json", diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js.snap index 77eed8fbf86..c5ed0b49fe7 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/import/bare_import.js.snap @@ -8,18 +8,18 @@ info: ```js import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_"; -import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" with { type : "json"} -import "short" with { +import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" assert { type : "json"} +import "short" assert { type : "json" } -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json" } -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json", "type2" /****/ : "json", @@ -51,17 +51,17 @@ Semicolons: Always ```js import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_"; -import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" with { +import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" assert { type: "json", }; -import "short" with { type: "json" }; +import "short" assert { type: "json" }; -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json", }; -import "very_long_import_very_long_import_very" with { +import "very_long_import_very_long_import_very" assert { // something good is here "type": /****/ "json", "type2": /****/ "json", @@ -76,7 +76,7 @@ import "very_long_import_very_long_import_very" with { # Lines exceeding max width of 80 characters ``` 1: import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_"; - 2: import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" with { + 2: import "very_long_import_very_long_import_very_long_import_very_long_import_very_long_import_very_long" assert { 20: "typetypetypetypetypetypetypetypetypetypetype": /****/ "typetypetypetypetypetypetypetypetypetypetypetypetypetype", ``` diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js b/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js index b5fc4d66ffd..0e997493a03 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js +++ b/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js @@ -1,11 +1,11 @@ import hey from "hey" import hey from "hey"; -import "x" with { type: "json" } -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { +import "x" assert { type: "json" } +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; import a, * as b from "foo" diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js.snap index ab38ec1538a..ed3d6333c52 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/import/default_import.js.snap @@ -1,6 +1,7 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/default_import.js +info: + test_file: js/module/import/default_import.js --- # Input @@ -8,14 +9,14 @@ info: js/module/import/default_import.js ```js import hey from "hey" import hey from "hey"; -import "x" with { type: "json" } -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { +import "x" assert { type: "json" } +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; import a, * as b from "foo" ``` @@ -39,11 +40,15 @@ Semicolons: Always ```js import hey from "hey"; import hey from "hey"; -import "x" with { type: "json" }; -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import "x" assert { type: "json" }; +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo2 from "foo.json" assert { + "type": "json", + type: "html", + "type": "js", +}; import a, * as b from "foo"; ``` diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js deleted file mode 100644 index 717b72d4a84..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js +++ /dev/null @@ -1 +0,0 @@ -import("./foo.json", { with: { type: "json" } }); diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.prettier-snap deleted file mode 100644 index 717b72d4a84..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import("./foo.json", { with: { type: "json" } }); diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.snap deleted file mode 100644 index 7ec0429a53c..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/dynamic-import.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/bracket-spacing/dynamic-import.js ---- - -# Input - -```js -import("./foo.json", { with: { type: "json" } }); - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import("./foo.json", { with: { type: "json" } }); -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js deleted file mode 100644 index fe2a9deb871..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js +++ /dev/null @@ -1 +0,0 @@ -export * as bar from "bar.json" with { } diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.prettier-snap deleted file mode 100644 index 349c495478a..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -export * as bar from "bar.json"; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.snap deleted file mode 100644 index f67508b597b..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/empty.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/bracket-spacing/empty.js ---- - -# Input - -```js -export * as bar from "bar.json" with { } - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -export * as bar from "bar.json" with {}; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js deleted file mode 100644 index 12b98b761f4..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js +++ /dev/null @@ -1 +0,0 @@ -export { default as foo2 } from "foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.prettier-snap deleted file mode 100644 index 12b98b761f4..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -export { default as foo2 } from "foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.snap deleted file mode 100644 index deab6282602..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/re-export.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/bracket-spacing/re-export.js ---- - -# Input - -```js -export { default as foo2 } from "foo.json" with { type: "json" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -export { default as foo2 } from "foo.json" with { type: "json" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js deleted file mode 100644 index 7770ae1f06b..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.prettier-snap deleted file mode 100644 index 7770ae1f06b..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.snap deleted file mode 100644 index 94fcc1fd4d4..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/bracket-spacing/static-import.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/bracket-spacing/static-import.js ---- - -# Input - -```js -import json from "./foo.json" with { type: "json" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import json from "./foo.json" with { type: "json" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js deleted file mode 100644 index 717b72d4a84..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js +++ /dev/null @@ -1 +0,0 @@ -import("./foo.json", { with: { type: "json" } }); diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.prettier-snap deleted file mode 100644 index 717b72d4a84..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import("./foo.json", { with: { type: "json" } }); diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.snap deleted file mode 100644 index ab173b35bb7..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/dynamic-import.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/dynamic-import.js ---- - -# Input - -```js -import("./foo.json", { with: { type: "json" } }); - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import("./foo.json", { with: { type: "json" } }); -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js deleted file mode 100644 index ab1ee6f33e4..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js +++ /dev/null @@ -1,7 +0,0 @@ -export * as foo from "foo.json" -export * as bar from "bar.json" with { } -export * as baz from "baz.json" with { /* comment */ } - -import * as foo from "foo.json" -import * as bar from "bar.json" with { } -import * as baz from "baz.json" with { /* comment */ } diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.prettier-snap deleted file mode 100644 index 6be0c7b7e06..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.prettier-snap +++ /dev/null @@ -1,7 +0,0 @@ -export * as foo from "foo.json"; -export * as bar from "bar.json"; -export * as baz from "baz.json" /* comment */; - -import * as foo from "foo.json"; -import * as bar from "bar.json"; -import * as baz from "baz.json" /* comment */; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.snap deleted file mode 100644 index c19540be276..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/empty.js.snap +++ /dev/null @@ -1,45 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/empty.js ---- - -# Input - -```js -export * as foo from "foo.json" -export * as bar from "bar.json" with { } -export * as baz from "baz.json" with { /* comment */ } - -import * as foo from "foo.json" -import * as bar from "bar.json" with { } -import * as baz from "baz.json" with { /* comment */ } - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -export * as foo from "foo.json"; -export * as bar from "bar.json" with {}; -export * as baz from "baz.json" with { /* comment */ }; - -import * as foo from "foo.json"; -import * as bar from "bar.json" with {}; -import * as baz from "baz.json" with { /* comment */ }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js deleted file mode 100644 index 0f0e7115f30..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json", type: "bar" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.prettier-snap deleted file mode 100644 index 0f0e7115f30..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json", type: "bar" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.snap deleted file mode 100644 index b35b5d11350..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/multi-types.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/multi-types.js ---- - -# Input - -```js -import json from "./foo.json" with { type: "json", type: "bar" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import json from "./foo.json" with { type: "json", type: "bar" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js deleted file mode 100644 index 1858e49c202..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js +++ /dev/null @@ -1 +0,0 @@ -import foo from "foo.json" with { lazy: "true" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.prettier-snap deleted file mode 100644 index 1858e49c202..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import foo from "foo.json" with { lazy: "true" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.snap deleted file mode 100644 index 24f03bfcd90..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/non-type.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/non-type.js ---- - -# Input - -```js -import foo from "foo.json" with { lazy: "true" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import foo from "foo.json" with { lazy: "true" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js deleted file mode 100644 index c3624b9699d..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js +++ /dev/null @@ -1,2 +0,0 @@ -import "x" -with ({type: 'json'}); diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js.snap deleted file mode 100644 index 6db7bf8b4fb..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/not-import-attributes.js.snap +++ /dev/null @@ -1,35 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/not-import-attributes.js ---- - -# Input - -```js -import "x" -with ({type: 'json'}); - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import "x"; -with ({type: 'json'}); -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js deleted file mode 100644 index 8b7f8a81728..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js +++ /dev/null @@ -1,3 +0,0 @@ -export { default as foo2 } from "foo.json" with { type: "json" }; -export * from "foo.json" with { type: "json" }; -export * as foo3 from "foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.prettier-snap deleted file mode 100644 index 8b7f8a81728..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.prettier-snap +++ /dev/null @@ -1,3 +0,0 @@ -export { default as foo2 } from "foo.json" with { type: "json" }; -export * from "foo.json" with { type: "json" }; -export * as foo3 from "foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.snap deleted file mode 100644 index 173621b2331..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/re-export.js.snap +++ /dev/null @@ -1,37 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/re-export.js ---- - -# Input - -```js -export { default as foo2 } from "foo.json" with { type: "json" }; -export * from "foo.json" with { type: "json" }; -export * as foo3 from "foo.json" with { type: "json" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -export { default as foo2 } from "foo.json" with { type: "json" }; -export * from "foo.json" with { type: "json" }; -export * as foo3 from "foo.json" with { type: "json" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js deleted file mode 100644 index 7770ae1f06b..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.prettier-snap deleted file mode 100644 index 7770ae1f06b..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import json from "./foo.json" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.snap deleted file mode 100644 index f598a6f1684..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/static-import.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/static-import.js ---- - -# Input - -```js -import json from "./foo.json" with { type: "json" }; - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import json from "./foo.json" with { type: "json" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js deleted file mode 100644 index 5009c441a73..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js +++ /dev/null @@ -1 +0,0 @@ -import "foo" with { type: "json" } diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.prettier-snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.prettier-snap deleted file mode 100644 index 97676575506..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.prettier-snap +++ /dev/null @@ -1 +0,0 @@ -import "foo" with { type: "json" }; diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.snap deleted file mode 100644 index 3e11b0c311a..00000000000 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import-attributes/without-from.js.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/import/import-attributes/without-from.js ---- - -# Input - -```js -import "foo" with { type: "json" } - -``` - - -============================= - -# Outputs - -## Output 1 - ------ -Indent style: Tab -Line width: 80 -Quote style: Double Quotes -Quote properties: As needed -Trailing comma: All -Semicolons: Always ------ - -```js -import "foo" with { type: "json" }; -``` - - diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js b/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js index 63dd4b790e5..d2223d44ec3 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js +++ b/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js @@ -3,7 +3,7 @@ import { hey } from "hey"; import { apple, banana } from "fruits"; -import {test} from "foo.json" with { for: "for" } +import {test} from "foo.json" assert { for: "for" } import { // some funky comment loooooooooooooooooooong as moreeeeeeloooooooooooooooooooong, loooooooooooooooooooong2 as moreeeeeeloooooooooooooooooooong2, @@ -23,8 +23,8 @@ import { loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooo import { loooooooooooooooooooooooooooooooooooooooooooooooooong, } from "loooooooooooooooooooooooooooooooooooooooooooooong" -import { -// comment +import { +// comment loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" import { a as b } from "loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" diff --git a/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js.snap b/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js.snap index bcf28af51b5..bcee5d43f1f 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/import/import_specifiers.js.snap @@ -12,7 +12,7 @@ import { hey } from "hey"; import { apple, banana } from "fruits"; -import {test} from "foo.json" with { for: "for" } +import {test} from "foo.json" assert { for: "for" } import { // some funky comment loooooooooooooooooooong as moreeeeeeloooooooooooooooooooong, loooooooooooooooooooong2 as moreeeeeeloooooooooooooooooooong2, @@ -32,8 +32,8 @@ import { loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooo import { loooooooooooooooooooooooooooooooooooooooooooooooooong, } from "loooooooooooooooooooooooooooooooooooooooooooooong" -import { -// comment +import { +// comment loooooooooooooooooooooooooooooooooooooooooooooooooong } from "loooooooooooooooooooooooooooooooooooooooooooooong" import { a as b } from "loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" @@ -62,7 +62,7 @@ Semicolons: Always import { hey } from "hey"; import { hey } from "hey"; import { apple, banana } from "fruits"; -import { test } from "foo.json" with { for: "for" }; +import { test } from "foo.json" assert { for: "for" }; import { // some funky comment loooooooooooooooooooong as moreeeeeeloooooooooooooooooooong, diff --git a/crates/rome_js_formatter/tests/specs/js/module/string/string.js b/crates/rome_js_formatter/tests/specs/js/module/string/string.js index d7d32efdb95..ec8d585be94 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/string/string.js +++ b/crates/rome_js_formatter/tests/specs/js/module/string/string.js @@ -1,13 +1,13 @@ import hey from "hey" import hey from "hey"; -import "x" with { type: "json" } -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { +import "x" assert { type: "json" } +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; import a, * as b from "foo" const foo = {}; @@ -42,7 +42,7 @@ export * from "hey" export * as something_bad_will_happen from "something_bad_might_not_happen" -export * as something_bad_will_happen from "something_bad_might_not_happen" with { "type": "json", "type2": "json3"} +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3"} // this one should switch to use single quotes @@ -55,4 +55,4 @@ export * as something_bad_will_happen from "something_bad_might_not_happen" with ("content \\' \\' "); // you should remove the escape -("content \'\' ") +("content \'\' ") \ No newline at end of file diff --git a/crates/rome_js_formatter/tests/specs/js/module/string/string.js.snap b/crates/rome_js_formatter/tests/specs/js/module/string/string.js.snap index d56e29b4dd6..52251cb5e7f 100644 --- a/crates/rome_js_formatter/tests/specs/js/module/string/string.js.snap +++ b/crates/rome_js_formatter/tests/specs/js/module/string/string.js.snap @@ -1,6 +1,7 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/module/string/string.js +info: + test_file: js/module/string/string.js --- # Input @@ -8,14 +9,14 @@ info: js/module/string/string.js ```js import hey from "hey" import hey from "hey"; -import "x" with { type: "json" } -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { +import "x" assert { type: "json" } +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; import a, * as b from "foo" const foo = {}; @@ -50,7 +51,7 @@ export * from "hey" export * as something_bad_will_happen from "something_bad_might_not_happen" -export * as something_bad_will_happen from "something_bad_might_not_happen" with { "type": "json", "type2": "json3"} +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3"} // this one should switch to use single quotes @@ -64,7 +65,6 @@ export * as something_bad_will_happen from "something_bad_might_not_happen" with // you should remove the escape ("content \'\' ") - ``` @@ -86,11 +86,15 @@ Semicolons: Always ```js import hey from "hey"; import hey from "hey"; -import "x" with { type: "json" }; -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import "x" assert { type: "json" }; +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo2 from "foo.json" assert { + "type": "json", + type: "html", + "type": "js", +}; import a, * as b from "foo"; const foo = {}; @@ -127,7 +131,7 @@ export * from "hey"; export * as something_bad_will_happen from "something_bad_might_not_happen"; -export * as something_bad_will_happen from "something_bad_might_not_happen" with { +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3", }; @@ -147,7 +151,7 @@ export * as something_bad_will_happen from "something_bad_might_not_happen" with # Lines exceeding max width of 80 characters ``` - 44: export * as something_bad_will_happen from "something_bad_might_not_happen" with { + 48: export * as something_bad_will_happen from "something_bad_might_not_happen" assert { ``` ## Output 2 @@ -164,11 +168,15 @@ Semicolons: Always ```js import hey from 'hey'; import hey from 'hey'; -import 'x' with { type: 'json' }; -import 'foo' with { 'type': 'json' }; -import foo from 'foo.json' with { type: 'json' }; -import foo from 'foo.json' with { type: 'json' }; -import foo2 from 'foo.json' with { 'type': 'json', type: "html", "type": "js" }; +import 'x' assert { type: 'json' }; +import 'foo' assert { 'type': 'json' }; +import foo from 'foo.json' assert { type: 'json' }; +import foo from 'foo.json' assert { type: 'json' }; +import foo2 from 'foo.json' assert { + 'type': 'json', + type: "html", + "type": "js", +}; import a, * as b from 'foo'; const foo = {}; @@ -205,7 +213,7 @@ export * from 'hey'; export * as something_bad_will_happen from 'something_bad_might_not_happen'; -export * as something_bad_will_happen from 'something_bad_might_not_happen' with { +export * as something_bad_will_happen from 'something_bad_might_not_happen' assert { 'type': 'json', 'type2': 'json3', }; @@ -225,7 +233,7 @@ export * as something_bad_will_happen from 'something_bad_might_not_happen' with # Lines exceeding max width of 80 characters ``` - 44: export * as something_bad_will_happen from 'something_bad_might_not_happen' with { + 48: export * as something_bad_will_happen from 'something_bad_might_not_happen' assert { ``` ## Output 3 @@ -242,11 +250,15 @@ Semicolons: Always ```js import hey from "hey"; import hey from "hey"; -import "x" with { type: "json" }; -import "foo" with { "type": "json" }; -import foo from "foo.json" with { type: "json" }; -import foo from "foo.json" with { type: "json" }; -import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; +import "x" assert { type: "json" }; +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo from "foo.json" assert { type: "json" }; +import foo2 from "foo.json" assert { + "type": "json", + type: "html", + "type": "js", +}; import a, * as b from "foo"; const foo = {}; @@ -283,7 +295,7 @@ export * from "hey"; export * as something_bad_will_happen from "something_bad_might_not_happen"; -export * as something_bad_will_happen from "something_bad_might_not_happen" with { +export * as something_bad_will_happen from "something_bad_might_not_happen" assert { "type": "json", "type2": "json3", }; @@ -303,7 +315,7 @@ export * as something_bad_will_happen from "something_bad_might_not_happen" with # Lines exceeding max width of 80 characters ``` - 44: export * as something_bad_will_happen from "something_bad_might_not_happen" with { + 48: export * as something_bad_will_happen from "something_bad_might_not_happen" assert { ``` diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.snap deleted file mode 100644 index 552316c799b..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/babel-plugins/import-assertions-static.js ---- - -# Input - -```js -import json from "./foo.json" assert { type: "json" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --import json from "./foo.json" assert { type: "json" }; -+import json from "./foo.json"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -import json from "./foo.json"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -import-assertions-static.js:1:31 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -import-assertions-static.js:1:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/empty.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/empty.js.snap index 614e7d8b91d..816b3af8455 100644 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/empty.js.snap +++ b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/empty.js.snap @@ -1,7 +1,7 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -assertion_line: 212 -info: js/import-assertions/bracket-spacing/empty.js +info: + test_file: js/import-assertions/bracket-spacing/empty.js --- # Input @@ -16,59 +16,15 @@ export * as bar from "bar.json" assert { } ```diff --- Prettier +++ Rome -@@ -1 +1,4 @@ - export * as bar from "bar.json"; -+assert; -+{ -+} +@@ -1 +1 @@ +-export * as bar from "bar.json"; ++export * as bar from "bar.json" assert {}; ``` # Output ```js -export * as bar from "bar.json"; -assert; -{ -} -``` - -# Errors -``` -empty.js:1:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export * as bar from "bar.json" assert { } - │ ^^^^^^ - - i An explicit or implicit semicolon is expected here... - - > 1 │ export * as bar from "bar.json" assert { } - │ ^^^^^^ - - i ...Which is required to end this statement - - > 1 │ export * as bar from "bar.json" assert { } - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -empty.js:1:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export * as bar from "bar.json" assert { } - │ ^ - - i An explicit or implicit semicolon is expected here... - - > 1 │ export * as bar from "bar.json" assert { } - │ ^ - - i ...Which is required to end this statement - - > 1 │ export * as bar from "bar.json" assert { } - │ ^^^^^^^^ - - +export * as bar from "bar.json" assert {}; ``` diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/re-export.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/re-export.js.snap deleted file mode 100644 index 039a961ae29..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/re-export.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/bracket-spacing/re-export.js ---- - -# Input - -```js -export { default as foo2 } from "foo.json" assert { type: "json" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --export { default as foo2 } from "foo.json" assert { type: "json" }; -+export { default as foo2 } from "foo.json"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -export { default as foo2 } from "foo.json"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -re-export.js:1:44 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -re-export.js:1:51 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/static-import.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/static-import.js.snap deleted file mode 100644 index 6e053afb988..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/bracket-spacing/static-import.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/bracket-spacing/static-import.js ---- - -# Input - -```js -import json from "./foo.json" assert { type: "json" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --import json from "./foo.json" assert { type: "json" }; -+import json from "./foo.json"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -import json from "./foo.json"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -static-import.js:1:31 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -static-import.js:1:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/empty.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/empty.js.snap index 452c08c10a8..f591ebe1617 100644 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/empty.js.snap +++ b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/empty.js.snap @@ -1,6 +1,5 @@ --- source: crates/rome_formatter_test/src/snapshot_builder.rs -assertion_line: 212 info: js/import-assertions/empty.js --- @@ -22,263 +21,30 @@ import * as baz from "baz.json" assert { /* comment */ } ```diff --- Prettier +++ Rome -@@ -1,7 +1,21 @@ +@@ -1,7 +1,7 @@ export * as foo from "foo.json"; - export * as bar from "bar.json"; +-export * as bar from "bar.json"; -export * as baz from "baz.json" /* comment */; -+assert; -+{ -+} -+export * as baz from "baz.json"; -+assert; -+{ -+ /* comment */ -+} ++export * as bar from "bar.json" assert {}; ++export * as baz from "baz.json" assert { /* comment */ }; import * as foo from "foo.json"; - import * as bar from "bar.json"; +-import * as bar from "bar.json"; -import * as baz from "baz.json" /* comment */; -+assert; -+{ -+} -+import * as baz from "baz.json"; -+assert; -+{ -+ /* comment */ -+} ++import * as bar from "bar.json" assert {}; ++import * as baz from "baz.json" assert { /* comment */ }; ``` # Output ```js export * as foo from "foo.json"; -export * as bar from "bar.json"; -assert; -{ -} -export * as baz from "baz.json"; -assert; -{ - /* comment */ -} +export * as bar from "bar.json" assert {}; +export * as baz from "baz.json" assert { /* comment */ }; import * as foo from "foo.json"; -import * as bar from "bar.json"; -assert; -{ -} -import * as baz from "baz.json"; -assert; -{ - /* comment */ -} -``` - -# Errors -``` -empty.js:2:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^^^^^^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^^^^^^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - - i ...Which is required to end this statement - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - -empty.js:2:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - - i ...Which is required to end this statement - - 1 │ export * as foo from "foo.json" - > 2 │ export * as bar from "bar.json" assert { } - │ ^^^^^^^^ - 3 │ export * as baz from "baz.json" assert { /* comment */ } - 4 │ - -empty.js:3:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^ - 4 │ - 5 │ import * as foo from "foo.json" - - i An explicit or implicit semicolon is expected here... - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^ - 4 │ - 5 │ import * as foo from "foo.json" - - i ...Which is required to end this statement - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 4 │ - 5 │ import * as foo from "foo.json" - -empty.js:3:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^ - 4 │ - 5 │ import * as foo from "foo.json" - - i An explicit or implicit semicolon is expected here... - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^ - 4 │ - 5 │ import * as foo from "foo.json" - - i ...Which is required to end this statement - - 1 │ export * as foo from "foo.json" - 2 │ export * as bar from "bar.json" assert { } - > 3 │ export * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^^^ - 4 │ - 5 │ import * as foo from "foo.json" - -empty.js:6:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^^^^^^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - - i An explicit or implicit semicolon is expected here... - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^^^^^^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - - i ...Which is required to end this statement - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - -empty.js:6:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - - i An explicit or implicit semicolon is expected here... - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - - i ...Which is required to end this statement - - 5 │ import * as foo from "foo.json" - > 6 │ import * as bar from "bar.json" assert { } - │ ^^^^^^^^ - 7 │ import * as baz from "baz.json" assert { /* comment */ } - -empty.js:7:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^ - - i An explicit or implicit semicolon is expected here... - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^ - - i ...Which is required to end this statement - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -empty.js:7:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^ - - i An explicit or implicit semicolon is expected here... - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^ - - i ...Which is required to end this statement - - 5 │ import * as foo from "foo.json" - 6 │ import * as bar from "bar.json" assert { } - > 7 │ import * as baz from "baz.json" assert { /* comment */ } - │ ^^^^^^^^ - - +import * as bar from "bar.json" assert {}; +import * as baz from "baz.json" assert { /* comment */ }; ``` diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/multi-types.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/multi-types.js.snap deleted file mode 100644 index f88b287dd7e..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/multi-types.js.snap +++ /dev/null @@ -1,105 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/multi-types.js ---- - -# Input - -```js -import json from "./foo.json" assert { type: "json", type: "bar" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,6 @@ --import json from "./foo.json" assert { type: "json", type: "bar" }; -+import json from "./foo.json"; -+assert; -+{ -+ type: "json", type; -+ : "bar" -+} -``` - -# Output - -```js -import json from "./foo.json"; -assert; -{ - type: "json", type; - : "bar" -} -``` - -# Errors -``` -multi-types.js:1:31 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -multi-types.js:1:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^^^^^^^^ - 2 │ - -multi-types.js:1:58 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json", type: "bar" }; - │ ^^^^^^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/non-type.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/non-type.js.snap deleted file mode 100644 index 2a0e200e7fa..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/non-type.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/non-type.js ---- - -# Input - -```js -import foo from "foo.json" assert { lazy: "true" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --import foo from "foo.json" assert { lazy: "true" }; -+import foo from "foo.json"; -+assert; -+{ -+ lazy: "true"; -+} -``` - -# Output - -```js -import foo from "foo.json"; -assert; -{ - lazy: "true"; -} -``` - -# Errors -``` -non-type.js:1:28 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -non-type.js:1:35 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import foo from "foo.json" assert { lazy: "true" }; - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/re-export.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/re-export.js.snap deleted file mode 100644 index b8ecf6f7b52..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/re-export.js.snap +++ /dev/null @@ -1,217 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/re-export.js ---- - -# Input - -```js -export { default as foo2 } from "foo.json" assert { type: "json" }; -export * from "foo.json" assert { type: "json" }; -export * as foo3 from "foo.json" assert { type: "json" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1,3 +1,15 @@ --export { default as foo2 } from "foo.json" assert { type: "json" }; --export * from "foo.json" assert { type: "json" }; --export * as foo3 from "foo.json" assert { type: "json" }; -+export { default as foo2 } from "foo.json"; -+assert; -+{ -+ type: "json"; -+} -+export * from "foo.json"; -+assert; -+{ -+ type: "json"; -+} -+export * as foo3 from "foo.json"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -export { default as foo2 } from "foo.json"; -assert; -{ - type: "json"; -} -export * from "foo.json"; -assert; -{ - type: "json"; -} -export * as foo3 from "foo.json"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -re-export.js:1:44 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - - i An explicit or implicit semicolon is expected here... - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - - i ...Which is required to end this statement - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - -re-export.js:1:51 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - - i An explicit or implicit semicolon is expected here... - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - - i ...Which is required to end this statement - - > 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 2 │ export * from "foo.json" assert { type: "json" }; - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - -re-export.js:2:26 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - - i ...Which is required to end this statement - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - -re-export.js:2:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - - i ...Which is required to end this statement - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - > 2 │ export * from "foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - 4 │ - -re-export.js:3:34 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^^^^^^ - 4 │ - - i ...Which is required to end this statement - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 4 │ - -re-export.js:3:41 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^ - 4 │ - - i An explicit or implicit semicolon is expected here... - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^ - 4 │ - - i ...Which is required to end this statement - - 1 │ export { default as foo2 } from "foo.json" assert { type: "json" }; - 2 │ export * from "foo.json" assert { type: "json" }; - > 3 │ export * as foo3 from "foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 4 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/static-import.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/static-import.js.snap deleted file mode 100644 index 5a017fd1e75..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/static-import.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/static-import.js ---- - -# Input - -```js -import json from "./foo.json" assert { type: "json" }; - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --import json from "./foo.json" assert { type: "json" }; -+import json from "./foo.json"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -import json from "./foo.json"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -static-import.js:1:31 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 2 │ - -static-import.js:1:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import json from "./foo.json" assert { type: "json" }; - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/without-from.js.snap b/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/without-from.js.snap deleted file mode 100644 index 9a4cb8a6cae..00000000000 --- a/crates/rome_js_formatter/tests/specs/prettier/js/import-assertions/without-from.js.snap +++ /dev/null @@ -1,83 +0,0 @@ ---- -source: crates/rome_formatter_test/src/snapshot_builder.rs -info: js/import-assertions/without-from.js ---- - -# Input - -```js -import "foo" assert { type: "json" } - -``` - - -# Prettier differences - -```diff ---- Prettier -+++ Rome -@@ -1 +1,5 @@ --import "foo" assert { type: "json" }; -+import "foo"; -+assert; -+{ -+ type: "json"; -+} -``` - -# Output - -```js -import "foo"; -assert; -{ - type: "json"; -} -``` - -# Errors -``` -without-from.js:1:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import "foo" assert { type: "json" } - │ ^^^^^^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import "foo" assert { type: "json" } - │ ^^^^^^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import "foo" assert { type: "json" } - │ ^^^^^^^^^^^^^ - 2 │ - -without-from.js:1:21 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - > 1 │ import "foo" assert { type: "json" } - │ ^ - 2 │ - - i An explicit or implicit semicolon is expected here... - - > 1 │ import "foo" assert { type: "json" } - │ ^ - 2 │ - - i ...Which is required to end this statement - - > 1 │ import "foo" assert { type: "json" } - │ ^^^^^^^^ - 2 │ - - -``` - - diff --git a/crates/rome_js_parser/src/lexer/mod.rs b/crates/rome_js_parser/src/lexer/mod.rs index bb39d9cc6b4..122fdfdf1ef 100644 --- a/crates/rome_js_parser/src/lexer/mod.rs +++ b/crates/rome_js_parser/src/lexer/mod.rs @@ -1061,6 +1061,7 @@ impl<'src> Lexer<'src> { b"accessor" => ACCESSOR_KW, b"as" => AS_KW, b"asserts" => ASSERTS_KW, + b"assert" => ASSERT_KW, b"any" => ANY_KW, b"async" => ASYNC_KW, b"await" => AWAIT_KW, diff --git a/crates/rome_js_parser/src/lexer/tests.rs b/crates/rome_js_parser/src/lexer/tests.rs index 99a68ee6c76..856dea7d765 100644 --- a/crates/rome_js_parser/src/lexer/tests.rs +++ b/crates/rome_js_parser/src/lexer/tests.rs @@ -1311,6 +1311,7 @@ fn keywords() { "abstract", "as", "asserts", + "assert", "any", "async", "await", diff --git a/crates/rome_js_parser/src/syntax/module.rs b/crates/rome_js_parser/src/syntax/module.rs index 5b7af1d545f..ad960ca39ee 100644 --- a/crates/rome_js_parser/src/syntax/module.rs +++ b/crates/rome_js_parser/src/syntax/module.rs @@ -333,14 +333,14 @@ fn parse_import_default_or_named_clause_rest( p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); named_clause.complete(p, JS_IMPORT_NAMED_CLAUSE) } _ => { p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); m.complete(p, JS_IMPORT_DEFAULT_CLAUSE) } @@ -353,7 +353,7 @@ fn parse_import_default_or_named_clause_rest( fn parse_import_bare_clause(p: &mut JsParser) -> ParsedSyntax { parse_module_source(p).map(|module_source| { let m = module_source.precede(p); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); m.complete(p, JS_IMPORT_BARE_CLAUSE) }) } @@ -367,7 +367,7 @@ fn parse_import_namespace_clause_rest(p: &mut JsParser, m: Marker) -> CompletedM parse_binding(p).or_add_diagnostic(p, expected_binding); p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); m.complete(p, JS_IMPORT_NAMESPACE_CLAUSE) } @@ -383,7 +383,7 @@ fn parse_import_named_clause_rest(p: &mut JsParser, m: Marker) -> CompletedMarke parse_named_import(p).or_add_diagnostic(p, expected_named_import); p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); m.complete(p, JS_IMPORT_NAMED_CLAUSE) } @@ -530,6 +530,15 @@ fn parse_any_named_import_specifier(p: &mut JsParser) -> ParsedSyntax { } } +// test import_assertion +// import "x" assert { type: "json" } +// import "foo" assert { "type": "json" }; +// import foo from "foo.json" assert { type: "json" }; +// import {test} from "foo.json" assert { for: "for" } +// import foo_json from "foo.json" assert { type: "json", hasOwnProperty: "true" }; +// import "x" assert +// { type: "json" } + // test import_attribute // import "x" with { type: "json" } // import "foo" with { "type": "json" }; @@ -539,45 +548,70 @@ fn parse_any_named_import_specifier(p: &mut JsParser) -> ParsedSyntax { // import "x" with // { type: "json" } +// test_err import_assertion_err +// import "foo" assert { type, "json" }; +// import "bar" \u{61}ssert { type: "json" }; +// import { foo } assert { type: "json" }; +// import "lorem" +// assert { type: "json" } +// import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; +// import "x" assert; +// import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; +// import { a } from "a.json" assert + // test_err import_attribute_err // import "foo" with { type, "json" }; -// import "bar" \u{61}ith { type: "json" }; // import { foo } with { type: "json" }; // import "lorem" -// with { type: "json" } +// assert { type: "json" } // import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; // import "x" with; // import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; // import { a } from "a.json" with -fn parse_import_attributes(p: &mut JsParser) -> ParsedSyntax { - if !p.at(T![with]) || p.has_preceding_line_break() { +fn parse_import_assertion(p: &mut JsParser) -> ParsedSyntax { + if p.has_preceding_line_break() { + return Absent; + } + if !p.at(T![assert]) && !p.at(T![with]) { return Absent; } let m = p.start(); - p.expect(T![with]); - p.expect(T!['{']); + match p.cur() { + T![assert] => { + p.expect(T![assert]); + } + T![with] => { + p.expect(T![with]); + } + _ => { + m.abandon(p); + return Absent; + } + }; - ImportAttributeList::default().parse_list(p); + // bump assert or with + p.expect(T!['{']); + ImportAssertionList::default().parse_list(p); p.expect(T!['}']); - Present(m.complete(p, JS_IMPORT_ATTRIBUTE)) + Present(m.complete(p, JS_IMPORT_ASSERTION)) } #[derive(Default)] -struct ImportAttributeList { - attribute_keys: HashMap, +struct ImportAssertionList { + assertion_keys: HashMap, } -impl ParseSeparatedList for ImportAttributeList { +impl ParseSeparatedList for ImportAssertionList { type Kind = JsSyntaxKind; type Parser<'source> = JsParser<'source>; - const LIST_KIND: Self::Kind = JS_IMPORT_ATTRIBUTE_ENTRY_LIST; + const LIST_KIND: Self::Kind = JS_IMPORT_ASSERTION_ENTRY_LIST; fn parse_element(&mut self, p: &mut JsParser) -> ParsedSyntax { - parse_import_attribute_entry(p, &mut self.attribute_keys) + parse_import_assertion_entry(p, &mut self.assertion_keys) } fn is_at_list_end(&self, p: &mut JsParser) -> bool { @@ -588,11 +622,11 @@ impl ParseSeparatedList for ImportAttributeList { parsed_element.or_recover( p, &ParseRecovery::new( - JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY, + JS_BOGUS_IMPORT_ASSERTION_ENTRY, STMT_RECOVERY_SET.union(token_set![T![,], T!['}']]), ) .enable_recovery_on_line_break(), - |p, range| expected_node("import attribute entry", range).into_diagnostic(p), + |p, range| expected_node("import assertion entry", range).into_diagnostic(p), ) } @@ -605,9 +639,9 @@ impl ParseSeparatedList for ImportAttributeList { } } -fn parse_import_attribute_entry( +fn parse_import_assertion_entry( p: &mut JsParser, - seen_attribute_keys: &mut HashMap, + seen_assertion_keys: &mut HashMap, ) -> ParsedSyntax { let m = p.start(); let key_range = p.cur_range(); @@ -641,7 +675,7 @@ fn parse_import_attribute_entry( let mut valid = true; if let Some(key) = key { - if let Some(first_use) = seen_attribute_keys.get(&key) { + if let Some(first_use) = seen_assertion_keys.get(&key) { p.error(duplicate_assertion_keys_error( p, &key, @@ -650,14 +684,14 @@ fn parse_import_attribute_entry( )); valid = false; } else { - seen_attribute_keys.insert(key, key_range); + seen_assertion_keys.insert(key, key_range); } }; p.expect(T![:]); p.expect(JS_STRING_LITERAL); - let mut entry = m.complete(p, JS_IMPORT_ATTRIBUTE_ENTRY); + let mut entry = m.complete(p, JS_IMPORT_ASSERTION_ENTRY); if !valid { entry.change_to_bogus(p); @@ -1007,7 +1041,7 @@ where // export * from "a"; // export * as c from "b"; // export * as default from "b" -// export * from "mod" with { type: "json" } +// export * from "mod" assert { type: "json" } // export type * from "types"; // export type * as types from "types"; // @@ -1034,7 +1068,7 @@ fn parse_export_from_clause(p: &mut JsParser) -> ParsedSyntax { parse_export_as_clause(p).ok(); p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); semi(p, TextRange::new(start, p.cur_range().end())); Present(m.complete(p, JS_EXPORT_FROM_CLAUSE)) @@ -1046,7 +1080,7 @@ fn parse_export_from_clause(p: &mut JsParser) -> ParsedSyntax { // export { as } from "mod"; // export { default as "b" } from "mod"; // export { "a" as b } from "mod"; -// export { a } from "mod" with { type: "json" } +// export { a } from "mod" assert { type: "json" } // export { "a" } from "./mod"; // export { // "a" @@ -1080,7 +1114,7 @@ fn parse_export_named_from_clause(p: &mut JsParser) -> ParsedSyntax { p.expect(T![from]); parse_module_source(p).or_add_diagnostic(p, expected_module_source); - parse_import_attributes(p).ok(); + parse_import_assertion(p).ok(); semi(p, TextRange::new(start, p.cur_range().start())); diff --git a/crates/rome_js_parser/src/tests.rs b/crates/rome_js_parser/src/tests.rs index 836e34119bd..49e2180596d 100644 --- a/crates/rome_js_parser/src/tests.rs +++ b/crates/rome_js_parser/src/tests.rs @@ -14,9 +14,7 @@ use std::path::{Path, PathBuf}; #[test] fn parser_smoke_test() { let src = r#" -let -// comment -a; +import "x" with { type: "json" } "#; let module = parse(src, JsFileSource::tsx()); diff --git a/crates/rome_js_parser/test_data/inline/err/export_decl_not_top_level.rast b/crates/rome_js_parser/test_data/inline/err/export_decl_not_top_level.rast index fd994b6f6fa..4a00e4c147a 100644 --- a/crates/rome_js_parser/test_data/inline/err/export_decl_not_top_level.rast +++ b/crates/rome_js_parser/test_data/inline/err/export_decl_not_top_level.rast @@ -26,7 +26,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@24..30 "\"life\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@30..31 ";" [] [], }, ], diff --git a/crates/rome_js_parser/test_data/inline/err/export_from_clause_err.rast b/crates/rome_js_parser/test_data/inline/err/export_from_clause_err.rast index 5a4efde4672..db8bd4e80d4 100644 --- a/crates/rome_js_parser/test_data/inline/err/export_from_clause_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/export_from_clause_err.rast @@ -11,7 +11,7 @@ JsModule { export_as: missing (optional), from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@8..9 ";" [] [], }, }, @@ -24,7 +24,7 @@ JsModule { export_as: missing (optional), from_token: FROM_KW@19..24 "from" [] [Whitespace(" ")], source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: missing (optional), }, }, @@ -50,7 +50,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@42..48 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@48..49 ";" [] [], }, }, @@ -65,7 +65,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@62..68 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@68..69 ";" [] [], }, }, @@ -78,7 +78,7 @@ JsModule { export_as: missing (optional), from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@83..84 ";" [] [], }, }, @@ -91,7 +91,7 @@ JsModule { export_as: missing (optional), from_token: FROM_KW@99..103 "from" [] [], source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@103..104 ";" [] [], }, }, @@ -109,7 +109,7 @@ JsModule { }, from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@126..127 ";" [] [], }, }, @@ -127,7 +127,7 @@ JsModule { }, from_token: FROM_KW@148..152 "from" [] [], source: missing (required), - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@152..153 ";" [] [], }, }, diff --git a/crates/rome_js_parser/test_data/inline/err/export_named_from_clause_err.rast b/crates/rome_js_parser/test_data/inline/err/export_named_from_clause_err.rast index ba04744c9d6..4b67c2a5c32 100644 --- a/crates/rome_js_parser/test_data/inline/err/export_named_from_clause_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/export_named_from_clause_err.rast @@ -25,7 +25,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@21..26 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@26..27 ";" [] [], }, }, @@ -101,7 +101,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@80..85 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@85..86 ";" [] [], }, }, diff --git a/crates/rome_js_parser/test_data/inline/err/import_as_identifier_err.rast b/crates/rome_js_parser/test_data/inline/err/import_as_identifier_err.rast index acedab4580b..365bcf2eaf7 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_as_identifier_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/import_as_identifier_err.rast @@ -25,7 +25,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@21..27 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@27..28 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/err/import_assertion_err.rast b/crates/rome_js_parser/test_data/inline/err/import_assertion_err.rast index 4a54ee3c286..f9049358715 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_assertion_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/import_assertion_err.rast @@ -8,77 +8,53 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@7..13 "\"foo\"" [] [Whitespace(" ")], }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@13..20 "assert" [] [Whitespace(" ")], - }, - }, - semicolon_token: missing (optional), - }, - JsBlockStatement { - l_curly_token: L_CURLY@20..22 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsExpressionStatement { - expression: JsSequenceExpression { - left: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@22..26 "type" [] [], - }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@13..20 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@20..22 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@22..26 "type" [] [], + colon_token: missing (required), + value_token: missing (required), }, - comma_token: COMMA@26..28 "," [] [Whitespace(" ")], - right: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@28..35 "\"json\"" [] [Whitespace(" ")], + COMMA@26..28 "," [] [Whitespace(" ")], + JsImportAssertionEntry { + key: JS_STRING_LITERAL@28..35 "\"json\"" [] [Whitespace(" ")], + colon_token: missing (required), + value_token: missing (required), }, - }, - semicolon_token: missing (optional), - }, - ], - r_curly_token: R_CURLY@35..36 "}" [] [], - }, - JsEmptyStatement { - semicolon_token: SEMICOLON@36..37 ";" [] [], - }, - JsImport { - import_token: IMPORT_KW@37..45 "import" [Newline("\n")] [Whitespace(" ")], - import_clause: JsImportBareClause { - source: JsModuleSource { - value_token: JS_STRING_LITERAL@45..51 "\"bar\"" [] [Whitespace(" ")], - }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@51..63 "\\u{61}ssert" [] [Whitespace(" ")], + ], + r_curly_token: R_CURLY@35..36 "}" [] [], }, }, - semicolon_token: missing (optional), + semicolon_token: SEMICOLON@36..37 ";" [] [], }, - JsBlockStatement { - l_curly_token: L_CURLY@63..65 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsLabeledStatement { - label_token: IDENT@65..69 "type" [] [], - colon_token: COLON@69..71 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@71..78 "\"json\"" [] [Whitespace(" ")], + JsBogusStatement { + items: [ + IMPORT_KW@37..45 "import" [Newline("\n")] [Whitespace(" ")], + JsBogus { + items: [ + JsModuleSource { + value_token: JS_STRING_LITERAL@45..51 "\"bar\"" [] [Whitespace(" ")], }, - semicolon_token: missing (optional), - }, + JsBogus { + items: [ + ERROR_TOKEN@51..63 "\\u{61}ssert" [] [Whitespace(" ")], + L_CURLY@63..65 "{" [] [Whitespace(" ")], + JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@65..69 "type" [] [], + colon_token: COLON@69..71 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@71..78 "\"json\"" [] [Whitespace(" ")], + }, + ], + R_CURLY@78..79 "}" [] [], + ], + }, + ], }, + SEMICOLON@79..80 ";" [] [], ], - r_curly_token: R_CURLY@78..79 "}" [] [], - }, - JsEmptyStatement { - semicolon_token: SEMICOLON@79..80 ";" [] [], }, JsImport { import_token: IMPORT_KW@80..88 "import" [Newline("\n")] [Whitespace(" ")], @@ -99,35 +75,19 @@ JsModule { }, from_token: missing (required), source: missing (required), - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@96..103 "assert" [] [Whitespace(" ")], - }, - }, - semicolon_token: missing (optional), - }, - JsBlockStatement { - l_curly_token: L_CURLY@103..105 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsLabeledStatement { - label_token: IDENT@105..109 "type" [] [], - colon_token: COLON@109..111 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsStringLiteralExpression { + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@96..103 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@103..105 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@105..109 "type" [] [], + colon_token: COLON@109..111 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")], }, - semicolon_token: missing (optional), - }, + ], + r_curly_token: R_CURLY@118..119 "}" [] [], }, - ], - r_curly_token: R_CURLY@118..119 "}" [] [], - }, - JsEmptyStatement { + }, semicolon_token: SEMICOLON@119..120 ";" [] [], }, JsImport { @@ -136,7 +96,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@128..135 "\"lorem\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, @@ -175,60 +135,35 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@177..188 "\"foo.json\"" [] [Whitespace(" ")], }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@188..195 "assert" [] [Whitespace(" ")], - }, - }, - semicolon_token: missing (optional), - }, - JsBlockStatement { - l_curly_token: L_CURLY@195..197 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsExpressionStatement { - expression: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@197..203 "\"type\"" [] [], - }, - semicolon_token: missing (optional), - }, - JsBogusStatement { - items: [ - COLON@203..205 ":" [] [Whitespace(" ")], - JS_STRING_LITERAL@205..211 "\"json\"" [] [], + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@188..195 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@195..197 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: JS_STRING_LITERAL@197..203 "\"type\"" [] [], + colon_token: COLON@203..205 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@205..211 "\"json\"" [] [], + }, COMMA@211..213 "," [] [Whitespace(" ")], - ], - }, - JsLabeledStatement { - label_token: IDENT@213..217 "type" [] [], - colon_token: COLON@217..219 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsSequenceExpression { - left: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@219..225 "\"html\"" [] [], - }, - comma_token: COMMA@225..227 "," [] [Whitespace(" ")], - right: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@227..233 "\"type\"" [] [], - }, + JsBogusImportAssertionEntry { + items: [ + IDENT@213..217 "type" [] [], + COLON@217..219 ":" [] [Whitespace(" ")], + JS_STRING_LITERAL@219..225 "\"html\"" [] [], + ], + }, + COMMA@225..227 "," [] [Whitespace(" ")], + JsBogusImportAssertionEntry { + items: [ + JS_STRING_LITERAL@227..233 "\"type\"" [] [], + COLON@233..235 ":" [] [Whitespace(" ")], + JS_STRING_LITERAL@235..240 "\"js\"" [] [Whitespace(" ")], + ], }, - semicolon_token: missing (optional), - }, - }, - JsBogusStatement { - items: [ - COLON@233..235 ":" [] [Whitespace(" ")], - JS_STRING_LITERAL@235..240 "\"js\"" [] [Whitespace(" ")], ], + r_curly_token: R_CURLY@240..241 "}" [] [], }, - ], - r_curly_token: R_CURLY@240..241 "}" [] [], - }, - JsEmptyStatement { + }, semicolon_token: SEMICOLON@241..242 ";" [] [], }, JsImport { @@ -237,14 +172,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@250..254 "\"x\"" [] [Whitespace(" ")], }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@254..260 "assert" [] [], + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@254..260 "assert" [] [], + l_curly_token: missing (required), + assertions: JsImportAssertionEntryList [], + r_curly_token: missing (required), }, }, semicolon_token: SEMICOLON@260..261 ";" [] [], @@ -260,53 +192,43 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@280..293 "\"ipsum.json\"" [] [Whitespace(" ")], }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@293..300 "assert" [] [Whitespace(" ")], - }, - }, - semicolon_token: missing (optional), - }, - JsBlockStatement { - l_curly_token: L_CURLY@300..302 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsLabeledStatement { - label_token: IDENT@302..306 "type" [] [], - colon_token: COLON@306..308 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsSequenceExpression { - left: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@308..314 "\"json\"" [] [], - }, - comma_token: COMMA@314..316 "," [] [Whitespace(" ")], - right: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@316..320 "lazy" [] [], - }, - }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@293..300 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@300..302 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@302..306 "type" [] [], + colon_token: COLON@306..308 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@308..314 "\"json\"" [] [], + }, + COMMA@314..316 "," [] [Whitespace(" ")], + JsImportAssertionEntry { + key: IDENT@316..320 "lazy" [] [], + colon_token: COLON@320..322 ":" [] [Whitespace(" ")], + value_token: missing (required), + }, + missing separator, + JsImportAssertionEntry { + key: IDENT@322..326 "true" [] [], + colon_token: missing (required), + value_token: missing (required), }, - semicolon_token: missing (optional), - }, - }, - JsBogusStatement { - items: [ - COLON@320..322 ":" [] [Whitespace(" ")], - TRUE_KW@322..326 "true" [] [], COMMA@326..328 "," [] [Whitespace(" ")], - IDENT@328..339 "startAtLine" [] [], - COLON@339..341 ":" [] [Whitespace(" ")], - JS_NUMBER_LITERAL@341..343 "1" [] [Whitespace(" ")], + JsImportAssertionEntry { + key: IDENT@328..339 "startAtLine" [] [], + colon_token: COLON@339..341 ":" [] [Whitespace(" ")], + value_token: missing (required), + }, + missing separator, + JsBogusImportAssertionEntry { + items: [ + JS_NUMBER_LITERAL@341..343 "1" [] [Whitespace(" ")], + ], + }, ], + r_curly_token: R_CURLY@343..344 "}" [] [], }, - ], - r_curly_token: R_CURLY@343..344 "}" [] [], - }, - JsEmptyStatement { + }, semicolon_token: SEMICOLON@344..345 ";" [] [], }, JsImport { @@ -330,14 +252,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@364..373 "\"a.json\"" [] [Whitespace(" ")], }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@373..379 "assert" [] [], + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@373..379 "assert" [] [], + l_curly_token: missing (required), + assertions: JsImportAssertionEntryList [], + r_curly_token: missing (required), }, }, semicolon_token: missing (optional), @@ -350,61 +269,44 @@ JsModule { 0: (empty) 1: JS_DIRECTIVE_LIST@0..0 2: JS_MODULE_ITEM_LIST@0..379 - 0: JS_IMPORT@0..13 + 0: JS_IMPORT@0..37 0: IMPORT_KW@0..7 "import" [] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@7..13 + 1: JS_IMPORT_BARE_CLAUSE@7..36 0: JS_MODULE_SOURCE@7..13 0: JS_STRING_LITERAL@7..13 "\"foo\"" [] [Whitespace(" ")] - 1: (empty) - 2: (empty) - 1: JS_EXPRESSION_STATEMENT@13..20 - 0: JS_IDENTIFIER_EXPRESSION@13..20 - 0: JS_REFERENCE_IDENTIFIER@13..20 - 0: IDENT@13..20 "assert" [] [Whitespace(" ")] - 1: (empty) - 2: JS_BLOCK_STATEMENT@20..36 - 0: L_CURLY@20..22 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@22..35 - 0: JS_EXPRESSION_STATEMENT@22..35 - 0: JS_SEQUENCE_EXPRESSION@22..35 - 0: JS_IDENTIFIER_EXPRESSION@22..26 - 0: JS_REFERENCE_IDENTIFIER@22..26 - 0: IDENT@22..26 "type" [] [] + 1: JS_IMPORT_ASSERTION@13..36 + 0: ASSERT_KW@13..20 "assert" [] [Whitespace(" ")] + 1: L_CURLY@20..22 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@22..35 + 0: JS_IMPORT_ASSERTION_ENTRY@22..26 + 0: IDENT@22..26 "type" [] [] + 1: (empty) + 2: (empty) 1: COMMA@26..28 "," [] [Whitespace(" ")] - 2: JS_STRING_LITERAL_EXPRESSION@28..35 + 2: JS_IMPORT_ASSERTION_ENTRY@28..35 0: JS_STRING_LITERAL@28..35 "\"json\"" [] [Whitespace(" ")] - 1: (empty) - 2: R_CURLY@35..36 "}" [] [] - 3: JS_EMPTY_STATEMENT@36..37 - 0: SEMICOLON@36..37 ";" [] [] - 4: JS_IMPORT@37..51 + 1: (empty) + 2: (empty) + 3: R_CURLY@35..36 "}" [] [] + 2: SEMICOLON@36..37 ";" [] [] + 1: JS_BOGUS_STATEMENT@37..80 0: IMPORT_KW@37..45 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@45..51 + 1: JS_BOGUS@45..79 0: JS_MODULE_SOURCE@45..51 0: JS_STRING_LITERAL@45..51 "\"bar\"" [] [Whitespace(" ")] - 1: (empty) - 2: (empty) - 5: JS_EXPRESSION_STATEMENT@51..63 - 0: JS_IDENTIFIER_EXPRESSION@51..63 - 0: JS_REFERENCE_IDENTIFIER@51..63 - 0: IDENT@51..63 "\\u{61}ssert" [] [Whitespace(" ")] - 1: (empty) - 6: JS_BLOCK_STATEMENT@63..79 - 0: L_CURLY@63..65 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@65..78 - 0: JS_LABELED_STATEMENT@65..78 - 0: IDENT@65..69 "type" [] [] - 1: COLON@69..71 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@71..78 - 0: JS_STRING_LITERAL_EXPRESSION@71..78 - 0: JS_STRING_LITERAL@71..78 "\"json\"" [] [Whitespace(" ")] - 1: (empty) - 2: R_CURLY@78..79 "}" [] [] - 7: JS_EMPTY_STATEMENT@79..80 - 0: SEMICOLON@79..80 ";" [] [] - 8: JS_IMPORT@80..96 + 1: JS_BOGUS@51..79 + 0: ERROR_TOKEN@51..63 "\\u{61}ssert" [] [Whitespace(" ")] + 1: L_CURLY@63..65 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@65..78 + 0: JS_IMPORT_ASSERTION_ENTRY@65..78 + 0: IDENT@65..69 "type" [] [] + 1: COLON@69..71 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@71..78 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@78..79 "}" [] [] + 2: SEMICOLON@79..80 ";" [] [] + 2: JS_IMPORT@80..120 0: IMPORT_KW@80..88 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_NAMED_CLAUSE@88..96 + 1: JS_IMPORT_NAMED_CLAUSE@88..119 0: (empty) 1: (empty) 2: JS_NAMED_IMPORT_SPECIFIERS@88..96 @@ -417,39 +319,29 @@ JsModule { 2: R_CURLY@94..96 "}" [] [Whitespace(" ")] 3: (empty) 4: (empty) - 5: (empty) - 2: (empty) - 9: JS_EXPRESSION_STATEMENT@96..103 - 0: JS_IDENTIFIER_EXPRESSION@96..103 - 0: JS_REFERENCE_IDENTIFIER@96..103 - 0: IDENT@96..103 "assert" [] [Whitespace(" ")] - 1: (empty) - 10: JS_BLOCK_STATEMENT@103..119 - 0: L_CURLY@103..105 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@105..118 - 0: JS_LABELED_STATEMENT@105..118 - 0: IDENT@105..109 "type" [] [] - 1: COLON@109..111 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@111..118 - 0: JS_STRING_LITERAL_EXPRESSION@111..118 - 0: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")] - 1: (empty) - 2: R_CURLY@118..119 "}" [] [] - 11: JS_EMPTY_STATEMENT@119..120 - 0: SEMICOLON@119..120 ";" [] [] - 12: JS_IMPORT@120..135 + 5: JS_IMPORT_ASSERTION@96..119 + 0: ASSERT_KW@96..103 "assert" [] [Whitespace(" ")] + 1: L_CURLY@103..105 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@105..118 + 0: JS_IMPORT_ASSERTION_ENTRY@105..118 + 0: IDENT@105..109 "type" [] [] + 1: COLON@109..111 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@118..119 "}" [] [] + 2: SEMICOLON@119..120 ";" [] [] + 3: JS_IMPORT@120..135 0: IMPORT_KW@120..128 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_BARE_CLAUSE@128..135 0: JS_MODULE_SOURCE@128..135 0: JS_STRING_LITERAL@128..135 "\"lorem\"" [] [] 1: (empty) 2: (empty) - 13: JS_EXPRESSION_STATEMENT@135..143 + 4: JS_EXPRESSION_STATEMENT@135..143 0: JS_IDENTIFIER_EXPRESSION@135..143 0: JS_REFERENCE_IDENTIFIER@135..143 0: IDENT@135..143 "assert" [Newline("\n")] [Whitespace(" ")] 1: (empty) - 14: JS_BLOCK_STATEMENT@143..159 + 5: JS_BLOCK_STATEMENT@143..159 0: L_CURLY@143..145 "{" [] [Whitespace(" ")] 1: JS_STATEMENT_LIST@145..158 0: JS_LABELED_STATEMENT@145..158 @@ -460,106 +352,86 @@ JsModule { 0: JS_STRING_LITERAL@151..158 "\"json\"" [] [Whitespace(" ")] 1: (empty) 2: R_CURLY@158..159 "}" [] [] - 15: JS_IMPORT@159..188 + 6: JS_IMPORT@159..242 0: IMPORT_KW@159..167 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_DEFAULT_CLAUSE@167..188 + 1: JS_IMPORT_DEFAULT_CLAUSE@167..241 0: (empty) 1: JS_IDENTIFIER_BINDING@167..172 0: IDENT@167..172 "foo2" [] [Whitespace(" ")] 2: FROM_KW@172..177 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@177..188 0: JS_STRING_LITERAL@177..188 "\"foo.json\"" [] [Whitespace(" ")] - 4: (empty) - 2: (empty) - 16: JS_EXPRESSION_STATEMENT@188..195 - 0: JS_IDENTIFIER_EXPRESSION@188..195 - 0: JS_REFERENCE_IDENTIFIER@188..195 - 0: IDENT@188..195 "assert" [] [Whitespace(" ")] - 1: (empty) - 17: JS_BLOCK_STATEMENT@195..241 - 0: L_CURLY@195..197 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@197..240 - 0: JS_EXPRESSION_STATEMENT@197..203 - 0: JS_STRING_LITERAL_EXPRESSION@197..203 - 0: JS_STRING_LITERAL@197..203 "\"type\"" [] [] - 1: (empty) - 1: JS_BOGUS_STATEMENT@203..213 - 0: COLON@203..205 ":" [] [Whitespace(" ")] - 1: JS_STRING_LITERAL@205..211 "\"json\"" [] [] - 2: COMMA@211..213 "," [] [Whitespace(" ")] - 2: JS_LABELED_STATEMENT@213..233 - 0: IDENT@213..217 "type" [] [] - 1: COLON@217..219 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@219..233 - 0: JS_SEQUENCE_EXPRESSION@219..233 - 0: JS_STRING_LITERAL_EXPRESSION@219..225 - 0: JS_STRING_LITERAL@219..225 "\"html\"" [] [] - 1: COMMA@225..227 "," [] [Whitespace(" ")] - 2: JS_STRING_LITERAL_EXPRESSION@227..233 - 0: JS_STRING_LITERAL@227..233 "\"type\"" [] [] - 1: (empty) - 3: JS_BOGUS_STATEMENT@233..240 - 0: COLON@233..235 ":" [] [Whitespace(" ")] - 1: JS_STRING_LITERAL@235..240 "\"js\"" [] [Whitespace(" ")] - 2: R_CURLY@240..241 "}" [] [] - 18: JS_EMPTY_STATEMENT@241..242 - 0: SEMICOLON@241..242 ";" [] [] - 19: JS_IMPORT@242..254 + 4: JS_IMPORT_ASSERTION@188..241 + 0: ASSERT_KW@188..195 "assert" [] [Whitespace(" ")] + 1: L_CURLY@195..197 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@197..240 + 0: JS_IMPORT_ASSERTION_ENTRY@197..211 + 0: JS_STRING_LITERAL@197..203 "\"type\"" [] [] + 1: COLON@203..205 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@205..211 "\"json\"" [] [] + 1: COMMA@211..213 "," [] [Whitespace(" ")] + 2: JS_BOGUS_IMPORT_ASSERTION_ENTRY@213..225 + 0: IDENT@213..217 "type" [] [] + 1: COLON@217..219 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@219..225 "\"html\"" [] [] + 3: COMMA@225..227 "," [] [Whitespace(" ")] + 4: JS_BOGUS_IMPORT_ASSERTION_ENTRY@227..240 + 0: JS_STRING_LITERAL@227..233 "\"type\"" [] [] + 1: COLON@233..235 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@235..240 "\"js\"" [] [Whitespace(" ")] + 3: R_CURLY@240..241 "}" [] [] + 2: SEMICOLON@241..242 ";" [] [] + 7: JS_IMPORT@242..261 0: IMPORT_KW@242..250 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@250..254 + 1: JS_IMPORT_BARE_CLAUSE@250..260 0: JS_MODULE_SOURCE@250..254 0: JS_STRING_LITERAL@250..254 "\"x\"" [] [Whitespace(" ")] - 1: (empty) - 2: (empty) - 20: JS_EXPRESSION_STATEMENT@254..261 - 0: JS_IDENTIFIER_EXPRESSION@254..260 - 0: JS_REFERENCE_IDENTIFIER@254..260 - 0: IDENT@254..260 "assert" [] [] - 1: SEMICOLON@260..261 ";" [] [] - 21: JS_IMPORT@261..293 + 1: JS_IMPORT_ASSERTION@254..260 + 0: ASSERT_KW@254..260 "assert" [] [] + 1: (empty) + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@260..260 + 3: (empty) + 2: SEMICOLON@260..261 ";" [] [] + 8: JS_IMPORT@261..345 0: IMPORT_KW@261..269 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_DEFAULT_CLAUSE@269..293 + 1: JS_IMPORT_DEFAULT_CLAUSE@269..344 0: (empty) 1: JS_IDENTIFIER_BINDING@269..275 0: IDENT@269..275 "ipsum" [] [Whitespace(" ")] 2: FROM_KW@275..280 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@280..293 0: JS_STRING_LITERAL@280..293 "\"ipsum.json\"" [] [Whitespace(" ")] - 4: (empty) - 2: (empty) - 22: JS_EXPRESSION_STATEMENT@293..300 - 0: JS_IDENTIFIER_EXPRESSION@293..300 - 0: JS_REFERENCE_IDENTIFIER@293..300 - 0: IDENT@293..300 "assert" [] [Whitespace(" ")] - 1: (empty) - 23: JS_BLOCK_STATEMENT@300..344 - 0: L_CURLY@300..302 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@302..343 - 0: JS_LABELED_STATEMENT@302..320 - 0: IDENT@302..306 "type" [] [] - 1: COLON@306..308 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@308..320 - 0: JS_SEQUENCE_EXPRESSION@308..320 - 0: JS_STRING_LITERAL_EXPRESSION@308..314 - 0: JS_STRING_LITERAL@308..314 "\"json\"" [] [] - 1: COMMA@314..316 "," [] [Whitespace(" ")] - 2: JS_IDENTIFIER_EXPRESSION@316..320 - 0: JS_REFERENCE_IDENTIFIER@316..320 - 0: IDENT@316..320 "lazy" [] [] - 1: (empty) - 1: JS_BOGUS_STATEMENT@320..343 - 0: COLON@320..322 ":" [] [Whitespace(" ")] - 1: TRUE_KW@322..326 "true" [] [] - 2: COMMA@326..328 "," [] [Whitespace(" ")] - 3: IDENT@328..339 "startAtLine" [] [] - 4: COLON@339..341 ":" [] [Whitespace(" ")] - 5: JS_NUMBER_LITERAL@341..343 "1" [] [Whitespace(" ")] - 2: R_CURLY@343..344 "}" [] [] - 24: JS_EMPTY_STATEMENT@344..345 - 0: SEMICOLON@344..345 ";" [] [] - 25: JS_IMPORT@345..373 + 4: JS_IMPORT_ASSERTION@293..344 + 0: ASSERT_KW@293..300 "assert" [] [Whitespace(" ")] + 1: L_CURLY@300..302 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@302..343 + 0: JS_IMPORT_ASSERTION_ENTRY@302..314 + 0: IDENT@302..306 "type" [] [] + 1: COLON@306..308 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@308..314 "\"json\"" [] [] + 1: COMMA@314..316 "," [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY@316..322 + 0: IDENT@316..320 "lazy" [] [] + 1: COLON@320..322 ":" [] [Whitespace(" ")] + 2: (empty) + 3: (empty) + 4: JS_IMPORT_ASSERTION_ENTRY@322..326 + 0: IDENT@322..326 "true" [] [] + 1: (empty) + 2: (empty) + 5: COMMA@326..328 "," [] [Whitespace(" ")] + 6: JS_IMPORT_ASSERTION_ENTRY@328..341 + 0: IDENT@328..339 "startAtLine" [] [] + 1: COLON@339..341 ":" [] [Whitespace(" ")] + 2: (empty) + 7: (empty) + 8: JS_BOGUS_IMPORT_ASSERTION_ENTRY@341..343 + 0: JS_NUMBER_LITERAL@341..343 "1" [] [Whitespace(" ")] + 3: R_CURLY@343..344 "}" [] [] + 2: SEMICOLON@344..345 ";" [] [] + 9: JS_IMPORT@345..379 0: IMPORT_KW@345..353 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_NAMED_CLAUSE@353..373 + 1: JS_IMPORT_NAMED_CLAUSE@353..379 0: (empty) 1: (empty) 2: JS_NAMED_IMPORT_SPECIFIERS@353..359 @@ -573,66 +445,41 @@ JsModule { 3: FROM_KW@359..364 "from" [] [Whitespace(" ")] 4: JS_MODULE_SOURCE@364..373 0: JS_STRING_LITERAL@364..373 "\"a.json\"" [] [Whitespace(" ")] - 5: (empty) + 5: JS_IMPORT_ASSERTION@373..379 + 0: ASSERT_KW@373..379 "assert" [] [] + 1: (empty) + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@379..379 + 3: (empty) 2: (empty) - 26: JS_EXPRESSION_STATEMENT@373..379 - 0: JS_IDENTIFIER_EXPRESSION@373..379 - 0: JS_REFERENCE_IDENTIFIER@373..379 - 0: IDENT@373..379 "assert" [] [] - 1: (empty) 3: EOF@379..380 "" [Newline("\n")] [] -- -import_assertion_err.js:1:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:1:27 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × expected `:` but instead found `,` > 1 │ import "foo" assert { type, "json" }; - │ ^^^^^^ + │ ^ 2 │ import "bar" \u{61}ssert { type: "json" }; 3 │ import { foo } assert { type: "json" }; - i An explicit or implicit semicolon is expected here... - - > 1 │ import "foo" assert { type, "json" }; - │ ^^^^^^ - 2 │ import "bar" \u{61}ssert { type: "json" }; - 3 │ import { foo } assert { type: "json" }; - - i ...Which is required to end this statement - - > 1 │ import "foo" assert { type, "json" }; - │ ^^^^^^^^^^^^^ - 2 │ import "bar" \u{61}ssert { type: "json" }; - 3 │ import { foo } assert { type: "json" }; + i Remove , -- -import_assertion_err.js:1:21 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:1:36 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × expected `:` but instead found `}` > 1 │ import "foo" assert { type, "json" }; - │ ^ - 2 │ import "bar" \u{61}ssert { type: "json" }; - 3 │ import { foo } assert { type: "json" }; - - i An explicit or implicit semicolon is expected here... - - > 1 │ import "foo" assert { type, "json" }; - │ ^ + │ ^ 2 │ import "bar" \u{61}ssert { type: "json" }; 3 │ import { foo } assert { type: "json" }; - i ...Which is required to end this statement - - > 1 │ import "foo" assert { type, "json" }; - │ ^^^^^^^^ - 2 │ import "bar" \u{61}ssert { type: "json" }; - 3 │ import { foo } assert { type: "json" }; + i Remove } -- import_assertion_err.js:2:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × 'assert' keyword cannot contain escape character. 1 │ import "foo" assert { type, "json" }; > 2 │ import "bar" \u{61}ssert { type: "json" }; @@ -640,49 +487,6 @@ import_assertion_err.js:2:14 parse ━━━━━━━━━━━━━━━ 3 │ import { foo } assert { type: "json" }; 4 │ import "lorem" - i An explicit or implicit semicolon is expected here... - - 1 │ import "foo" assert { type, "json" }; - > 2 │ import "bar" \u{61}ssert { type: "json" }; - │ ^^^^^^^^^^^ - 3 │ import { foo } assert { type: "json" }; - 4 │ import "lorem" - - i ...Which is required to end this statement - - 1 │ import "foo" assert { type, "json" }; - > 2 │ import "bar" \u{61}ssert { type: "json" }; - │ ^^^^^^^^^^^^^ - 3 │ import { foo } assert { type: "json" }; - 4 │ import "lorem" - --- -import_assertion_err.js:2:26 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ import "foo" assert { type, "json" }; - > 2 │ import "bar" \u{61}ssert { type: "json" }; - │ ^ - 3 │ import { foo } assert { type: "json" }; - 4 │ import "lorem" - - i An explicit or implicit semicolon is expected here... - - 1 │ import "foo" assert { type, "json" }; - > 2 │ import "bar" \u{61}ssert { type: "json" }; - │ ^ - 3 │ import { foo } assert { type: "json" }; - 4 │ import "lorem" - - i ...Which is required to end this statement - - 1 │ import "foo" assert { type, "json" }; - > 2 │ import "bar" \u{61}ssert { type: "json" }; - │ ^^^^^^^^^^^^^ - 3 │ import { foo } assert { type: "json" }; - 4 │ import "lorem" - -- import_assertion_err.js:3:16 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -697,36 +501,6 @@ import_assertion_err.js:3:16 parse ━━━━━━━━━━━━━━━ i Remove assert --- -import_assertion_err.js:3:23 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ import "foo" assert { type, "json" }; - 2 │ import "bar" \u{61}ssert { type: "json" }; - > 3 │ import { foo } assert { type: "json" }; - │ ^ - 4 │ import "lorem" - 5 │ assert { type: "json" } - - i An explicit or implicit semicolon is expected here... - - 1 │ import "foo" assert { type, "json" }; - 2 │ import "bar" \u{61}ssert { type: "json" }; - > 3 │ import { foo } assert { type: "json" }; - │ ^ - 4 │ import "lorem" - 5 │ assert { type: "json" } - - i ...Which is required to end this statement - - 1 │ import "foo" assert { type, "json" }; - 2 │ import "bar" \u{61}ssert { type: "json" }; - > 3 │ import { foo } assert { type: "json" }; - │ ^^^^^^^^ - 4 │ import "lorem" - 5 │ assert { type: "json" } - -- import_assertion_err.js:5:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -758,271 +532,107 @@ import_assertion_err.js:5:8 parse ━━━━━━━━━━━━━━━ 7 │ import "x" assert; -- -import_assertion_err.js:6:29 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i An explicit or implicit semicolon is expected here... - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i ...Which is required to end this statement - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - --- -import_assertion_err.js:6:36 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i An explicit or implicit semicolon is expected here... - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i ...Which is required to end this statement - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^^^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - --- -import_assertion_err.js:6:44 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i An explicit or implicit semicolon is expected here... - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - - i ...Which is required to end this statement - - 4 │ import "lorem" - 5 │ assert { type: "json" } - > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^^ - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - --- -import_assertion_err.js:6:74 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:6:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × Duplicate assertion keys are not allowed 4 │ import "lorem" 5 │ assert { type: "json" } > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ + │ ^^^^^^ 7 │ import "x" assert; 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - i An explicit or implicit semicolon is expected here... + i First use of the key `type` 4 │ import "lorem" 5 │ assert { type: "json" } > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^ + │ ^^^^^^ 7 │ import "x" assert; 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - i ...Which is required to end this statement + i second use here 4 │ import "lorem" 5 │ assert { type: "json" } > 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - │ ^^^^^^^^^^^^^^^ + │ ^^^^ 7 │ import "x" assert; 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; -- -import_assertion_err.js:7:12 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:7:18 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × expected `{` but instead found `;` 5 │ assert { type: "json" } 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; > 7 │ import "x" assert; - │ ^^^^^^ + │ ^ 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; 9 │ import { a } from "a.json" assert - i An explicit or implicit semicolon is expected here... - - 5 │ assert { type: "json" } - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - > 7 │ import "x" assert; - │ ^^^^^^ - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - 9 │ import { a } from "a.json" assert - - i ...Which is required to end this statement - - 5 │ assert { type: "json" } - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - > 7 │ import "x" assert; - │ ^^^^^^^^^^^ - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - 9 │ import { a } from "a.json" assert + i Remove ; -- -import_assertion_err.js:8:32 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:8:61 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^^^ - 9 │ import { a } from "a.json" assert - 10 │ - - i An explicit or implicit semicolon is expected here... + × expected `string literal` but instead found `true` 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; 7 │ import "x" assert; > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^^^ + │ ^^^^ 9 │ import { a } from "a.json" assert 10 │ - i ...Which is required to end this statement - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 9 │ import { a } from "a.json" assert - 10 │ + i Remove true -- -import_assertion_err.js:8:39 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:8:65 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^ - 9 │ import { a } from "a.json" assert - 10 │ - - i An explicit or implicit semicolon is expected here... + × expected `:` but instead found `,` 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; 7 │ import "x" assert; > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^ + │ ^ 9 │ import { a } from "a.json" assert 10 │ - i ...Which is required to end this statement - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^^^^^ - 9 │ import { a } from "a.json" assert - 10 │ + i Remove , -- -import_assertion_err.js:8:59 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:8:80 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × expected `string literal` but instead found `1` 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; 7 │ import "x" assert; > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^ + │ ^ 9 │ import { a } from "a.json" assert 10 │ - i An explicit or implicit semicolon is expected here... - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^ - 9 │ import { a } from "a.json" assert - 10 │ - - i ...Which is required to end this statement - - 6 │ import foo2 from "foo.json" assert { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" assert; - > 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^^^^^^^^^^ - 9 │ import { a } from "a.json" assert - 10 │ + i Remove 1 -- -import_assertion_err.js:9:28 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_assertion_err.js:10:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none + × expected `{` but instead the file ends - 7 │ import "x" assert; 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - > 9 │ import { a } from "a.json" assert - │ ^^^^^^ - 10 │ - - i An explicit or implicit semicolon is expected here... - - 7 │ import "x" assert; - 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - > 9 │ import { a } from "a.json" assert - │ ^^^^^^ - 10 │ + 9 │ import { a } from "a.json" assert + > 10 │ + │ - i ...Which is required to end this statement + i the file ends here - 7 │ import "x" assert; 8 │ import ipsum from "ipsum.json" assert { type: "json", lazy: true, startAtLine: 1 }; - > 9 │ import { a } from "a.json" assert - │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 10 │ + 9 │ import { a } from "a.json" assert + > 10 │ + │ -- import "foo" assert { type, "json" }; diff --git a/crates/rome_js_parser/test_data/inline/err/import_attribute_err.js b/crates/rome_js_parser/test_data/inline/err/import_attribute_err.js index d3f26f98235..07ad6c8c1e9 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_attribute_err.js +++ b/crates/rome_js_parser/test_data/inline/err/import_attribute_err.js @@ -1,8 +1,7 @@ import "foo" with { type, "json" }; -import "bar" \u{61}ith { type: "json" }; import { foo } with { type: "json" }; import "lorem" -with { type: "json" } +assert { type: "json" } import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; import "x" with; import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; diff --git a/crates/rome_js_parser/test_data/inline/err/import_attribute_err.rast b/crates/rome_js_parser/test_data/inline/err/import_attribute_err.rast index 9eb1fa06ba3..9742aaaf415 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_attribute_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/import_attribute_err.rast @@ -8,17 +8,17 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@7..13 "\"foo\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@13..18 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@13..18 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@18..20 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@20..24 "type" [] [], colon_token: missing (required), value_token: missing (required), }, COMMA@24..26 "," [] [Whitespace(" ")], - JsImportAttributeEntry { + JsImportAssertionEntry { key: JS_STRING_LITERAL@26..33 "\"json\"" [] [Whitespace(" ")], colon_token: missing (required), value_token: missing (required), @@ -31,441 +31,385 @@ JsModule { }, JsImport { import_token: IMPORT_KW@35..43 "import" [Newline("\n")] [Whitespace(" ")], - import_clause: JsImportBareClause { - source: JsModuleSource { - value_token: JS_STRING_LITERAL@43..49 "\"bar\"" [] [Whitespace(" ")], - }, - attribute: missing (optional), - }, - semicolon_token: missing (optional), - }, - JsExpressionStatement { - expression: JsIdentifierExpression { - name: JsReferenceIdentifier { - value_token: IDENT@49..59 "\\u{61}ith" [] [Whitespace(" ")], - }, - }, - semicolon_token: missing (optional), - }, - JsBlockStatement { - l_curly_token: L_CURLY@59..61 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsLabeledStatement { - label_token: IDENT@61..65 "type" [] [], - colon_token: COLON@65..67 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@67..74 "\"json\"" [] [Whitespace(" ")], - }, - semicolon_token: missing (optional), - }, - }, - ], - r_curly_token: R_CURLY@74..75 "}" [] [], - }, - JsEmptyStatement { - semicolon_token: SEMICOLON@75..76 ";" [] [], - }, - JsImport { - import_token: IMPORT_KW@76..84 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportNamedClause { type_token: missing (optional), default_specifier: missing (optional), named_import: JsNamedImportSpecifiers { - l_curly_token: L_CURLY@84..86 "{" [] [Whitespace(" ")], + l_curly_token: L_CURLY@43..45 "{" [] [Whitespace(" ")], specifiers: JsNamedImportSpecifierList [ JsShorthandNamedImportSpecifier { type_token: missing (optional), local_name: JsIdentifierBinding { - name_token: IDENT@86..90 "foo" [] [Whitespace(" ")], + name_token: IDENT@45..49 "foo" [] [Whitespace(" ")], }, }, ], - r_curly_token: R_CURLY@90..92 "}" [] [Whitespace(" ")], + r_curly_token: R_CURLY@49..51 "}" [] [Whitespace(" ")], }, from_token: missing (required), source: missing (required), - attribute: JsImportAttribute { - with_token: WITH_KW@92..97 "with" [] [Whitespace(" ")], - l_curly_token: L_CURLY@97..99 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { - key: IDENT@99..103 "type" [] [], - colon_token: COLON@103..105 ":" [] [Whitespace(" ")], - value_token: JS_STRING_LITERAL@105..112 "\"json\"" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@51..56 "with" [] [Whitespace(" ")], + l_curly_token: L_CURLY@56..58 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@58..62 "type" [] [], + colon_token: COLON@62..64 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@64..71 "\"json\"" [] [Whitespace(" ")], }, ], - r_curly_token: R_CURLY@112..113 "}" [] [], + r_curly_token: R_CURLY@71..72 "}" [] [], }, }, - semicolon_token: SEMICOLON@113..114 ";" [] [], + semicolon_token: SEMICOLON@72..73 ";" [] [], }, JsImport { - import_token: IMPORT_KW@114..122 "import" [Newline("\n")] [Whitespace(" ")], + import_token: IMPORT_KW@73..81 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportBareClause { source: JsModuleSource { - value_token: JS_STRING_LITERAL@122..129 "\"lorem\"" [] [], + value_token: JS_STRING_LITERAL@81..88 "\"lorem\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, - JsBogusStatement { - items: [ - WITH_KW@129..135 "with" [Newline("\n")] [Whitespace(" ")], - JsBlockStatement { - l_curly_token: L_CURLY@135..137 "{" [] [Whitespace(" ")], - statements: JsStatementList [ - JsLabeledStatement { - label_token: IDENT@137..141 "type" [] [], - colon_token: COLON@141..143 ":" [] [Whitespace(" ")], - body: JsExpressionStatement { - expression: JsStringLiteralExpression { - value_token: JS_STRING_LITERAL@143..150 "\"json\"" [] [Whitespace(" ")], - }, - semicolon_token: missing (optional), - }, + JsExpressionStatement { + expression: JsIdentifierExpression { + name: JsReferenceIdentifier { + value_token: IDENT@88..96 "assert" [Newline("\n")] [Whitespace(" ")], + }, + }, + semicolon_token: missing (optional), + }, + JsBlockStatement { + l_curly_token: L_CURLY@96..98 "{" [] [Whitespace(" ")], + statements: JsStatementList [ + JsLabeledStatement { + label_token: IDENT@98..102 "type" [] [], + colon_token: COLON@102..104 ":" [] [Whitespace(" ")], + body: JsExpressionStatement { + expression: JsStringLiteralExpression { + value_token: JS_STRING_LITERAL@104..111 "\"json\"" [] [Whitespace(" ")], }, - ], - r_curly_token: R_CURLY@150..151 "}" [] [], + semicolon_token: missing (optional), + }, }, ], + r_curly_token: R_CURLY@111..112 "}" [] [], }, JsImport { - import_token: IMPORT_KW@151..159 "import" [Newline("\n")] [Whitespace(" ")], + import_token: IMPORT_KW@112..120 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportDefaultClause { type_token: missing (optional), local_name: JsIdentifierBinding { - name_token: IDENT@159..164 "foo2" [] [Whitespace(" ")], + name_token: IDENT@120..125 "foo2" [] [Whitespace(" ")], }, - from_token: FROM_KW@164..169 "from" [] [Whitespace(" ")], + from_token: FROM_KW@125..130 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@169..180 "\"foo.json\"" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@130..141 "\"foo.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@180..185 "with" [] [Whitespace(" ")], - l_curly_token: L_CURLY@185..187 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { - key: JS_STRING_LITERAL@187..193 "\"type\"" [] [], - colon_token: COLON@193..195 ":" [] [Whitespace(" ")], - value_token: JS_STRING_LITERAL@195..201 "\"json\"" [] [], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@141..146 "with" [] [Whitespace(" ")], + l_curly_token: L_CURLY@146..148 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: JS_STRING_LITERAL@148..154 "\"type\"" [] [], + colon_token: COLON@154..156 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@156..162 "\"json\"" [] [], }, - COMMA@201..203 "," [] [Whitespace(" ")], - JsBogusImportAttributeEntry { + COMMA@162..164 "," [] [Whitespace(" ")], + JsBogusImportAssertionEntry { items: [ - IDENT@203..207 "type" [] [], - COLON@207..209 ":" [] [Whitespace(" ")], - JS_STRING_LITERAL@209..215 "\"html\"" [] [], + IDENT@164..168 "type" [] [], + COLON@168..170 ":" [] [Whitespace(" ")], + JS_STRING_LITERAL@170..176 "\"html\"" [] [], ], }, - COMMA@215..217 "," [] [Whitespace(" ")], - JsBogusImportAttributeEntry { + COMMA@176..178 "," [] [Whitespace(" ")], + JsBogusImportAssertionEntry { items: [ - JS_STRING_LITERAL@217..223 "\"type\"" [] [], - COLON@223..225 ":" [] [Whitespace(" ")], - JS_STRING_LITERAL@225..230 "\"js\"" [] [Whitespace(" ")], + JS_STRING_LITERAL@178..184 "\"type\"" [] [], + COLON@184..186 ":" [] [Whitespace(" ")], + JS_STRING_LITERAL@186..191 "\"js\"" [] [Whitespace(" ")], ], }, ], - r_curly_token: R_CURLY@230..231 "}" [] [], + r_curly_token: R_CURLY@191..192 "}" [] [], }, }, - semicolon_token: SEMICOLON@231..232 ";" [] [], + semicolon_token: SEMICOLON@192..193 ";" [] [], }, JsImport { - import_token: IMPORT_KW@232..240 "import" [Newline("\n")] [Whitespace(" ")], + import_token: IMPORT_KW@193..201 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportBareClause { source: JsModuleSource { - value_token: JS_STRING_LITERAL@240..244 "\"x\"" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@201..205 "\"x\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@244..248 "with" [] [], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@205..209 "with" [] [], l_curly_token: missing (required), - attributes: JsImportAttributeEntryList [], + assertions: JsImportAssertionEntryList [], r_curly_token: missing (required), }, }, - semicolon_token: SEMICOLON@248..249 ";" [] [], + semicolon_token: SEMICOLON@209..210 ";" [] [], }, JsImport { - import_token: IMPORT_KW@249..257 "import" [Newline("\n")] [Whitespace(" ")], + import_token: IMPORT_KW@210..218 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportDefaultClause { type_token: missing (optional), local_name: JsIdentifierBinding { - name_token: IDENT@257..263 "ipsum" [] [Whitespace(" ")], + name_token: IDENT@218..224 "ipsum" [] [Whitespace(" ")], }, - from_token: FROM_KW@263..268 "from" [] [Whitespace(" ")], + from_token: FROM_KW@224..229 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@268..281 "\"ipsum.json\"" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@229..242 "\"ipsum.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@281..286 "with" [] [Whitespace(" ")], - l_curly_token: L_CURLY@286..288 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { - key: IDENT@288..292 "type" [] [], - colon_token: COLON@292..294 ":" [] [Whitespace(" ")], - value_token: JS_STRING_LITERAL@294..300 "\"json\"" [] [], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@242..247 "with" [] [Whitespace(" ")], + l_curly_token: L_CURLY@247..249 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@249..253 "type" [] [], + colon_token: COLON@253..255 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@255..261 "\"json\"" [] [], }, - COMMA@300..302 "," [] [Whitespace(" ")], - JsImportAttributeEntry { - key: IDENT@302..306 "lazy" [] [], - colon_token: COLON@306..308 ":" [] [Whitespace(" ")], + COMMA@261..263 "," [] [Whitespace(" ")], + JsImportAssertionEntry { + key: IDENT@263..267 "lazy" [] [], + colon_token: COLON@267..269 ":" [] [Whitespace(" ")], value_token: missing (required), }, missing separator, - JsImportAttributeEntry { - key: IDENT@308..312 "true" [] [], + JsImportAssertionEntry { + key: IDENT@269..273 "true" [] [], colon_token: missing (required), value_token: missing (required), }, - COMMA@312..314 "," [] [Whitespace(" ")], - JsImportAttributeEntry { - key: IDENT@314..325 "startAtLine" [] [], - colon_token: COLON@325..327 ":" [] [Whitespace(" ")], + COMMA@273..275 "," [] [Whitespace(" ")], + JsImportAssertionEntry { + key: IDENT@275..286 "startAtLine" [] [], + colon_token: COLON@286..288 ":" [] [Whitespace(" ")], value_token: missing (required), }, missing separator, - JsBogusImportAttributeEntry { + JsBogusImportAssertionEntry { items: [ - JS_NUMBER_LITERAL@327..329 "1" [] [Whitespace(" ")], + JS_NUMBER_LITERAL@288..290 "1" [] [Whitespace(" ")], ], }, ], - r_curly_token: R_CURLY@329..330 "}" [] [], + r_curly_token: R_CURLY@290..291 "}" [] [], }, }, - semicolon_token: SEMICOLON@330..331 ";" [] [], + semicolon_token: SEMICOLON@291..292 ";" [] [], }, JsImport { - import_token: IMPORT_KW@331..339 "import" [Newline("\n")] [Whitespace(" ")], + import_token: IMPORT_KW@292..300 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportNamedClause { type_token: missing (optional), default_specifier: missing (optional), named_import: JsNamedImportSpecifiers { - l_curly_token: L_CURLY@339..341 "{" [] [Whitespace(" ")], + l_curly_token: L_CURLY@300..302 "{" [] [Whitespace(" ")], specifiers: JsNamedImportSpecifierList [ JsShorthandNamedImportSpecifier { type_token: missing (optional), local_name: JsIdentifierBinding { - name_token: IDENT@341..343 "a" [] [Whitespace(" ")], + name_token: IDENT@302..304 "a" [] [Whitespace(" ")], }, }, ], - r_curly_token: R_CURLY@343..345 "}" [] [Whitespace(" ")], + r_curly_token: R_CURLY@304..306 "}" [] [Whitespace(" ")], }, - from_token: FROM_KW@345..350 "from" [] [Whitespace(" ")], + from_token: FROM_KW@306..311 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@350..359 "\"a.json\"" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@311..320 "\"a.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@359..363 "with" [] [], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@320..324 "with" [] [], l_curly_token: missing (required), - attributes: JsImportAttributeEntryList [], + assertions: JsImportAssertionEntryList [], r_curly_token: missing (required), }, }, semicolon_token: missing (optional), }, ], - eof_token: EOF@363..364 "" [Newline("\n")] [], + eof_token: EOF@324..325 "" [Newline("\n")] [], } -0: JS_MODULE@0..364 +0: JS_MODULE@0..325 0: (empty) 1: JS_DIRECTIVE_LIST@0..0 - 2: JS_MODULE_ITEM_LIST@0..363 + 2: JS_MODULE_ITEM_LIST@0..324 0: JS_IMPORT@0..35 0: IMPORT_KW@0..7 "import" [] [Whitespace(" ")] 1: JS_IMPORT_BARE_CLAUSE@7..34 0: JS_MODULE_SOURCE@7..13 0: JS_STRING_LITERAL@7..13 "\"foo\"" [] [Whitespace(" ")] - 1: JS_IMPORT_ATTRIBUTE@13..34 + 1: JS_IMPORT_ASSERTION@13..34 0: WITH_KW@13..18 "with" [] [Whitespace(" ")] 1: L_CURLY@18..20 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@20..33 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@20..24 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@20..33 + 0: JS_IMPORT_ASSERTION_ENTRY@20..24 0: IDENT@20..24 "type" [] [] 1: (empty) 2: (empty) 1: COMMA@24..26 "," [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY@26..33 + 2: JS_IMPORT_ASSERTION_ENTRY@26..33 0: JS_STRING_LITERAL@26..33 "\"json\"" [] [Whitespace(" ")] 1: (empty) 2: (empty) 3: R_CURLY@33..34 "}" [] [] 2: SEMICOLON@34..35 ";" [] [] - 1: JS_IMPORT@35..49 + 1: JS_IMPORT@35..73 0: IMPORT_KW@35..43 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@43..49 - 0: JS_MODULE_SOURCE@43..49 - 0: JS_STRING_LITERAL@43..49 "\"bar\"" [] [Whitespace(" ")] - 1: (empty) - 2: (empty) - 2: JS_EXPRESSION_STATEMENT@49..59 - 0: JS_IDENTIFIER_EXPRESSION@49..59 - 0: JS_REFERENCE_IDENTIFIER@49..59 - 0: IDENT@49..59 "\\u{61}ith" [] [Whitespace(" ")] - 1: (empty) - 3: JS_BLOCK_STATEMENT@59..75 - 0: L_CURLY@59..61 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@61..74 - 0: JS_LABELED_STATEMENT@61..74 - 0: IDENT@61..65 "type" [] [] - 1: COLON@65..67 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@67..74 - 0: JS_STRING_LITERAL_EXPRESSION@67..74 - 0: JS_STRING_LITERAL@67..74 "\"json\"" [] [Whitespace(" ")] - 1: (empty) - 2: R_CURLY@74..75 "}" [] [] - 4: JS_EMPTY_STATEMENT@75..76 - 0: SEMICOLON@75..76 ";" [] [] - 5: JS_IMPORT@76..114 - 0: IMPORT_KW@76..84 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_NAMED_CLAUSE@84..113 + 1: JS_IMPORT_NAMED_CLAUSE@43..72 0: (empty) 1: (empty) - 2: JS_NAMED_IMPORT_SPECIFIERS@84..92 - 0: L_CURLY@84..86 "{" [] [Whitespace(" ")] - 1: JS_NAMED_IMPORT_SPECIFIER_LIST@86..90 - 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@86..90 + 2: JS_NAMED_IMPORT_SPECIFIERS@43..51 + 0: L_CURLY@43..45 "{" [] [Whitespace(" ")] + 1: JS_NAMED_IMPORT_SPECIFIER_LIST@45..49 + 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@45..49 0: (empty) - 1: JS_IDENTIFIER_BINDING@86..90 - 0: IDENT@86..90 "foo" [] [Whitespace(" ")] - 2: R_CURLY@90..92 "}" [] [Whitespace(" ")] + 1: JS_IDENTIFIER_BINDING@45..49 + 0: IDENT@45..49 "foo" [] [Whitespace(" ")] + 2: R_CURLY@49..51 "}" [] [Whitespace(" ")] 3: (empty) 4: (empty) - 5: JS_IMPORT_ATTRIBUTE@92..113 - 0: WITH_KW@92..97 "with" [] [Whitespace(" ")] - 1: L_CURLY@97..99 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@99..112 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@99..112 - 0: IDENT@99..103 "type" [] [] - 1: COLON@103..105 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@105..112 "\"json\"" [] [Whitespace(" ")] - 3: R_CURLY@112..113 "}" [] [] - 2: SEMICOLON@113..114 ";" [] [] - 6: JS_IMPORT@114..129 - 0: IMPORT_KW@114..122 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@122..129 - 0: JS_MODULE_SOURCE@122..129 - 0: JS_STRING_LITERAL@122..129 "\"lorem\"" [] [] + 5: JS_IMPORT_ASSERTION@51..72 + 0: WITH_KW@51..56 "with" [] [Whitespace(" ")] + 1: L_CURLY@56..58 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@58..71 + 0: JS_IMPORT_ASSERTION_ENTRY@58..71 + 0: IDENT@58..62 "type" [] [] + 1: COLON@62..64 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@64..71 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@71..72 "}" [] [] + 2: SEMICOLON@72..73 ";" [] [] + 2: JS_IMPORT@73..88 + 0: IMPORT_KW@73..81 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_BARE_CLAUSE@81..88 + 0: JS_MODULE_SOURCE@81..88 + 0: JS_STRING_LITERAL@81..88 "\"lorem\"" [] [] 1: (empty) 2: (empty) - 7: JS_BOGUS_STATEMENT@129..151 - 0: WITH_KW@129..135 "with" [Newline("\n")] [Whitespace(" ")] - 1: JS_BLOCK_STATEMENT@135..151 - 0: L_CURLY@135..137 "{" [] [Whitespace(" ")] - 1: JS_STATEMENT_LIST@137..150 - 0: JS_LABELED_STATEMENT@137..150 - 0: IDENT@137..141 "type" [] [] - 1: COLON@141..143 ":" [] [Whitespace(" ")] - 2: JS_EXPRESSION_STATEMENT@143..150 - 0: JS_STRING_LITERAL_EXPRESSION@143..150 - 0: JS_STRING_LITERAL@143..150 "\"json\"" [] [Whitespace(" ")] - 1: (empty) - 2: R_CURLY@150..151 "}" [] [] - 8: JS_IMPORT@151..232 - 0: IMPORT_KW@151..159 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_DEFAULT_CLAUSE@159..231 + 3: JS_EXPRESSION_STATEMENT@88..96 + 0: JS_IDENTIFIER_EXPRESSION@88..96 + 0: JS_REFERENCE_IDENTIFIER@88..96 + 0: IDENT@88..96 "assert" [Newline("\n")] [Whitespace(" ")] + 1: (empty) + 4: JS_BLOCK_STATEMENT@96..112 + 0: L_CURLY@96..98 "{" [] [Whitespace(" ")] + 1: JS_STATEMENT_LIST@98..111 + 0: JS_LABELED_STATEMENT@98..111 + 0: IDENT@98..102 "type" [] [] + 1: COLON@102..104 ":" [] [Whitespace(" ")] + 2: JS_EXPRESSION_STATEMENT@104..111 + 0: JS_STRING_LITERAL_EXPRESSION@104..111 + 0: JS_STRING_LITERAL@104..111 "\"json\"" [] [Whitespace(" ")] + 1: (empty) + 2: R_CURLY@111..112 "}" [] [] + 5: JS_IMPORT@112..193 + 0: IMPORT_KW@112..120 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_DEFAULT_CLAUSE@120..192 0: (empty) - 1: JS_IDENTIFIER_BINDING@159..164 - 0: IDENT@159..164 "foo2" [] [Whitespace(" ")] - 2: FROM_KW@164..169 "from" [] [Whitespace(" ")] - 3: JS_MODULE_SOURCE@169..180 - 0: JS_STRING_LITERAL@169..180 "\"foo.json\"" [] [Whitespace(" ")] - 4: JS_IMPORT_ATTRIBUTE@180..231 - 0: WITH_KW@180..185 "with" [] [Whitespace(" ")] - 1: L_CURLY@185..187 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@187..230 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@187..201 - 0: JS_STRING_LITERAL@187..193 "\"type\"" [] [] - 1: COLON@193..195 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@195..201 "\"json\"" [] [] - 1: COMMA@201..203 "," [] [Whitespace(" ")] - 2: JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY@203..215 - 0: IDENT@203..207 "type" [] [] - 1: COLON@207..209 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@209..215 "\"html\"" [] [] - 3: COMMA@215..217 "," [] [Whitespace(" ")] - 4: JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY@217..230 - 0: JS_STRING_LITERAL@217..223 "\"type\"" [] [] - 1: COLON@223..225 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@225..230 "\"js\"" [] [Whitespace(" ")] - 3: R_CURLY@230..231 "}" [] [] - 2: SEMICOLON@231..232 ";" [] [] - 9: JS_IMPORT@232..249 - 0: IMPORT_KW@232..240 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_BARE_CLAUSE@240..248 - 0: JS_MODULE_SOURCE@240..244 - 0: JS_STRING_LITERAL@240..244 "\"x\"" [] [Whitespace(" ")] - 1: JS_IMPORT_ATTRIBUTE@244..248 - 0: WITH_KW@244..248 "with" [] [] + 1: JS_IDENTIFIER_BINDING@120..125 + 0: IDENT@120..125 "foo2" [] [Whitespace(" ")] + 2: FROM_KW@125..130 "from" [] [Whitespace(" ")] + 3: JS_MODULE_SOURCE@130..141 + 0: JS_STRING_LITERAL@130..141 "\"foo.json\"" [] [Whitespace(" ")] + 4: JS_IMPORT_ASSERTION@141..192 + 0: WITH_KW@141..146 "with" [] [Whitespace(" ")] + 1: L_CURLY@146..148 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@148..191 + 0: JS_IMPORT_ASSERTION_ENTRY@148..162 + 0: JS_STRING_LITERAL@148..154 "\"type\"" [] [] + 1: COLON@154..156 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@156..162 "\"json\"" [] [] + 1: COMMA@162..164 "," [] [Whitespace(" ")] + 2: JS_BOGUS_IMPORT_ASSERTION_ENTRY@164..176 + 0: IDENT@164..168 "type" [] [] + 1: COLON@168..170 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@170..176 "\"html\"" [] [] + 3: COMMA@176..178 "," [] [Whitespace(" ")] + 4: JS_BOGUS_IMPORT_ASSERTION_ENTRY@178..191 + 0: JS_STRING_LITERAL@178..184 "\"type\"" [] [] + 1: COLON@184..186 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@186..191 "\"js\"" [] [Whitespace(" ")] + 3: R_CURLY@191..192 "}" [] [] + 2: SEMICOLON@192..193 ";" [] [] + 6: JS_IMPORT@193..210 + 0: IMPORT_KW@193..201 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_BARE_CLAUSE@201..209 + 0: JS_MODULE_SOURCE@201..205 + 0: JS_STRING_LITERAL@201..205 "\"x\"" [] [Whitespace(" ")] + 1: JS_IMPORT_ASSERTION@205..209 + 0: WITH_KW@205..209 "with" [] [] 1: (empty) - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@248..248 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@209..209 3: (empty) - 2: SEMICOLON@248..249 ";" [] [] - 10: JS_IMPORT@249..331 - 0: IMPORT_KW@249..257 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_DEFAULT_CLAUSE@257..330 + 2: SEMICOLON@209..210 ";" [] [] + 7: JS_IMPORT@210..292 + 0: IMPORT_KW@210..218 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_DEFAULT_CLAUSE@218..291 0: (empty) - 1: JS_IDENTIFIER_BINDING@257..263 - 0: IDENT@257..263 "ipsum" [] [Whitespace(" ")] - 2: FROM_KW@263..268 "from" [] [Whitespace(" ")] - 3: JS_MODULE_SOURCE@268..281 - 0: JS_STRING_LITERAL@268..281 "\"ipsum.json\"" [] [Whitespace(" ")] - 4: JS_IMPORT_ATTRIBUTE@281..330 - 0: WITH_KW@281..286 "with" [] [Whitespace(" ")] - 1: L_CURLY@286..288 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@288..329 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@288..300 - 0: IDENT@288..292 "type" [] [] - 1: COLON@292..294 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@294..300 "\"json\"" [] [] - 1: COMMA@300..302 "," [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY@302..308 - 0: IDENT@302..306 "lazy" [] [] - 1: COLON@306..308 ":" [] [Whitespace(" ")] + 1: JS_IDENTIFIER_BINDING@218..224 + 0: IDENT@218..224 "ipsum" [] [Whitespace(" ")] + 2: FROM_KW@224..229 "from" [] [Whitespace(" ")] + 3: JS_MODULE_SOURCE@229..242 + 0: JS_STRING_LITERAL@229..242 "\"ipsum.json\"" [] [Whitespace(" ")] + 4: JS_IMPORT_ASSERTION@242..291 + 0: WITH_KW@242..247 "with" [] [Whitespace(" ")] + 1: L_CURLY@247..249 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@249..290 + 0: JS_IMPORT_ASSERTION_ENTRY@249..261 + 0: IDENT@249..253 "type" [] [] + 1: COLON@253..255 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@255..261 "\"json\"" [] [] + 1: COMMA@261..263 "," [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY@263..269 + 0: IDENT@263..267 "lazy" [] [] + 1: COLON@267..269 ":" [] [Whitespace(" ")] 2: (empty) 3: (empty) - 4: JS_IMPORT_ATTRIBUTE_ENTRY@308..312 - 0: IDENT@308..312 "true" [] [] + 4: JS_IMPORT_ASSERTION_ENTRY@269..273 + 0: IDENT@269..273 "true" [] [] 1: (empty) 2: (empty) - 5: COMMA@312..314 "," [] [Whitespace(" ")] - 6: JS_IMPORT_ATTRIBUTE_ENTRY@314..327 - 0: IDENT@314..325 "startAtLine" [] [] - 1: COLON@325..327 ":" [] [Whitespace(" ")] + 5: COMMA@273..275 "," [] [Whitespace(" ")] + 6: JS_IMPORT_ASSERTION_ENTRY@275..288 + 0: IDENT@275..286 "startAtLine" [] [] + 1: COLON@286..288 ":" [] [Whitespace(" ")] 2: (empty) 7: (empty) - 8: JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY@327..329 - 0: JS_NUMBER_LITERAL@327..329 "1" [] [Whitespace(" ")] - 3: R_CURLY@329..330 "}" [] [] - 2: SEMICOLON@330..331 ";" [] [] - 11: JS_IMPORT@331..363 - 0: IMPORT_KW@331..339 "import" [Newline("\n")] [Whitespace(" ")] - 1: JS_IMPORT_NAMED_CLAUSE@339..363 + 8: JS_BOGUS_IMPORT_ASSERTION_ENTRY@288..290 + 0: JS_NUMBER_LITERAL@288..290 "1" [] [Whitespace(" ")] + 3: R_CURLY@290..291 "}" [] [] + 2: SEMICOLON@291..292 ";" [] [] + 8: JS_IMPORT@292..324 + 0: IMPORT_KW@292..300 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_NAMED_CLAUSE@300..324 0: (empty) 1: (empty) - 2: JS_NAMED_IMPORT_SPECIFIERS@339..345 - 0: L_CURLY@339..341 "{" [] [Whitespace(" ")] - 1: JS_NAMED_IMPORT_SPECIFIER_LIST@341..343 - 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@341..343 + 2: JS_NAMED_IMPORT_SPECIFIERS@300..306 + 0: L_CURLY@300..302 "{" [] [Whitespace(" ")] + 1: JS_NAMED_IMPORT_SPECIFIER_LIST@302..304 + 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@302..304 0: (empty) - 1: JS_IDENTIFIER_BINDING@341..343 - 0: IDENT@341..343 "a" [] [Whitespace(" ")] - 2: R_CURLY@343..345 "}" [] [Whitespace(" ")] - 3: FROM_KW@345..350 "from" [] [Whitespace(" ")] - 4: JS_MODULE_SOURCE@350..359 - 0: JS_STRING_LITERAL@350..359 "\"a.json\"" [] [Whitespace(" ")] - 5: JS_IMPORT_ATTRIBUTE@359..363 - 0: WITH_KW@359..363 "with" [] [] + 1: JS_IDENTIFIER_BINDING@302..304 + 0: IDENT@302..304 "a" [] [Whitespace(" ")] + 2: R_CURLY@304..306 "}" [] [Whitespace(" ")] + 3: FROM_KW@306..311 "from" [] [Whitespace(" ")] + 4: JS_MODULE_SOURCE@311..320 + 0: JS_STRING_LITERAL@311..320 "\"a.json\"" [] [Whitespace(" ")] + 5: JS_IMPORT_ASSERTION@320..324 + 0: WITH_KW@320..324 "with" [] [] 1: (empty) - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@363..363 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@324..324 3: (empty) 2: (empty) - 3: EOF@363..364 "" [Newline("\n")] [] + 3: EOF@324..325 "" [Newline("\n")] [] -- import_attribute_err.js:1:25 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @@ -473,8 +417,8 @@ import_attribute_err.js:1:25 parse ━━━━━━━━━━━━━━━ > 1 │ import "foo" with { type, "json" }; │ ^ - 2 │ import "bar" \u{61}ith { type: "json" }; - 3 │ import { foo } with { type: "json" }; + 2 │ import { foo } with { type: "json" }; + 3 │ import "lorem" i Remove , @@ -485,214 +429,162 @@ import_attribute_err.js:1:34 parse ━━━━━━━━━━━━━━━ > 1 │ import "foo" with { type, "json" }; │ ^ - 2 │ import "bar" \u{61}ith { type: "json" }; - 3 │ import { foo } with { type: "json" }; + 2 │ import { foo } with { type: "json" }; + 3 │ import "lorem" i Remove } -- -import_attribute_err.js:2:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:2:16 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - × Expected a semicolon or an implicit semicolon after a statement, but found none - - 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^^^^^^^^^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" - - i An explicit or implicit semicolon is expected here... + × expected `from` but instead found `with` 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^^^^^^^^^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" - - i ...Which is required to end this statement + > 2 │ import { foo } with { type: "json" }; + │ ^^^^ + 3 │ import "lorem" + 4 │ assert { type: "json" } - 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^^^^^^^^^^^^^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" + i Remove with -- -import_attribute_err.js:2:24 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:4:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a semicolon or an implicit semicolon after a statement, but found none - 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" + 2 │ import { foo } with { type: "json" }; + 3 │ import "lorem" + > 4 │ assert { type: "json" } + │ ^ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; i An explicit or implicit semicolon is expected here... - 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" + 2 │ import { foo } with { type: "json" }; + 3 │ import "lorem" + > 4 │ assert { type: "json" } + │ ^ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; i ...Which is required to end this statement - 1 │ import "foo" with { type, "json" }; - > 2 │ import "bar" \u{61}ith { type: "json" }; - │ ^^^^^^^^^^^ - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" - --- -import_attribute_err.js:3:16 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × expected `from` but instead found `with` - - 1 │ import "foo" with { type, "json" }; - 2 │ import "bar" \u{61}ith { type: "json" }; - > 3 │ import { foo } with { type: "json" }; - │ ^^^^ - 4 │ import "lorem" - 5 │ with { type: "json" } - - i Remove with - --- -import_attribute_err.js:5:6 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × expected `(` but instead found `{` - - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" - > 5 │ with { type: "json" } - │ ^ - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" with; - - i Remove { - --- -import_attribute_err.js:5:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - × `with` statements are not allowed in strict mode - - 3 │ import { foo } with { type: "json" }; - 4 │ import "lorem" - > 5 │ with { type: "json" } - │ ^^^^^^^^^^^^^^^^^^^^^ - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" with; + 2 │ import { foo } with { type: "json" }; + 3 │ import "lorem" + > 4 │ assert { type: "json" } + │ ^^^^^^^^ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; -- -import_attribute_err.js:6:36 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:5:36 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Duplicate assertion keys are not allowed - 4 │ import "lorem" - 5 │ with { type: "json" } - > 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 3 │ import "lorem" + 4 │ assert { type: "json" } + > 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; │ ^^^^^^ - 7 │ import "x" with; - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 6 │ import "x" with; + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; i First use of the key `type` - 4 │ import "lorem" - 5 │ with { type: "json" } - > 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 3 │ import "lorem" + 4 │ assert { type: "json" } + > 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; │ ^^^^^^ - 7 │ import "x" with; - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 6 │ import "x" with; + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; i second use here - 4 │ import "lorem" - 5 │ with { type: "json" } - > 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 3 │ import "lorem" + 4 │ assert { type: "json" } + > 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; │ ^^^^ - 7 │ import "x" with; - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 6 │ import "x" with; + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; -- -import_attribute_err.js:7:16 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:6:16 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `{` but instead found `;` - 5 │ with { type: "json" } - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - > 7 │ import "x" with; + 4 │ assert { type: "json" } + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + > 6 │ import "x" with; │ ^ - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - 9 │ import { a } from "a.json" with + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 8 │ import { a } from "a.json" with i Remove ; -- -import_attribute_err.js:8:59 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:7:59 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `string literal` but instead found `true` - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" with; - > 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - │ ^^^^ - 9 │ import { a } from "a.json" with - 10 │ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; + > 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + │ ^^^^ + 8 │ import { a } from "a.json" with + 9 │ i Remove true -- -import_attribute_err.js:8:63 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:7:63 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `:` but instead found `,` - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" with; - > 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - │ ^ - 9 │ import { a } from "a.json" with - 10 │ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; + > 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + │ ^ + 8 │ import { a } from "a.json" with + 9 │ i Remove , -- -import_attribute_err.js:8:78 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:7:78 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `string literal` but instead found `1` - 6 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; - 7 │ import "x" with; - > 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - │ ^ - 9 │ import { a } from "a.json" with - 10 │ + 5 │ import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; + 6 │ import "x" with; + > 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + │ ^ + 8 │ import { a } from "a.json" with + 9 │ i Remove 1 -- -import_attribute_err.js:10:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +import_attribute_err.js:9:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `{` but instead the file ends - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - 9 │ import { a } from "a.json" with - > 10 │ - │ + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 8 │ import { a } from "a.json" with + > 9 │ + │ i the file ends here - 8 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; - 9 │ import { a } from "a.json" with - > 10 │ - │ + 7 │ import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; + 8 │ import { a } from "a.json" with + > 9 │ + │ -- import "foo" with { type, "json" }; -import "bar" \u{61}ith { type: "json" }; import { foo } with { type: "json" }; import "lorem" -with { type: "json" } +assert { type: "json" } import foo2 from "foo.json" with { "type": "json", type: "html", "type": "js" }; import "x" with; import ipsum from "ipsum.json" with { type: "json", lazy: true, startAtLine: 1 }; diff --git a/crates/rome_js_parser/test_data/inline/err/import_decl_not_top_level.rast b/crates/rome_js_parser/test_data/inline/err/import_decl_not_top_level.rast index eb841f5163d..ef6d49bd8a8 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_decl_not_top_level.rast +++ b/crates/rome_js_parser/test_data/inline/err/import_decl_not_top_level.rast @@ -17,7 +17,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@19..24 "\"bar\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, SEMICOLON@24..25 ";" [] [], ], diff --git a/crates/rome_js_parser/test_data/inline/err/import_err.rast b/crates/rome_js_parser/test_data/inline/err/import_err.rast index 21d6892f09a..e8a0259cc1d 100644 --- a/crates/rome_js_parser/test_data/inline/err/import_err.rast +++ b/crates/rome_js_parser/test_data/inline/err/import_err.rast @@ -16,7 +16,7 @@ JsModule { local_name: missing (required), from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@16..17 ";" [] [], }, @@ -31,7 +31,7 @@ JsModule { }, from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, @@ -111,7 +111,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@80..83 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@83..84 ";" [] [], }, @@ -143,7 +143,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@108..111 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@111..112 ";" [] [], }, @@ -170,7 +170,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@137..140 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@140..141 ";" [] [], }, @@ -197,7 +197,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@162..165 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@165..166 ";" [] [], }, @@ -224,7 +224,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@188..191 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@191..192 ";" [] [], }, @@ -262,7 +262,7 @@ JsModule { }, from_token: FROM_KW@221..226 "from" [] [Whitespace(" ")], source: missing (required), - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, diff --git a/crates/rome_js_parser/test_data/inline/err/ts_named_import_specifier_error.rast b/crates/rome_js_parser/test_data/inline/err/ts_named_import_specifier_error.rast index 8cb239d76db..3300c6c939d 100644 --- a/crates/rome_js_parser/test_data/inline/err/ts_named_import_specifier_error.rast +++ b/crates/rome_js_parser/test_data/inline/err/ts_named_import_specifier_error.rast @@ -25,7 +25,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@24..31 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@31..32 ";" [] [], }, @@ -52,7 +52,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@62..69 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@69..70 ";" [] [], }, @@ -79,7 +79,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@102..109 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@109..110 ";" [] [], }, @@ -106,7 +106,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@147..154 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@154..155 ";" [] [], }, @@ -122,7 +122,7 @@ JsModule { }, from_token: missing (required), source: missing (required), - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, diff --git a/crates/rome_js_parser/test_data/inline/ok/export_from_clause.js b/crates/rome_js_parser/test_data/inline/ok/export_from_clause.js index 8365c3bf7f7..970c5b41dd0 100644 --- a/crates/rome_js_parser/test_data/inline/ok/export_from_clause.js +++ b/crates/rome_js_parser/test_data/inline/ok/export_from_clause.js @@ -4,6 +4,6 @@ export { default as a } from "b"; export * from "a"; export * as c from "b"; export * as default from "b" -export * from "mod" with { type: "json" } +export * from "mod" assert { type: "json" } export type * from "types"; export type * as types from "types"; diff --git a/crates/rome_js_parser/test_data/inline/ok/export_from_clause.rast b/crates/rome_js_parser/test_data/inline/ok/export_from_clause.rast index 34ca24034c1..4325437217d 100644 --- a/crates/rome_js_parser/test_data/inline/ok/export_from_clause.rast +++ b/crates/rome_js_parser/test_data/inline/ok/export_from_clause.rast @@ -27,7 +27,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@33..36 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@36..37 ";" [] [], }, }, @@ -56,7 +56,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@67..70 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@70..71 ";" [] [], }, }, @@ -71,7 +71,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@86..89 "\"a\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@89..90 ";" [] [], }, }, @@ -91,7 +91,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@110..113 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@113..114 ";" [] [], }, }, @@ -111,7 +111,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@140..143 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: missing (optional), }, }, @@ -126,64 +126,64 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@158..164 "\"mod\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@164..169 "with" [] [Whitespace(" ")], - l_curly_token: L_CURLY@169..171 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { - key: IDENT@171..175 "type" [] [], - colon_token: COLON@175..177 ":" [] [Whitespace(" ")], - value_token: JS_STRING_LITERAL@177..184 "\"json\"" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@164..171 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@171..173 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@173..177 "type" [] [], + colon_token: COLON@177..179 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@179..186 "\"json\"" [] [Whitespace(" ")], }, ], - r_curly_token: R_CURLY@184..185 "}" [] [], + r_curly_token: R_CURLY@186..187 "}" [] [], }, semicolon_token: missing (optional), }, }, JsExport { decorators: JsDecoratorList [], - export_token: EXPORT_KW@185..193 "export" [Newline("\n")] [Whitespace(" ")], + export_token: EXPORT_KW@187..195 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportFromClause { - type_token: TYPE_KW@193..198 "type" [] [Whitespace(" ")], - star_token: STAR@198..200 "*" [] [Whitespace(" ")], + type_token: TYPE_KW@195..200 "type" [] [Whitespace(" ")], + star_token: STAR@200..202 "*" [] [Whitespace(" ")], export_as: missing (optional), - from_token: FROM_KW@200..205 "from" [] [Whitespace(" ")], + from_token: FROM_KW@202..207 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@205..212 "\"types\"" [] [], + value_token: JS_STRING_LITERAL@207..214 "\"types\"" [] [], }, - attribute: missing (optional), - semicolon_token: SEMICOLON@212..213 ";" [] [], + assertion: missing (optional), + semicolon_token: SEMICOLON@214..215 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], - export_token: EXPORT_KW@213..221 "export" [Newline("\n")] [Whitespace(" ")], + export_token: EXPORT_KW@215..223 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportFromClause { - type_token: TYPE_KW@221..226 "type" [] [Whitespace(" ")], - star_token: STAR@226..228 "*" [] [Whitespace(" ")], + type_token: TYPE_KW@223..228 "type" [] [Whitespace(" ")], + star_token: STAR@228..230 "*" [] [Whitespace(" ")], export_as: JsExportAsClause { - as_token: AS_KW@228..231 "as" [] [Whitespace(" ")], + as_token: AS_KW@230..233 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { - value: IDENT@231..237 "types" [] [Whitespace(" ")], + value: IDENT@233..239 "types" [] [Whitespace(" ")], }, }, - from_token: FROM_KW@237..242 "from" [] [Whitespace(" ")], + from_token: FROM_KW@239..244 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@242..249 "\"types\"" [] [], + value_token: JS_STRING_LITERAL@244..251 "\"types\"" [] [], }, - attribute: missing (optional), - semicolon_token: SEMICOLON@249..250 ";" [] [], + assertion: missing (optional), + semicolon_token: SEMICOLON@251..252 ";" [] [], }, }, ], - eof_token: EOF@250..251 "" [Newline("\n")] [], + eof_token: EOF@252..253 "" [Newline("\n")] [], } -0: JS_MODULE@0..251 +0: JS_MODULE@0..253 0: (empty) 1: JS_DIRECTIVE_LIST@0..0 - 2: JS_MODULE_ITEM_LIST@0..250 + 2: JS_MODULE_ITEM_LIST@0..252 0: JS_EXPORT@0..37 0: JS_DECORATOR_LIST@0..0 1: EXPORT_KW@0..7 "export" [] [Whitespace(" ")] @@ -268,51 +268,51 @@ JsModule { 0: JS_STRING_LITERAL@140..143 "\"b\"" [] [] 5: (empty) 6: (empty) - 5: JS_EXPORT@143..185 + 5: JS_EXPORT@143..187 0: JS_DECORATOR_LIST@143..143 1: EXPORT_KW@143..151 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_FROM_CLAUSE@151..185 + 2: JS_EXPORT_FROM_CLAUSE@151..187 0: (empty) 1: STAR@151..153 "*" [] [Whitespace(" ")] 2: (empty) 3: FROM_KW@153..158 "from" [] [Whitespace(" ")] 4: JS_MODULE_SOURCE@158..164 0: JS_STRING_LITERAL@158..164 "\"mod\"" [] [Whitespace(" ")] - 5: JS_IMPORT_ATTRIBUTE@164..185 - 0: WITH_KW@164..169 "with" [] [Whitespace(" ")] - 1: L_CURLY@169..171 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@171..184 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@171..184 - 0: IDENT@171..175 "type" [] [] - 1: COLON@175..177 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@177..184 "\"json\"" [] [Whitespace(" ")] - 3: R_CURLY@184..185 "}" [] [] + 5: JS_IMPORT_ASSERTION@164..187 + 0: ASSERT_KW@164..171 "assert" [] [Whitespace(" ")] + 1: L_CURLY@171..173 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@173..186 + 0: JS_IMPORT_ASSERTION_ENTRY@173..186 + 0: IDENT@173..177 "type" [] [] + 1: COLON@177..179 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@179..186 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@186..187 "}" [] [] 6: (empty) - 6: JS_EXPORT@185..213 - 0: JS_DECORATOR_LIST@185..185 - 1: EXPORT_KW@185..193 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_FROM_CLAUSE@193..213 - 0: TYPE_KW@193..198 "type" [] [Whitespace(" ")] - 1: STAR@198..200 "*" [] [Whitespace(" ")] + 6: JS_EXPORT@187..215 + 0: JS_DECORATOR_LIST@187..187 + 1: EXPORT_KW@187..195 "export" [Newline("\n")] [Whitespace(" ")] + 2: JS_EXPORT_FROM_CLAUSE@195..215 + 0: TYPE_KW@195..200 "type" [] [Whitespace(" ")] + 1: STAR@200..202 "*" [] [Whitespace(" ")] 2: (empty) - 3: FROM_KW@200..205 "from" [] [Whitespace(" ")] - 4: JS_MODULE_SOURCE@205..212 - 0: JS_STRING_LITERAL@205..212 "\"types\"" [] [] + 3: FROM_KW@202..207 "from" [] [Whitespace(" ")] + 4: JS_MODULE_SOURCE@207..214 + 0: JS_STRING_LITERAL@207..214 "\"types\"" [] [] 5: (empty) - 6: SEMICOLON@212..213 ";" [] [] - 7: JS_EXPORT@213..250 - 0: JS_DECORATOR_LIST@213..213 - 1: EXPORT_KW@213..221 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_FROM_CLAUSE@221..250 - 0: TYPE_KW@221..226 "type" [] [Whitespace(" ")] - 1: STAR@226..228 "*" [] [Whitespace(" ")] - 2: JS_EXPORT_AS_CLAUSE@228..237 - 0: AS_KW@228..231 "as" [] [Whitespace(" ")] - 1: JS_LITERAL_EXPORT_NAME@231..237 - 0: IDENT@231..237 "types" [] [Whitespace(" ")] - 3: FROM_KW@237..242 "from" [] [Whitespace(" ")] - 4: JS_MODULE_SOURCE@242..249 - 0: JS_STRING_LITERAL@242..249 "\"types\"" [] [] + 6: SEMICOLON@214..215 ";" [] [] + 7: JS_EXPORT@215..252 + 0: JS_DECORATOR_LIST@215..215 + 1: EXPORT_KW@215..223 "export" [Newline("\n")] [Whitespace(" ")] + 2: JS_EXPORT_FROM_CLAUSE@223..252 + 0: TYPE_KW@223..228 "type" [] [Whitespace(" ")] + 1: STAR@228..230 "*" [] [Whitespace(" ")] + 2: JS_EXPORT_AS_CLAUSE@230..239 + 0: AS_KW@230..233 "as" [] [Whitespace(" ")] + 1: JS_LITERAL_EXPORT_NAME@233..239 + 0: IDENT@233..239 "types" [] [Whitespace(" ")] + 3: FROM_KW@239..244 "from" [] [Whitespace(" ")] + 4: JS_MODULE_SOURCE@244..251 + 0: JS_STRING_LITERAL@244..251 "\"types\"" [] [] 5: (empty) - 6: SEMICOLON@249..250 ";" [] [] - 3: EOF@250..251 "" [Newline("\n")] [] + 6: SEMICOLON@251..252 ";" [] [] + 3: EOF@252..253 "" [Newline("\n")] [] diff --git a/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.js b/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.js index c223f8df728..9b350448e32 100644 --- a/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.js +++ b/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.js @@ -3,7 +3,7 @@ export { a as z, b as "y", c as default } from "mod" export { as } from "mod"; export { default as "b" } from "mod"; export { "a" as b } from "mod"; -export { a } from "mod" with { type: "json" } +export { a } from "mod" assert { type: "json" } export { "a" } from "./mod"; export { "a" diff --git a/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.rast b/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.rast index 0c3fc5f4219..ed914364e59 100644 --- a/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.rast +++ b/crates/rome_js_parser/test_data/inline/ok/export_named_from_clause.rast @@ -30,7 +30,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@27..32 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@32..33 ";" [] [], }, }, @@ -85,7 +85,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@81..86 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: missing (optional), }, }, @@ -109,7 +109,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@106..111 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@111..112 ";" [] [], }, }, @@ -138,7 +138,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@144..149 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@149..150 ";" [] [], }, }, @@ -167,7 +167,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@176..181 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@181..182 ";" [] [], }, }, @@ -191,77 +191,77 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@201..207 "\"mod\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@207..212 "with" [] [Whitespace(" ")], - l_curly_token: L_CURLY@212..214 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { - key: IDENT@214..218 "type" [] [], - colon_token: COLON@218..220 ":" [] [Whitespace(" ")], - value_token: JS_STRING_LITERAL@220..227 "\"json\"" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@207..214 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@214..216 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@216..220 "type" [] [], + colon_token: COLON@220..222 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@222..229 "\"json\"" [] [Whitespace(" ")], }, ], - r_curly_token: R_CURLY@227..228 "}" [] [], + r_curly_token: R_CURLY@229..230 "}" [] [], }, semicolon_token: missing (optional), }, }, JsExport { decorators: JsDecoratorList [], - export_token: EXPORT_KW@228..236 "export" [Newline("\n")] [Whitespace(" ")], + export_token: EXPORT_KW@230..238 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), - l_curly_token: L_CURLY@236..238 "{" [] [Whitespace(" ")], + l_curly_token: L_CURLY@238..240 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { - value: JS_STRING_LITERAL@238..242 "\"a\"" [] [Whitespace(" ")], + value: JS_STRING_LITERAL@240..244 "\"a\"" [] [Whitespace(" ")], }, export_as: missing (optional), }, ], - r_curly_token: R_CURLY@242..244 "}" [] [Whitespace(" ")], - from_token: FROM_KW@244..249 "from" [] [Whitespace(" ")], + r_curly_token: R_CURLY@244..246 "}" [] [Whitespace(" ")], + from_token: FROM_KW@246..251 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@249..256 "\"./mod\"" [] [], + value_token: JS_STRING_LITERAL@251..258 "\"./mod\"" [] [], }, - attribute: missing (optional), - semicolon_token: SEMICOLON@256..257 ";" [] [], + assertion: missing (optional), + semicolon_token: SEMICOLON@258..259 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], - export_token: EXPORT_KW@257..265 "export" [Newline("\n")] [Whitespace(" ")], + export_token: EXPORT_KW@259..267 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), - l_curly_token: L_CURLY@265..266 "{" [] [], + l_curly_token: L_CURLY@267..268 "{" [] [], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { - value: JS_STRING_LITERAL@266..275 "\"a\"" [Newline("\n"), Whitespace(" ")] [], + value: JS_STRING_LITERAL@268..277 "\"a\"" [Newline("\n"), Whitespace(" ")] [], }, export_as: missing (optional), }, ], - r_curly_token: R_CURLY@275..278 "}" [Newline("\n")] [Whitespace(" ")], - from_token: FROM_KW@278..283 "from" [] [Whitespace(" ")], + r_curly_token: R_CURLY@277..280 "}" [Newline("\n")] [Whitespace(" ")], + from_token: FROM_KW@280..285 "from" [] [Whitespace(" ")], source: JsModuleSource { - value_token: JS_STRING_LITERAL@283..290 "\"./mod\"" [] [], + value_token: JS_STRING_LITERAL@285..292 "\"./mod\"" [] [], }, - attribute: missing (optional), - semicolon_token: SEMICOLON@290..291 ";" [] [], + assertion: missing (optional), + semicolon_token: SEMICOLON@292..293 ";" [] [], }, }, ], - eof_token: EOF@291..292 "" [Newline("\n")] [], + eof_token: EOF@293..294 "" [Newline("\n")] [], } -0: JS_MODULE@0..292 +0: JS_MODULE@0..294 0: (empty) 1: JS_DIRECTIVE_LIST@0..0 - 2: JS_MODULE_ITEM_LIST@0..291 + 2: JS_MODULE_ITEM_LIST@0..293 0: JS_EXPORT@0..33 0: JS_DECORATOR_LIST@0..0 1: EXPORT_KW@0..7 "export" [] [Whitespace(" ")] @@ -385,10 +385,10 @@ JsModule { 0: JS_STRING_LITERAL@176..181 "\"mod\"" [] [] 6: (empty) 7: SEMICOLON@181..182 ";" [] [] - 5: JS_EXPORT@182..228 + 5: JS_EXPORT@182..230 0: JS_DECORATOR_LIST@182..182 1: EXPORT_KW@182..190 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_NAMED_FROM_CLAUSE@190..228 + 2: JS_EXPORT_NAMED_FROM_CLAUSE@190..230 0: (empty) 1: L_CURLY@190..192 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@192..194 @@ -401,50 +401,50 @@ JsModule { 4: FROM_KW@196..201 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@201..207 0: JS_STRING_LITERAL@201..207 "\"mod\"" [] [Whitespace(" ")] - 6: JS_IMPORT_ATTRIBUTE@207..228 - 0: WITH_KW@207..212 "with" [] [Whitespace(" ")] - 1: L_CURLY@212..214 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@214..227 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@214..227 - 0: IDENT@214..218 "type" [] [] - 1: COLON@218..220 ":" [] [Whitespace(" ")] - 2: JS_STRING_LITERAL@220..227 "\"json\"" [] [Whitespace(" ")] - 3: R_CURLY@227..228 "}" [] [] + 6: JS_IMPORT_ASSERTION@207..230 + 0: ASSERT_KW@207..214 "assert" [] [Whitespace(" ")] + 1: L_CURLY@214..216 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@216..229 + 0: JS_IMPORT_ASSERTION_ENTRY@216..229 + 0: IDENT@216..220 "type" [] [] + 1: COLON@220..222 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@222..229 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@229..230 "}" [] [] 7: (empty) - 6: JS_EXPORT@228..257 - 0: JS_DECORATOR_LIST@228..228 - 1: EXPORT_KW@228..236 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_NAMED_FROM_CLAUSE@236..257 + 6: JS_EXPORT@230..259 + 0: JS_DECORATOR_LIST@230..230 + 1: EXPORT_KW@230..238 "export" [Newline("\n")] [Whitespace(" ")] + 2: JS_EXPORT_NAMED_FROM_CLAUSE@238..259 0: (empty) - 1: L_CURLY@236..238 "{" [] [Whitespace(" ")] - 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@238..242 - 0: JS_EXPORT_NAMED_FROM_SPECIFIER@238..242 + 1: L_CURLY@238..240 "{" [] [Whitespace(" ")] + 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@240..244 + 0: JS_EXPORT_NAMED_FROM_SPECIFIER@240..244 0: (empty) - 1: JS_LITERAL_EXPORT_NAME@238..242 - 0: JS_STRING_LITERAL@238..242 "\"a\"" [] [Whitespace(" ")] + 1: JS_LITERAL_EXPORT_NAME@240..244 + 0: JS_STRING_LITERAL@240..244 "\"a\"" [] [Whitespace(" ")] 2: (empty) - 3: R_CURLY@242..244 "}" [] [Whitespace(" ")] - 4: FROM_KW@244..249 "from" [] [Whitespace(" ")] - 5: JS_MODULE_SOURCE@249..256 - 0: JS_STRING_LITERAL@249..256 "\"./mod\"" [] [] + 3: R_CURLY@244..246 "}" [] [Whitespace(" ")] + 4: FROM_KW@246..251 "from" [] [Whitespace(" ")] + 5: JS_MODULE_SOURCE@251..258 + 0: JS_STRING_LITERAL@251..258 "\"./mod\"" [] [] 6: (empty) - 7: SEMICOLON@256..257 ";" [] [] - 7: JS_EXPORT@257..291 - 0: JS_DECORATOR_LIST@257..257 - 1: EXPORT_KW@257..265 "export" [Newline("\n")] [Whitespace(" ")] - 2: JS_EXPORT_NAMED_FROM_CLAUSE@265..291 + 7: SEMICOLON@258..259 ";" [] [] + 7: JS_EXPORT@259..293 + 0: JS_DECORATOR_LIST@259..259 + 1: EXPORT_KW@259..267 "export" [Newline("\n")] [Whitespace(" ")] + 2: JS_EXPORT_NAMED_FROM_CLAUSE@267..293 0: (empty) - 1: L_CURLY@265..266 "{" [] [] - 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@266..275 - 0: JS_EXPORT_NAMED_FROM_SPECIFIER@266..275 + 1: L_CURLY@267..268 "{" [] [] + 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@268..277 + 0: JS_EXPORT_NAMED_FROM_SPECIFIER@268..277 0: (empty) - 1: JS_LITERAL_EXPORT_NAME@266..275 - 0: JS_STRING_LITERAL@266..275 "\"a\"" [Newline("\n"), Whitespace(" ")] [] + 1: JS_LITERAL_EXPORT_NAME@268..277 + 0: JS_STRING_LITERAL@268..277 "\"a\"" [Newline("\n"), Whitespace(" ")] [] 2: (empty) - 3: R_CURLY@275..278 "}" [Newline("\n")] [Whitespace(" ")] - 4: FROM_KW@278..283 "from" [] [Whitespace(" ")] - 5: JS_MODULE_SOURCE@283..290 - 0: JS_STRING_LITERAL@283..290 "\"./mod\"" [] [] + 3: R_CURLY@277..280 "}" [Newline("\n")] [Whitespace(" ")] + 4: FROM_KW@280..285 "from" [] [Whitespace(" ")] + 5: JS_MODULE_SOURCE@285..292 + 0: JS_STRING_LITERAL@285..292 "\"./mod\"" [] [] 6: (empty) - 7: SEMICOLON@290..291 ";" [] [] - 3: EOF@291..292 "" [Newline("\n")] [] + 7: SEMICOLON@292..293 ";" [] [] + 3: EOF@293..294 "" [Newline("\n")] [] diff --git a/crates/rome_js_parser/test_data/inline/ok/import_as_as_as_identifier.rast b/crates/rome_js_parser/test_data/inline/ok/import_as_as_as_identifier.rast index 5276275f704..cf72e03e151 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_as_as_as_identifier.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_as_as_as_identifier.rast @@ -27,7 +27,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@25..31 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@31..32 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/import_as_identifier.rast b/crates/rome_js_parser/test_data/inline/ok/import_as_identifier.rast index d21f27365b4..a16685b319e 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_as_identifier.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_as_identifier.rast @@ -23,7 +23,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@19..25 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@25..26 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/import_assertion.js b/crates/rome_js_parser/test_data/inline/ok/import_assertion.js new file mode 100644 index 00000000000..e7c0ce4a164 --- /dev/null +++ b/crates/rome_js_parser/test_data/inline/ok/import_assertion.js @@ -0,0 +1,7 @@ +import "x" assert { type: "json" } +import "foo" assert { "type": "json" }; +import foo from "foo.json" assert { type: "json" }; +import {test} from "foo.json" assert { for: "for" } +import foo_json from "foo.json" assert { type: "json", hasOwnProperty: "true" }; +import "x" assert +{ type: "json" } diff --git a/crates/rome_js_parser/test_data/inline/ok/import_assertion.rast b/crates/rome_js_parser/test_data/inline/ok/import_assertion.rast new file mode 100644 index 00000000000..f379a1e8fe4 --- /dev/null +++ b/crates/rome_js_parser/test_data/inline/ok/import_assertion.rast @@ -0,0 +1,284 @@ +JsModule { + interpreter_token: missing (optional), + directives: JsDirectiveList [], + items: JsModuleItemList [ + JsImport { + import_token: IMPORT_KW@0..7 "import" [] [Whitespace(" ")], + import_clause: JsImportBareClause { + source: JsModuleSource { + value_token: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@11..18 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@18..20 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@20..24 "type" [] [], + colon_token: COLON@24..26 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@26..33 "\"json\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@33..34 "}" [] [], + }, + }, + semicolon_token: missing (optional), + }, + JsImport { + import_token: IMPORT_KW@34..42 "import" [Newline("\n")] [Whitespace(" ")], + import_clause: JsImportBareClause { + source: JsModuleSource { + value_token: JS_STRING_LITERAL@42..48 "\"foo\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@48..55 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@55..57 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: JS_STRING_LITERAL@57..63 "\"type\"" [] [], + colon_token: COLON@63..65 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@65..72 "\"json\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@72..73 "}" [] [], + }, + }, + semicolon_token: SEMICOLON@73..74 ";" [] [], + }, + JsImport { + import_token: IMPORT_KW@74..82 "import" [Newline("\n")] [Whitespace(" ")], + import_clause: JsImportDefaultClause { + type_token: missing (optional), + local_name: JsIdentifierBinding { + name_token: IDENT@82..86 "foo" [] [Whitespace(" ")], + }, + from_token: FROM_KW@86..91 "from" [] [Whitespace(" ")], + source: JsModuleSource { + value_token: JS_STRING_LITERAL@91..102 "\"foo.json\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@102..109 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@109..111 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@111..115 "type" [] [], + colon_token: COLON@115..117 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@117..124 "\"json\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@124..125 "}" [] [], + }, + }, + semicolon_token: SEMICOLON@125..126 ";" [] [], + }, + JsImport { + import_token: IMPORT_KW@126..134 "import" [Newline("\n")] [Whitespace(" ")], + import_clause: JsImportNamedClause { + type_token: missing (optional), + default_specifier: missing (optional), + named_import: JsNamedImportSpecifiers { + l_curly_token: L_CURLY@134..135 "{" [] [], + specifiers: JsNamedImportSpecifierList [ + JsShorthandNamedImportSpecifier { + type_token: missing (optional), + local_name: JsIdentifierBinding { + name_token: IDENT@135..139 "test" [] [], + }, + }, + ], + r_curly_token: R_CURLY@139..141 "}" [] [Whitespace(" ")], + }, + from_token: FROM_KW@141..146 "from" [] [Whitespace(" ")], + source: JsModuleSource { + value_token: JS_STRING_LITERAL@146..157 "\"foo.json\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@157..164 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@164..166 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@166..169 "for" [] [], + colon_token: COLON@169..171 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@171..177 "\"for\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@177..178 "}" [] [], + }, + }, + semicolon_token: missing (optional), + }, + JsImport { + import_token: IMPORT_KW@178..186 "import" [Newline("\n")] [Whitespace(" ")], + import_clause: JsImportDefaultClause { + type_token: missing (optional), + local_name: JsIdentifierBinding { + name_token: IDENT@186..195 "foo_json" [] [Whitespace(" ")], + }, + from_token: FROM_KW@195..200 "from" [] [Whitespace(" ")], + source: JsModuleSource { + value_token: JS_STRING_LITERAL@200..211 "\"foo.json\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@211..218 "assert" [] [Whitespace(" ")], + l_curly_token: L_CURLY@218..220 "{" [] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@220..224 "type" [] [], + colon_token: COLON@224..226 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@226..232 "\"json\"" [] [], + }, + COMMA@232..234 "," [] [Whitespace(" ")], + JsImportAssertionEntry { + key: IDENT@234..248 "hasOwnProperty" [] [], + colon_token: COLON@248..250 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@250..257 "\"true\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@257..258 "}" [] [], + }, + }, + semicolon_token: SEMICOLON@258..259 ";" [] [], + }, + JsImport { + import_token: IMPORT_KW@259..267 "import" [Newline("\n")] [Whitespace(" ")], + import_clause: JsImportBareClause { + source: JsModuleSource { + value_token: JS_STRING_LITERAL@267..271 "\"x\"" [] [Whitespace(" ")], + }, + assertion: JsImportAssertion { + assertion_kind: ASSERT_KW@271..277 "assert" [] [], + l_curly_token: L_CURLY@277..280 "{" [Newline("\n")] [Whitespace(" ")], + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { + key: IDENT@280..284 "type" [] [], + colon_token: COLON@284..286 ":" [] [Whitespace(" ")], + value_token: JS_STRING_LITERAL@286..293 "\"json\"" [] [Whitespace(" ")], + }, + ], + r_curly_token: R_CURLY@293..294 "}" [] [], + }, + }, + semicolon_token: missing (optional), + }, + ], + eof_token: EOF@294..295 "" [Newline("\n")] [], +} + +0: JS_MODULE@0..295 + 0: (empty) + 1: JS_DIRECTIVE_LIST@0..0 + 2: JS_MODULE_ITEM_LIST@0..294 + 0: JS_IMPORT@0..34 + 0: IMPORT_KW@0..7 "import" [] [Whitespace(" ")] + 1: JS_IMPORT_BARE_CLAUSE@7..34 + 0: JS_MODULE_SOURCE@7..11 + 0: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")] + 1: JS_IMPORT_ASSERTION@11..34 + 0: ASSERT_KW@11..18 "assert" [] [Whitespace(" ")] + 1: L_CURLY@18..20 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@20..33 + 0: JS_IMPORT_ASSERTION_ENTRY@20..33 + 0: IDENT@20..24 "type" [] [] + 1: COLON@24..26 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@26..33 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@33..34 "}" [] [] + 2: (empty) + 1: JS_IMPORT@34..74 + 0: IMPORT_KW@34..42 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_BARE_CLAUSE@42..73 + 0: JS_MODULE_SOURCE@42..48 + 0: JS_STRING_LITERAL@42..48 "\"foo\"" [] [Whitespace(" ")] + 1: JS_IMPORT_ASSERTION@48..73 + 0: ASSERT_KW@48..55 "assert" [] [Whitespace(" ")] + 1: L_CURLY@55..57 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@57..72 + 0: JS_IMPORT_ASSERTION_ENTRY@57..72 + 0: JS_STRING_LITERAL@57..63 "\"type\"" [] [] + 1: COLON@63..65 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@65..72 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@72..73 "}" [] [] + 2: SEMICOLON@73..74 ";" [] [] + 2: JS_IMPORT@74..126 + 0: IMPORT_KW@74..82 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_DEFAULT_CLAUSE@82..125 + 0: (empty) + 1: JS_IDENTIFIER_BINDING@82..86 + 0: IDENT@82..86 "foo" [] [Whitespace(" ")] + 2: FROM_KW@86..91 "from" [] [Whitespace(" ")] + 3: JS_MODULE_SOURCE@91..102 + 0: JS_STRING_LITERAL@91..102 "\"foo.json\"" [] [Whitespace(" ")] + 4: JS_IMPORT_ASSERTION@102..125 + 0: ASSERT_KW@102..109 "assert" [] [Whitespace(" ")] + 1: L_CURLY@109..111 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@111..124 + 0: JS_IMPORT_ASSERTION_ENTRY@111..124 + 0: IDENT@111..115 "type" [] [] + 1: COLON@115..117 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@117..124 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@124..125 "}" [] [] + 2: SEMICOLON@125..126 ";" [] [] + 3: JS_IMPORT@126..178 + 0: IMPORT_KW@126..134 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_NAMED_CLAUSE@134..178 + 0: (empty) + 1: (empty) + 2: JS_NAMED_IMPORT_SPECIFIERS@134..141 + 0: L_CURLY@134..135 "{" [] [] + 1: JS_NAMED_IMPORT_SPECIFIER_LIST@135..139 + 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@135..139 + 0: (empty) + 1: JS_IDENTIFIER_BINDING@135..139 + 0: IDENT@135..139 "test" [] [] + 2: R_CURLY@139..141 "}" [] [Whitespace(" ")] + 3: FROM_KW@141..146 "from" [] [Whitespace(" ")] + 4: JS_MODULE_SOURCE@146..157 + 0: JS_STRING_LITERAL@146..157 "\"foo.json\"" [] [Whitespace(" ")] + 5: JS_IMPORT_ASSERTION@157..178 + 0: ASSERT_KW@157..164 "assert" [] [Whitespace(" ")] + 1: L_CURLY@164..166 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@166..177 + 0: JS_IMPORT_ASSERTION_ENTRY@166..177 + 0: IDENT@166..169 "for" [] [] + 1: COLON@169..171 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@171..177 "\"for\"" [] [Whitespace(" ")] + 3: R_CURLY@177..178 "}" [] [] + 2: (empty) + 4: JS_IMPORT@178..259 + 0: IMPORT_KW@178..186 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_DEFAULT_CLAUSE@186..258 + 0: (empty) + 1: JS_IDENTIFIER_BINDING@186..195 + 0: IDENT@186..195 "foo_json" [] [Whitespace(" ")] + 2: FROM_KW@195..200 "from" [] [Whitespace(" ")] + 3: JS_MODULE_SOURCE@200..211 + 0: JS_STRING_LITERAL@200..211 "\"foo.json\"" [] [Whitespace(" ")] + 4: JS_IMPORT_ASSERTION@211..258 + 0: ASSERT_KW@211..218 "assert" [] [Whitespace(" ")] + 1: L_CURLY@218..220 "{" [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@220..257 + 0: JS_IMPORT_ASSERTION_ENTRY@220..232 + 0: IDENT@220..224 "type" [] [] + 1: COLON@224..226 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@226..232 "\"json\"" [] [] + 1: COMMA@232..234 "," [] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY@234..257 + 0: IDENT@234..248 "hasOwnProperty" [] [] + 1: COLON@248..250 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@250..257 "\"true\"" [] [Whitespace(" ")] + 3: R_CURLY@257..258 "}" [] [] + 2: SEMICOLON@258..259 ";" [] [] + 5: JS_IMPORT@259..294 + 0: IMPORT_KW@259..267 "import" [Newline("\n")] [Whitespace(" ")] + 1: JS_IMPORT_BARE_CLAUSE@267..294 + 0: JS_MODULE_SOURCE@267..271 + 0: JS_STRING_LITERAL@267..271 "\"x\"" [] [Whitespace(" ")] + 1: JS_IMPORT_ASSERTION@271..294 + 0: ASSERT_KW@271..277 "assert" [] [] + 1: L_CURLY@277..280 "{" [Newline("\n")] [Whitespace(" ")] + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@280..293 + 0: JS_IMPORT_ASSERTION_ENTRY@280..293 + 0: IDENT@280..284 "type" [] [] + 1: COLON@284..286 ":" [] [Whitespace(" ")] + 2: JS_STRING_LITERAL@286..293 "\"json\"" [] [Whitespace(" ")] + 3: R_CURLY@293..294 "}" [] [] + 2: (empty) + 3: EOF@294..295 "" [Newline("\n")] [] diff --git a/crates/rome_js_parser/test_data/inline/ok/import_attribute.rast b/crates/rome_js_parser/test_data/inline/ok/import_attribute.rast index e013b80e440..cd1baa06317 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_attribute.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_attribute.rast @@ -8,11 +8,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@11..16 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@11..16 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@16..18 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@18..22 "type" [] [], colon_token: COLON@22..24 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@24..31 "\"json\"" [] [Whitespace(" ")], @@ -29,11 +29,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@40..46 "\"foo\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@46..51 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@46..51 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@51..53 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: JS_STRING_LITERAL@53..59 "\"type\"" [] [], colon_token: COLON@59..61 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@61..68 "\"json\"" [] [Whitespace(" ")], @@ -55,11 +55,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@87..98 "\"foo.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@98..103 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@98..103 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@103..105 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@105..109 "type" [] [], colon_token: COLON@109..111 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")], @@ -91,11 +91,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@140..151 "\"foo.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@151..156 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@151..156 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@156..158 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@158..161 "for" [] [], colon_token: COLON@161..163 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@163..169 "\"for\"" [] [Whitespace(" ")], @@ -117,17 +117,17 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@192..203 "\"foo.json\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@203..208 "with" [] [Whitespace(" ")], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@203..208 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@208..210 "{" [] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@210..214 "type" [] [], colon_token: COLON@214..216 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@216..222 "\"json\"" [] [], }, COMMA@222..224 "," [] [Whitespace(" ")], - JsImportAttributeEntry { + JsImportAssertionEntry { key: IDENT@224..238 "hasOwnProperty" [] [], colon_token: COLON@238..240 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@240..247 "\"true\"" [] [Whitespace(" ")], @@ -144,11 +144,11 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@257..261 "\"x\"" [] [Whitespace(" ")], }, - attribute: JsImportAttribute { - with_token: WITH_KW@261..265 "with" [] [], + assertion: JsImportAssertion { + assertion_kind: WITH_KW@261..265 "with" [] [], l_curly_token: L_CURLY@265..268 "{" [Newline("\n")] [Whitespace(" ")], - attributes: JsImportAttributeEntryList [ - JsImportAttributeEntry { + assertions: JsImportAssertionEntryList [ + JsImportAssertionEntry { key: IDENT@268..272 "type" [] [], colon_token: COLON@272..274 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@274..281 "\"json\"" [] [Whitespace(" ")], @@ -172,11 +172,11 @@ JsModule { 1: JS_IMPORT_BARE_CLAUSE@7..32 0: JS_MODULE_SOURCE@7..11 0: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")] - 1: JS_IMPORT_ATTRIBUTE@11..32 + 1: JS_IMPORT_ASSERTION@11..32 0: WITH_KW@11..16 "with" [] [Whitespace(" ")] 1: L_CURLY@16..18 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@18..31 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@18..31 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@18..31 + 0: JS_IMPORT_ASSERTION_ENTRY@18..31 0: IDENT@18..22 "type" [] [] 1: COLON@22..24 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@24..31 "\"json\"" [] [Whitespace(" ")] @@ -187,11 +187,11 @@ JsModule { 1: JS_IMPORT_BARE_CLAUSE@40..69 0: JS_MODULE_SOURCE@40..46 0: JS_STRING_LITERAL@40..46 "\"foo\"" [] [Whitespace(" ")] - 1: JS_IMPORT_ATTRIBUTE@46..69 + 1: JS_IMPORT_ASSERTION@46..69 0: WITH_KW@46..51 "with" [] [Whitespace(" ")] 1: L_CURLY@51..53 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@53..68 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@53..68 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@53..68 + 0: JS_IMPORT_ASSERTION_ENTRY@53..68 0: JS_STRING_LITERAL@53..59 "\"type\"" [] [] 1: COLON@59..61 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@61..68 "\"json\"" [] [Whitespace(" ")] @@ -206,11 +206,11 @@ JsModule { 2: FROM_KW@82..87 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@87..98 0: JS_STRING_LITERAL@87..98 "\"foo.json\"" [] [Whitespace(" ")] - 4: JS_IMPORT_ATTRIBUTE@98..119 + 4: JS_IMPORT_ASSERTION@98..119 0: WITH_KW@98..103 "with" [] [Whitespace(" ")] 1: L_CURLY@103..105 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@105..118 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@105..118 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@105..118 + 0: JS_IMPORT_ASSERTION_ENTRY@105..118 0: IDENT@105..109 "type" [] [] 1: COLON@109..111 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")] @@ -232,11 +232,11 @@ JsModule { 3: FROM_KW@135..140 "from" [] [Whitespace(" ")] 4: JS_MODULE_SOURCE@140..151 0: JS_STRING_LITERAL@140..151 "\"foo.json\"" [] [Whitespace(" ")] - 5: JS_IMPORT_ATTRIBUTE@151..170 + 5: JS_IMPORT_ASSERTION@151..170 0: WITH_KW@151..156 "with" [] [Whitespace(" ")] 1: L_CURLY@156..158 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@158..169 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@158..169 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@158..169 + 0: JS_IMPORT_ASSERTION_ENTRY@158..169 0: IDENT@158..161 "for" [] [] 1: COLON@161..163 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@163..169 "\"for\"" [] [Whitespace(" ")] @@ -251,16 +251,16 @@ JsModule { 2: FROM_KW@187..192 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@192..203 0: JS_STRING_LITERAL@192..203 "\"foo.json\"" [] [Whitespace(" ")] - 4: JS_IMPORT_ATTRIBUTE@203..248 + 4: JS_IMPORT_ASSERTION@203..248 0: WITH_KW@203..208 "with" [] [Whitespace(" ")] 1: L_CURLY@208..210 "{" [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@210..247 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@210..222 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@210..247 + 0: JS_IMPORT_ASSERTION_ENTRY@210..222 0: IDENT@210..214 "type" [] [] 1: COLON@214..216 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@216..222 "\"json\"" [] [] 1: COMMA@222..224 "," [] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY@224..247 + 2: JS_IMPORT_ASSERTION_ENTRY@224..247 0: IDENT@224..238 "hasOwnProperty" [] [] 1: COLON@238..240 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@240..247 "\"true\"" [] [Whitespace(" ")] @@ -271,11 +271,11 @@ JsModule { 1: JS_IMPORT_BARE_CLAUSE@257..282 0: JS_MODULE_SOURCE@257..261 0: JS_STRING_LITERAL@257..261 "\"x\"" [] [Whitespace(" ")] - 1: JS_IMPORT_ATTRIBUTE@261..282 + 1: JS_IMPORT_ASSERTION@261..282 0: WITH_KW@261..265 "with" [] [] 1: L_CURLY@265..268 "{" [Newline("\n")] [Whitespace(" ")] - 2: JS_IMPORT_ATTRIBUTE_ENTRY_LIST@268..281 - 0: JS_IMPORT_ATTRIBUTE_ENTRY@268..281 + 2: JS_IMPORT_ASSERTION_ENTRY_LIST@268..281 + 0: JS_IMPORT_ASSERTION_ENTRY@268..281 0: IDENT@268..272 "type" [] [] 1: COLON@272..274 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@274..281 "\"json\"" [] [Whitespace(" ")] diff --git a/crates/rome_js_parser/test_data/inline/ok/import_bare_clause.rast b/crates/rome_js_parser/test_data/inline/ok/import_bare_clause.rast index 28197e17e16..dcc82510746 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_bare_clause.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_bare_clause.rast @@ -8,7 +8,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@7..13 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@13..14 ";" [] [], }, @@ -18,7 +18,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@22..36 "\"no_semicolon\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, diff --git a/crates/rome_js_parser/test_data/inline/ok/import_decl.rast b/crates/rome_js_parser/test_data/inline/ok/import_decl.rast index aa58c059192..4bad1615e1e 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_decl.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_decl.rast @@ -15,7 +15,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@21..26 "\"bla\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@26..27 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/import_default_clause.rast b/crates/rome_js_parser/test_data/inline/ok/import_default_clause.rast index eb6f1a65b4a..e062bf4264f 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_default_clause.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_default_clause.rast @@ -13,7 +13,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@16..22 "\"test\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@22..23 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/import_named_clause.rast b/crates/rome_js_parser/test_data/inline/ok/import_named_clause.rast index f61ca77cc7b..f54b7c55ffe 100644 --- a/crates/rome_js_parser/test_data/inline/ok/import_named_clause.rast +++ b/crates/rome_js_parser/test_data/inline/ok/import_named_clause.rast @@ -16,7 +16,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@15..18 "\"a\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@18..19 ";" [] [], }, @@ -56,7 +56,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@45..48 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@48..49 ";" [] [], }, @@ -86,7 +86,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@71..74 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@74..75 ";" [] [], }, @@ -111,7 +111,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@102..105 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@105..106 ";" [] [], }, @@ -162,7 +162,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@158..161 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@161..162 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/module.rast b/crates/rome_js_parser/test_data/inline/ok/module.rast index d7fab9784c8..9081478ae12 100644 --- a/crates/rome_js_parser/test_data/inline/ok/module.rast +++ b/crates/rome_js_parser/test_data/inline/ok/module.rast @@ -13,7 +13,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@14..17 "\"b\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@17..18 ";" [] [], }, @@ -73,7 +73,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@56..59 "\"c\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@59..60 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/ts_export_named_from_specifier_with_type.rast b/crates/rome_js_parser/test_data/inline/ok/ts_export_named_from_specifier_with_type.rast index 811fe6516d6..11c2bf08211 100644 --- a/crates/rome_js_parser/test_data/inline/ok/ts_export_named_from_specifier_with_type.rast +++ b/crates/rome_js_parser/test_data/inline/ok/ts_export_named_from_specifier_with_type.rast @@ -22,7 +22,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@23..26 "\"a\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: missing (optional), }, }, @@ -46,7 +46,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@48..56 "\"./type\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@56..57 ";" [] [], }, }, diff --git a/crates/rome_js_parser/test_data/inline/ok/ts_export_type_named_from.rast b/crates/rome_js_parser/test_data/inline/ok/ts_export_type_named_from.rast index f713d3abcd7..a3692c7fd92 100644 --- a/crates/rome_js_parser/test_data/inline/ok/ts_export_type_named_from.rast +++ b/crates/rome_js_parser/test_data/inline/ok/ts_export_type_named_from.rast @@ -22,7 +22,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@23..26 "\"a\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), semicolon_token: SEMICOLON@26..27 ";" [] [], }, }, diff --git a/crates/rome_js_parser/test_data/inline/ok/ts_import_clause_types.rast b/crates/rome_js_parser/test_data/inline/ok/ts_import_clause_types.rast index 92f576466bc..cc5887a5623 100644 --- a/crates/rome_js_parser/test_data/inline/ok/ts_import_clause_types.rast +++ b/crates/rome_js_parser/test_data/inline/ok/ts_import_clause_types.rast @@ -13,7 +13,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@17..24 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@24..39 ";" [] [Whitespace(" "), Comments("// not a type")], }, @@ -28,7 +28,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@61..68 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@68..69 ";" [] [], }, @@ -45,7 +45,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@97..104 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@104..105 ";" [] [], }, @@ -70,7 +70,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@132..137 "\"mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@137..138 ";" [] [], }, diff --git a/crates/rome_js_parser/test_data/inline/ok/ts_named_import_specifier_with_type.rast b/crates/rome_js_parser/test_data/inline/ok/ts_named_import_specifier_with_type.rast index 7fc72c65940..9efa5619dfb 100644 --- a/crates/rome_js_parser/test_data/inline/ok/ts_named_import_specifier_with_type.rast +++ b/crates/rome_js_parser/test_data/inline/ok/ts_named_import_specifier_with_type.rast @@ -30,7 +30,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@30..37 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@37..38 ";" [] [], }, @@ -59,7 +59,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@69..76 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, @@ -88,7 +88,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@104..111 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@111..112 ";" [] [], }, @@ -117,7 +117,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@143..150 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: missing (optional), }, @@ -146,7 +146,7 @@ JsModule { source: JsModuleSource { value_token: JS_STRING_LITERAL@192..199 "\"./mod\"" [] [], }, - attribute: missing (optional), + assertion: missing (optional), }, semicolon_token: SEMICOLON@199..200 ";" [] [], }, diff --git a/crates/rome_js_syntax/src/generated/kind.rs b/crates/rome_js_syntax/src/generated/kind.rs index a94d5106978..f9c527c5377 100644 --- a/crates/rome_js_syntax/src/generated/kind.rs +++ b/crates/rome_js_syntax/src/generated/kind.rs @@ -119,6 +119,7 @@ pub enum JsSyntaxKind { AS_KW, SATISFIES_KW, ASSERTS_KW, + ASSERT_KW, ANY_KW, ASYNC_KW, AWAIT_KW, @@ -342,9 +343,9 @@ pub enum JsSyntaxKind { JS_DEFAULT_IMPORT_SPECIFIER, JS_NAMED_IMPORT_SPECIFIER, JS_SHORTHAND_NAMED_IMPORT_SPECIFIER, - JS_IMPORT_ATTRIBUTE, - JS_IMPORT_ATTRIBUTE_ENTRY_LIST, - JS_IMPORT_ATTRIBUTE_ENTRY, + JS_IMPORT_ASSERTION, + JS_IMPORT_ASSERTION_ENTRY_LIST, + JS_IMPORT_ASSERTION_ENTRY, JS_MODULE_SOURCE, JS_EXPORT, JS_EXPORT_NAMED_CLAUSE, @@ -499,7 +500,7 @@ pub enum JsSyntaxKind { JS_BOGUS_MEMBER, JS_BOGUS_BINDING, JS_BOGUS_PARAMETER, - JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY, + JS_BOGUS_IMPORT_ASSERTION_ENTRY, JS_BOGUS_NAMED_IMPORT_SPECIFIER, JS_BOGUS_ASSIGNMENT, TS_BOGUS_TYPE, @@ -550,7 +551,7 @@ impl JsSyntaxKind { | JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST | JS_OBJECT_ASSIGNMENT_PATTERN_PROPERTY_LIST | JS_NAMED_IMPORT_SPECIFIER_LIST - | JS_IMPORT_ATTRIBUTE_ENTRY_LIST + | JS_IMPORT_ASSERTION_ENTRY_LIST | JS_EXPORT_NAMED_SPECIFIER_LIST | JS_EXPORT_NAMED_FROM_SPECIFIER_LIST | JS_DECORATOR_LIST @@ -624,6 +625,7 @@ impl JsSyntaxKind { "as" => AS_KW, "satisfies" => SATISFIES_KW, "asserts" => ASSERTS_KW, + "assert" => ASSERT_KW, "any" => ANY_KW, "async" => ASYNC_KW, "await" => AWAIT_KW, @@ -769,6 +771,7 @@ impl JsSyntaxKind { AS_KW => "as", SATISFIES_KW => "satisfies", ASSERTS_KW => "asserts", + ASSERT_KW => "assert", ANY_KW => "any", ASYNC_KW => "async", AWAIT_KW => "await", @@ -807,4 +810,4 @@ impl JsSyntaxKind { } #[doc = r" Utility macro for creating a SyntaxKind through simple macro syntax"] #[macro_export] -macro_rules ! T { [;] => { $ crate :: JsSyntaxKind :: SEMICOLON } ; [,] => { $ crate :: JsSyntaxKind :: COMMA } ; ['('] => { $ crate :: JsSyntaxKind :: L_PAREN } ; [')'] => { $ crate :: JsSyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: JsSyntaxKind :: L_CURLY } ; ['}'] => { $ crate :: JsSyntaxKind :: R_CURLY } ; ['['] => { $ crate :: JsSyntaxKind :: L_BRACK } ; [']'] => { $ crate :: JsSyntaxKind :: R_BRACK } ; [<] => { $ crate :: JsSyntaxKind :: L_ANGLE } ; [>] => { $ crate :: JsSyntaxKind :: R_ANGLE } ; [~] => { $ crate :: JsSyntaxKind :: TILDE } ; [?] => { $ crate :: JsSyntaxKind :: QUESTION } ; [??] => { $ crate :: JsSyntaxKind :: QUESTION2 } ; [?.] => { $ crate :: JsSyntaxKind :: QUESTIONDOT } ; [&] => { $ crate :: JsSyntaxKind :: AMP } ; [|] => { $ crate :: JsSyntaxKind :: PIPE } ; [+] => { $ crate :: JsSyntaxKind :: PLUS } ; [++] => { $ crate :: JsSyntaxKind :: PLUS2 } ; [*] => { $ crate :: JsSyntaxKind :: STAR } ; [**] => { $ crate :: JsSyntaxKind :: STAR2 } ; [/] => { $ crate :: JsSyntaxKind :: SLASH } ; [^] => { $ crate :: JsSyntaxKind :: CARET } ; [%] => { $ crate :: JsSyntaxKind :: PERCENT } ; [.] => { $ crate :: JsSyntaxKind :: DOT } ; [...] => { $ crate :: JsSyntaxKind :: DOT3 } ; [:] => { $ crate :: JsSyntaxKind :: COLON } ; [=] => { $ crate :: JsSyntaxKind :: EQ } ; [==] => { $ crate :: JsSyntaxKind :: EQ2 } ; [===] => { $ crate :: JsSyntaxKind :: EQ3 } ; [=>] => { $ crate :: JsSyntaxKind :: FAT_ARROW } ; [!] => { $ crate :: JsSyntaxKind :: BANG } ; [!=] => { $ crate :: JsSyntaxKind :: NEQ } ; [!==] => { $ crate :: JsSyntaxKind :: NEQ2 } ; [-] => { $ crate :: JsSyntaxKind :: MINUS } ; [--] => { $ crate :: JsSyntaxKind :: MINUS2 } ; [<=] => { $ crate :: JsSyntaxKind :: LTEQ } ; [>=] => { $ crate :: JsSyntaxKind :: GTEQ } ; [+=] => { $ crate :: JsSyntaxKind :: PLUSEQ } ; [-=] => { $ crate :: JsSyntaxKind :: MINUSEQ } ; [|=] => { $ crate :: JsSyntaxKind :: PIPEEQ } ; [&=] => { $ crate :: JsSyntaxKind :: AMPEQ } ; [^=] => { $ crate :: JsSyntaxKind :: CARETEQ } ; [/=] => { $ crate :: JsSyntaxKind :: SLASHEQ } ; [*=] => { $ crate :: JsSyntaxKind :: STAREQ } ; [%=] => { $ crate :: JsSyntaxKind :: PERCENTEQ } ; [&&] => { $ crate :: JsSyntaxKind :: AMP2 } ; [||] => { $ crate :: JsSyntaxKind :: PIPE2 } ; [<<] => { $ crate :: JsSyntaxKind :: SHL } ; [>>] => { $ crate :: JsSyntaxKind :: SHR } ; [>>>] => { $ crate :: JsSyntaxKind :: USHR } ; [<<=] => { $ crate :: JsSyntaxKind :: SHLEQ } ; [>>=] => { $ crate :: JsSyntaxKind :: SHREQ } ; [>>>=] => { $ crate :: JsSyntaxKind :: USHREQ } ; [&&=] => { $ crate :: JsSyntaxKind :: AMP2EQ } ; [||=] => { $ crate :: JsSyntaxKind :: PIPE2EQ } ; [**=] => { $ crate :: JsSyntaxKind :: STAR2EQ } ; [??=] => { $ crate :: JsSyntaxKind :: QUESTION2EQ } ; [@] => { $ crate :: JsSyntaxKind :: AT } ; ['`'] => { $ crate :: JsSyntaxKind :: BACKTICK } ; [break] => { $ crate :: JsSyntaxKind :: BREAK_KW } ; [case] => { $ crate :: JsSyntaxKind :: CASE_KW } ; [catch] => { $ crate :: JsSyntaxKind :: CATCH_KW } ; [class] => { $ crate :: JsSyntaxKind :: CLASS_KW } ; [const] => { $ crate :: JsSyntaxKind :: CONST_KW } ; [continue] => { $ crate :: JsSyntaxKind :: CONTINUE_KW } ; [debugger] => { $ crate :: JsSyntaxKind :: DEBUGGER_KW } ; [default] => { $ crate :: JsSyntaxKind :: DEFAULT_KW } ; [delete] => { $ crate :: JsSyntaxKind :: DELETE_KW } ; [do] => { $ crate :: JsSyntaxKind :: DO_KW } ; [else] => { $ crate :: JsSyntaxKind :: ELSE_KW } ; [enum] => { $ crate :: JsSyntaxKind :: ENUM_KW } ; [export] => { $ crate :: JsSyntaxKind :: EXPORT_KW } ; [extends] => { $ crate :: JsSyntaxKind :: EXTENDS_KW } ; [false] => { $ crate :: JsSyntaxKind :: FALSE_KW } ; [finally] => { $ crate :: JsSyntaxKind :: FINALLY_KW } ; [for] => { $ crate :: JsSyntaxKind :: FOR_KW } ; [function] => { $ crate :: JsSyntaxKind :: FUNCTION_KW } ; [if] => { $ crate :: JsSyntaxKind :: IF_KW } ; [in] => { $ crate :: JsSyntaxKind :: IN_KW } ; [instanceof] => { $ crate :: JsSyntaxKind :: INSTANCEOF_KW } ; [import] => { $ crate :: JsSyntaxKind :: IMPORT_KW } ; [new] => { $ crate :: JsSyntaxKind :: NEW_KW } ; [null] => { $ crate :: JsSyntaxKind :: NULL_KW } ; [return] => { $ crate :: JsSyntaxKind :: RETURN_KW } ; [super] => { $ crate :: JsSyntaxKind :: SUPER_KW } ; [switch] => { $ crate :: JsSyntaxKind :: SWITCH_KW } ; [this] => { $ crate :: JsSyntaxKind :: THIS_KW } ; [throw] => { $ crate :: JsSyntaxKind :: THROW_KW } ; [try] => { $ crate :: JsSyntaxKind :: TRY_KW } ; [true] => { $ crate :: JsSyntaxKind :: TRUE_KW } ; [typeof] => { $ crate :: JsSyntaxKind :: TYPEOF_KW } ; [var] => { $ crate :: JsSyntaxKind :: VAR_KW } ; [void] => { $ crate :: JsSyntaxKind :: VOID_KW } ; [while] => { $ crate :: JsSyntaxKind :: WHILE_KW } ; [with] => { $ crate :: JsSyntaxKind :: WITH_KW } ; [implements] => { $ crate :: JsSyntaxKind :: IMPLEMENTS_KW } ; [interface] => { $ crate :: JsSyntaxKind :: INTERFACE_KW } ; [let] => { $ crate :: JsSyntaxKind :: LET_KW } ; [package] => { $ crate :: JsSyntaxKind :: PACKAGE_KW } ; [private] => { $ crate :: JsSyntaxKind :: PRIVATE_KW } ; [protected] => { $ crate :: JsSyntaxKind :: PROTECTED_KW } ; [public] => { $ crate :: JsSyntaxKind :: PUBLIC_KW } ; [static] => { $ crate :: JsSyntaxKind :: STATIC_KW } ; [yield] => { $ crate :: JsSyntaxKind :: YIELD_KW } ; [abstract] => { $ crate :: JsSyntaxKind :: ABSTRACT_KW } ; [accessor] => { $ crate :: JsSyntaxKind :: ACCESSOR_KW } ; [as] => { $ crate :: JsSyntaxKind :: AS_KW } ; [satisfies] => { $ crate :: JsSyntaxKind :: SATISFIES_KW } ; [asserts] => { $ crate :: JsSyntaxKind :: ASSERTS_KW } ; [any] => { $ crate :: JsSyntaxKind :: ANY_KW } ; [async] => { $ crate :: JsSyntaxKind :: ASYNC_KW } ; [await] => { $ crate :: JsSyntaxKind :: AWAIT_KW } ; [boolean] => { $ crate :: JsSyntaxKind :: BOOLEAN_KW } ; [constructor] => { $ crate :: JsSyntaxKind :: CONSTRUCTOR_KW } ; [declare] => { $ crate :: JsSyntaxKind :: DECLARE_KW } ; [get] => { $ crate :: JsSyntaxKind :: GET_KW } ; [infer] => { $ crate :: JsSyntaxKind :: INFER_KW } ; [is] => { $ crate :: JsSyntaxKind :: IS_KW } ; [keyof] => { $ crate :: JsSyntaxKind :: KEYOF_KW } ; [module] => { $ crate :: JsSyntaxKind :: MODULE_KW } ; [namespace] => { $ crate :: JsSyntaxKind :: NAMESPACE_KW } ; [never] => { $ crate :: JsSyntaxKind :: NEVER_KW } ; [readonly] => { $ crate :: JsSyntaxKind :: READONLY_KW } ; [require] => { $ crate :: JsSyntaxKind :: REQUIRE_KW } ; [number] => { $ crate :: JsSyntaxKind :: NUMBER_KW } ; [object] => { $ crate :: JsSyntaxKind :: OBJECT_KW } ; [set] => { $ crate :: JsSyntaxKind :: SET_KW } ; [string] => { $ crate :: JsSyntaxKind :: STRING_KW } ; [symbol] => { $ crate :: JsSyntaxKind :: SYMBOL_KW } ; [type] => { $ crate :: JsSyntaxKind :: TYPE_KW } ; [undefined] => { $ crate :: JsSyntaxKind :: UNDEFINED_KW } ; [unique] => { $ crate :: JsSyntaxKind :: UNIQUE_KW } ; [unknown] => { $ crate :: JsSyntaxKind :: UNKNOWN_KW } ; [from] => { $ crate :: JsSyntaxKind :: FROM_KW } ; [global] => { $ crate :: JsSyntaxKind :: GLOBAL_KW } ; [bigint] => { $ crate :: JsSyntaxKind :: BIGINT_KW } ; [override] => { $ crate :: JsSyntaxKind :: OVERRIDE_KW } ; [of] => { $ crate :: JsSyntaxKind :: OF_KW } ; [out] => { $ crate :: JsSyntaxKind :: OUT_KW } ; [ident] => { $ crate :: JsSyntaxKind :: IDENT } ; [EOF] => { $ crate :: JsSyntaxKind :: EOF } ; [#] => { $ crate :: JsSyntaxKind :: HASH } ; } +macro_rules ! T { [;] => { $ crate :: JsSyntaxKind :: SEMICOLON } ; [,] => { $ crate :: JsSyntaxKind :: COMMA } ; ['('] => { $ crate :: JsSyntaxKind :: L_PAREN } ; [')'] => { $ crate :: JsSyntaxKind :: R_PAREN } ; ['{'] => { $ crate :: JsSyntaxKind :: L_CURLY } ; ['}'] => { $ crate :: JsSyntaxKind :: R_CURLY } ; ['['] => { $ crate :: JsSyntaxKind :: L_BRACK } ; [']'] => { $ crate :: JsSyntaxKind :: R_BRACK } ; [<] => { $ crate :: JsSyntaxKind :: L_ANGLE } ; [>] => { $ crate :: JsSyntaxKind :: R_ANGLE } ; [~] => { $ crate :: JsSyntaxKind :: TILDE } ; [?] => { $ crate :: JsSyntaxKind :: QUESTION } ; [??] => { $ crate :: JsSyntaxKind :: QUESTION2 } ; [?.] => { $ crate :: JsSyntaxKind :: QUESTIONDOT } ; [&] => { $ crate :: JsSyntaxKind :: AMP } ; [|] => { $ crate :: JsSyntaxKind :: PIPE } ; [+] => { $ crate :: JsSyntaxKind :: PLUS } ; [++] => { $ crate :: JsSyntaxKind :: PLUS2 } ; [*] => { $ crate :: JsSyntaxKind :: STAR } ; [**] => { $ crate :: JsSyntaxKind :: STAR2 } ; [/] => { $ crate :: JsSyntaxKind :: SLASH } ; [^] => { $ crate :: JsSyntaxKind :: CARET } ; [%] => { $ crate :: JsSyntaxKind :: PERCENT } ; [.] => { $ crate :: JsSyntaxKind :: DOT } ; [...] => { $ crate :: JsSyntaxKind :: DOT3 } ; [:] => { $ crate :: JsSyntaxKind :: COLON } ; [=] => { $ crate :: JsSyntaxKind :: EQ } ; [==] => { $ crate :: JsSyntaxKind :: EQ2 } ; [===] => { $ crate :: JsSyntaxKind :: EQ3 } ; [=>] => { $ crate :: JsSyntaxKind :: FAT_ARROW } ; [!] => { $ crate :: JsSyntaxKind :: BANG } ; [!=] => { $ crate :: JsSyntaxKind :: NEQ } ; [!==] => { $ crate :: JsSyntaxKind :: NEQ2 } ; [-] => { $ crate :: JsSyntaxKind :: MINUS } ; [--] => { $ crate :: JsSyntaxKind :: MINUS2 } ; [<=] => { $ crate :: JsSyntaxKind :: LTEQ } ; [>=] => { $ crate :: JsSyntaxKind :: GTEQ } ; [+=] => { $ crate :: JsSyntaxKind :: PLUSEQ } ; [-=] => { $ crate :: JsSyntaxKind :: MINUSEQ } ; [|=] => { $ crate :: JsSyntaxKind :: PIPEEQ } ; [&=] => { $ crate :: JsSyntaxKind :: AMPEQ } ; [^=] => { $ crate :: JsSyntaxKind :: CARETEQ } ; [/=] => { $ crate :: JsSyntaxKind :: SLASHEQ } ; [*=] => { $ crate :: JsSyntaxKind :: STAREQ } ; [%=] => { $ crate :: JsSyntaxKind :: PERCENTEQ } ; [&&] => { $ crate :: JsSyntaxKind :: AMP2 } ; [||] => { $ crate :: JsSyntaxKind :: PIPE2 } ; [<<] => { $ crate :: JsSyntaxKind :: SHL } ; [>>] => { $ crate :: JsSyntaxKind :: SHR } ; [>>>] => { $ crate :: JsSyntaxKind :: USHR } ; [<<=] => { $ crate :: JsSyntaxKind :: SHLEQ } ; [>>=] => { $ crate :: JsSyntaxKind :: SHREQ } ; [>>>=] => { $ crate :: JsSyntaxKind :: USHREQ } ; [&&=] => { $ crate :: JsSyntaxKind :: AMP2EQ } ; [||=] => { $ crate :: JsSyntaxKind :: PIPE2EQ } ; [**=] => { $ crate :: JsSyntaxKind :: STAR2EQ } ; [??=] => { $ crate :: JsSyntaxKind :: QUESTION2EQ } ; [@] => { $ crate :: JsSyntaxKind :: AT } ; ['`'] => { $ crate :: JsSyntaxKind :: BACKTICK } ; [break] => { $ crate :: JsSyntaxKind :: BREAK_KW } ; [case] => { $ crate :: JsSyntaxKind :: CASE_KW } ; [catch] => { $ crate :: JsSyntaxKind :: CATCH_KW } ; [class] => { $ crate :: JsSyntaxKind :: CLASS_KW } ; [const] => { $ crate :: JsSyntaxKind :: CONST_KW } ; [continue] => { $ crate :: JsSyntaxKind :: CONTINUE_KW } ; [debugger] => { $ crate :: JsSyntaxKind :: DEBUGGER_KW } ; [default] => { $ crate :: JsSyntaxKind :: DEFAULT_KW } ; [delete] => { $ crate :: JsSyntaxKind :: DELETE_KW } ; [do] => { $ crate :: JsSyntaxKind :: DO_KW } ; [else] => { $ crate :: JsSyntaxKind :: ELSE_KW } ; [enum] => { $ crate :: JsSyntaxKind :: ENUM_KW } ; [export] => { $ crate :: JsSyntaxKind :: EXPORT_KW } ; [extends] => { $ crate :: JsSyntaxKind :: EXTENDS_KW } ; [false] => { $ crate :: JsSyntaxKind :: FALSE_KW } ; [finally] => { $ crate :: JsSyntaxKind :: FINALLY_KW } ; [for] => { $ crate :: JsSyntaxKind :: FOR_KW } ; [function] => { $ crate :: JsSyntaxKind :: FUNCTION_KW } ; [if] => { $ crate :: JsSyntaxKind :: IF_KW } ; [in] => { $ crate :: JsSyntaxKind :: IN_KW } ; [instanceof] => { $ crate :: JsSyntaxKind :: INSTANCEOF_KW } ; [import] => { $ crate :: JsSyntaxKind :: IMPORT_KW } ; [new] => { $ crate :: JsSyntaxKind :: NEW_KW } ; [null] => { $ crate :: JsSyntaxKind :: NULL_KW } ; [return] => { $ crate :: JsSyntaxKind :: RETURN_KW } ; [super] => { $ crate :: JsSyntaxKind :: SUPER_KW } ; [switch] => { $ crate :: JsSyntaxKind :: SWITCH_KW } ; [this] => { $ crate :: JsSyntaxKind :: THIS_KW } ; [throw] => { $ crate :: JsSyntaxKind :: THROW_KW } ; [try] => { $ crate :: JsSyntaxKind :: TRY_KW } ; [true] => { $ crate :: JsSyntaxKind :: TRUE_KW } ; [typeof] => { $ crate :: JsSyntaxKind :: TYPEOF_KW } ; [var] => { $ crate :: JsSyntaxKind :: VAR_KW } ; [void] => { $ crate :: JsSyntaxKind :: VOID_KW } ; [while] => { $ crate :: JsSyntaxKind :: WHILE_KW } ; [with] => { $ crate :: JsSyntaxKind :: WITH_KW } ; [implements] => { $ crate :: JsSyntaxKind :: IMPLEMENTS_KW } ; [interface] => { $ crate :: JsSyntaxKind :: INTERFACE_KW } ; [let] => { $ crate :: JsSyntaxKind :: LET_KW } ; [package] => { $ crate :: JsSyntaxKind :: PACKAGE_KW } ; [private] => { $ crate :: JsSyntaxKind :: PRIVATE_KW } ; [protected] => { $ crate :: JsSyntaxKind :: PROTECTED_KW } ; [public] => { $ crate :: JsSyntaxKind :: PUBLIC_KW } ; [static] => { $ crate :: JsSyntaxKind :: STATIC_KW } ; [yield] => { $ crate :: JsSyntaxKind :: YIELD_KW } ; [abstract] => { $ crate :: JsSyntaxKind :: ABSTRACT_KW } ; [accessor] => { $ crate :: JsSyntaxKind :: ACCESSOR_KW } ; [as] => { $ crate :: JsSyntaxKind :: AS_KW } ; [satisfies] => { $ crate :: JsSyntaxKind :: SATISFIES_KW } ; [asserts] => { $ crate :: JsSyntaxKind :: ASSERTS_KW } ; [assert] => { $ crate :: JsSyntaxKind :: ASSERT_KW } ; [any] => { $ crate :: JsSyntaxKind :: ANY_KW } ; [async] => { $ crate :: JsSyntaxKind :: ASYNC_KW } ; [await] => { $ crate :: JsSyntaxKind :: AWAIT_KW } ; [boolean] => { $ crate :: JsSyntaxKind :: BOOLEAN_KW } ; [constructor] => { $ crate :: JsSyntaxKind :: CONSTRUCTOR_KW } ; [declare] => { $ crate :: JsSyntaxKind :: DECLARE_KW } ; [get] => { $ crate :: JsSyntaxKind :: GET_KW } ; [infer] => { $ crate :: JsSyntaxKind :: INFER_KW } ; [is] => { $ crate :: JsSyntaxKind :: IS_KW } ; [keyof] => { $ crate :: JsSyntaxKind :: KEYOF_KW } ; [module] => { $ crate :: JsSyntaxKind :: MODULE_KW } ; [namespace] => { $ crate :: JsSyntaxKind :: NAMESPACE_KW } ; [never] => { $ crate :: JsSyntaxKind :: NEVER_KW } ; [readonly] => { $ crate :: JsSyntaxKind :: READONLY_KW } ; [require] => { $ crate :: JsSyntaxKind :: REQUIRE_KW } ; [number] => { $ crate :: JsSyntaxKind :: NUMBER_KW } ; [object] => { $ crate :: JsSyntaxKind :: OBJECT_KW } ; [set] => { $ crate :: JsSyntaxKind :: SET_KW } ; [string] => { $ crate :: JsSyntaxKind :: STRING_KW } ; [symbol] => { $ crate :: JsSyntaxKind :: SYMBOL_KW } ; [type] => { $ crate :: JsSyntaxKind :: TYPE_KW } ; [undefined] => { $ crate :: JsSyntaxKind :: UNDEFINED_KW } ; [unique] => { $ crate :: JsSyntaxKind :: UNIQUE_KW } ; [unknown] => { $ crate :: JsSyntaxKind :: UNKNOWN_KW } ; [from] => { $ crate :: JsSyntaxKind :: FROM_KW } ; [global] => { $ crate :: JsSyntaxKind :: GLOBAL_KW } ; [bigint] => { $ crate :: JsSyntaxKind :: BIGINT_KW } ; [override] => { $ crate :: JsSyntaxKind :: OVERRIDE_KW } ; [of] => { $ crate :: JsSyntaxKind :: OF_KW } ; [out] => { $ crate :: JsSyntaxKind :: OUT_KW } ; [ident] => { $ crate :: JsSyntaxKind :: IDENT } ; [EOF] => { $ crate :: JsSyntaxKind :: EOF } ; [#] => { $ crate :: JsSyntaxKind :: HASH } ; } diff --git a/crates/rome_js_syntax/src/generated/macros.rs b/crates/rome_js_syntax/src/generated/macros.rs index 89e8a492d44..156e7651a53 100644 --- a/crates/rome_js_syntax/src/generated/macros.rs +++ b/crates/rome_js_syntax/src/generated/macros.rs @@ -314,12 +314,12 @@ macro_rules! map_syntax_node { let $pattern = unsafe { $crate::JsImport::new_unchecked(node) }; $body } - $crate::JsSyntaxKind::JS_IMPORT_ATTRIBUTE => { - let $pattern = unsafe { $crate::JsImportAttribute::new_unchecked(node) }; + $crate::JsSyntaxKind::JS_IMPORT_ASSERTION => { + let $pattern = unsafe { $crate::JsImportAssertion::new_unchecked(node) }; $body } - $crate::JsSyntaxKind::JS_IMPORT_ATTRIBUTE_ENTRY => { - let $pattern = unsafe { $crate::JsImportAttributeEntry::new_unchecked(node) }; + $crate::JsSyntaxKind::JS_IMPORT_ASSERTION_ENTRY => { + let $pattern = unsafe { $crate::JsImportAssertionEntry::new_unchecked(node) }; $body } $crate::JsSyntaxKind::JS_IMPORT_BARE_CLAUSE => { @@ -1239,9 +1239,9 @@ macro_rules! map_syntax_node { let $pattern = unsafe { $crate::JsBogusExpression::new_unchecked(node) }; $body } - $crate::JsSyntaxKind::JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY => { + $crate::JsSyntaxKind::JS_BOGUS_IMPORT_ASSERTION_ENTRY => { let $pattern = - unsafe { $crate::JsBogusImportAttributeEntry::new_unchecked(node) }; + unsafe { $crate::JsBogusImportAssertionEntry::new_unchecked(node) }; $body } $crate::JsSyntaxKind::JS_BOGUS_MEMBER => { @@ -1315,9 +1315,9 @@ macro_rules! map_syntax_node { unsafe { $crate::JsExportNamedSpecifierList::new_unchecked(node) }; $body } - $crate::JsSyntaxKind::JS_IMPORT_ATTRIBUTE_ENTRY_LIST => { + $crate::JsSyntaxKind::JS_IMPORT_ASSERTION_ENTRY_LIST => { let $pattern = - unsafe { $crate::JsImportAttributeEntryList::new_unchecked(node) }; + unsafe { $crate::JsImportAssertionEntryList::new_unchecked(node) }; $body } $crate::JsSyntaxKind::JS_METHOD_MODIFIER_LIST => { diff --git a/crates/rome_js_syntax/src/generated/nodes.rs b/crates/rome_js_syntax/src/generated/nodes.rs index 3ab91f8e2d3..e99b1675531 100644 --- a/crates/rome_js_syntax/src/generated/nodes.rs +++ b/crates/rome_js_syntax/src/generated/nodes.rs @@ -2016,7 +2016,7 @@ impl JsExportFromClause { export_as: self.export_as(), from_token: self.from_token(), source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), semicolon_token: self.semicolon_token(), } } @@ -2031,7 +2031,7 @@ impl JsExportFromClause { pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 4usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 5usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 5usize) } pub fn semicolon_token(&self) -> Option { support::token(&self.syntax, 6usize) } } #[cfg(feature = "serde")] @@ -2050,7 +2050,7 @@ pub struct JsExportFromClauseFields { pub export_as: Option, pub from_token: SyntaxResult, pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, pub semicolon_token: Option, } #[derive(Clone, PartialEq, Eq, Hash)] @@ -2121,7 +2121,7 @@ impl JsExportNamedFromClause { r_curly_token: self.r_curly_token(), from_token: self.from_token(), source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), semicolon_token: self.semicolon_token(), } } @@ -2141,7 +2141,7 @@ impl JsExportNamedFromClause { pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 5usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 6usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 6usize) } pub fn semicolon_token(&self) -> Option { support::token(&self.syntax, 7usize) } } #[cfg(feature = "serde")] @@ -2161,7 +2161,7 @@ pub struct JsExportNamedFromClauseFields { pub r_curly_token: SyntaxResult, pub from_token: SyntaxResult, pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, pub semicolon_token: Option, } #[derive(Clone, PartialEq, Eq, Hash)] @@ -3281,10 +3281,10 @@ pub struct JsImportFields { pub semicolon_token: Option, } #[derive(Clone, PartialEq, Eq, Hash)] -pub struct JsImportAttribute { +pub struct JsImportAssertion { pub(crate) syntax: SyntaxNode, } -impl JsImportAttribute { +impl JsImportAssertion { #[doc = r" Create an AstNode from a SyntaxNode without checking its kind"] #[doc = r""] #[doc = r" # Safety"] @@ -3292,27 +3292,27 @@ impl JsImportAttribute { #[doc = r" or a match on [SyntaxNode::kind]"] #[inline] pub const unsafe fn new_unchecked(syntax: SyntaxNode) -> Self { Self { syntax } } - pub fn as_fields(&self) -> JsImportAttributeFields { - JsImportAttributeFields { - with_token: self.with_token(), + pub fn as_fields(&self) -> JsImportAssertionFields { + JsImportAssertionFields { + assertion_kind: self.assertion_kind(), l_curly_token: self.l_curly_token(), - attributes: self.attributes(), + assertions: self.assertions(), r_curly_token: self.r_curly_token(), } } - pub fn with_token(&self) -> SyntaxResult { + pub fn assertion_kind(&self) -> SyntaxResult { support::required_token(&self.syntax, 0usize) } pub fn l_curly_token(&self) -> SyntaxResult { support::required_token(&self.syntax, 1usize) } - pub fn attributes(&self) -> JsImportAttributeEntryList { support::list(&self.syntax, 2usize) } + pub fn assertions(&self) -> JsImportAssertionEntryList { support::list(&self.syntax, 2usize) } pub fn r_curly_token(&self) -> SyntaxResult { support::required_token(&self.syntax, 3usize) } } #[cfg(feature = "serde")] -impl Serialize for JsImportAttribute { +impl Serialize for JsImportAssertion { fn serialize(&self, serializer: S) -> Result where S: Serializer, @@ -3321,17 +3321,17 @@ impl Serialize for JsImportAttribute { } } #[cfg_attr(feature = "serde", derive(Serialize))] -pub struct JsImportAttributeFields { - pub with_token: SyntaxResult, +pub struct JsImportAssertionFields { + pub assertion_kind: SyntaxResult, pub l_curly_token: SyntaxResult, - pub attributes: JsImportAttributeEntryList, + pub assertions: JsImportAssertionEntryList, pub r_curly_token: SyntaxResult, } #[derive(Clone, PartialEq, Eq, Hash)] -pub struct JsImportAttributeEntry { +pub struct JsImportAssertionEntry { pub(crate) syntax: SyntaxNode, } -impl JsImportAttributeEntry { +impl JsImportAssertionEntry { #[doc = r" Create an AstNode from a SyntaxNode without checking its kind"] #[doc = r""] #[doc = r" # Safety"] @@ -3339,8 +3339,8 @@ impl JsImportAttributeEntry { #[doc = r" or a match on [SyntaxNode::kind]"] #[inline] pub const unsafe fn new_unchecked(syntax: SyntaxNode) -> Self { Self { syntax } } - pub fn as_fields(&self) -> JsImportAttributeEntryFields { - JsImportAttributeEntryFields { + pub fn as_fields(&self) -> JsImportAssertionEntryFields { + JsImportAssertionEntryFields { key: self.key(), colon_token: self.colon_token(), value_token: self.value_token(), @@ -3355,7 +3355,7 @@ impl JsImportAttributeEntry { } } #[cfg(feature = "serde")] -impl Serialize for JsImportAttributeEntry { +impl Serialize for JsImportAssertionEntry { fn serialize(&self, serializer: S) -> Result where S: Serializer, @@ -3364,7 +3364,7 @@ impl Serialize for JsImportAttributeEntry { } } #[cfg_attr(feature = "serde", derive(Serialize))] -pub struct JsImportAttributeEntryFields { +pub struct JsImportAssertionEntryFields { pub key: SyntaxResult, pub colon_token: SyntaxResult, pub value_token: SyntaxResult, @@ -3384,13 +3384,13 @@ impl JsImportBareClause { pub fn as_fields(&self) -> JsImportBareClauseFields { JsImportBareClauseFields { source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), } } pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 0usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 1usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 1usize) } } #[cfg(feature = "serde")] impl Serialize for JsImportBareClause { @@ -3404,7 +3404,7 @@ impl Serialize for JsImportBareClause { #[cfg_attr(feature = "serde", derive(Serialize))] pub struct JsImportBareClauseFields { pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, } #[derive(Clone, PartialEq, Eq, Hash)] pub struct JsImportCallExpression { @@ -3463,7 +3463,7 @@ impl JsImportDefaultClause { local_name: self.local_name(), from_token: self.from_token(), source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), } } pub fn type_token(&self) -> Option { support::token(&self.syntax, 0usize) } @@ -3476,7 +3476,7 @@ impl JsImportDefaultClause { pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 3usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 4usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 4usize) } } #[cfg(feature = "serde")] impl Serialize for JsImportDefaultClause { @@ -3493,7 +3493,7 @@ pub struct JsImportDefaultClauseFields { pub local_name: SyntaxResult, pub from_token: SyntaxResult, pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, } #[derive(Clone, PartialEq, Eq, Hash)] pub struct JsImportMetaExpression { @@ -3558,7 +3558,7 @@ impl JsImportNamedClause { named_import: self.named_import(), from_token: self.from_token(), source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), } } pub fn type_token(&self) -> Option { support::token(&self.syntax, 0usize) } @@ -3574,7 +3574,7 @@ impl JsImportNamedClause { pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 4usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 5usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 5usize) } } #[cfg(feature = "serde")] impl Serialize for JsImportNamedClause { @@ -3592,7 +3592,7 @@ pub struct JsImportNamedClauseFields { pub named_import: SyntaxResult, pub from_token: SyntaxResult, pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, } #[derive(Clone, PartialEq, Eq, Hash)] pub struct JsImportNamespaceClause { @@ -3614,7 +3614,7 @@ impl JsImportNamespaceClause { local_name: self.local_name(), from_token: self.from_token(), source: self.source(), - attribute: self.attribute(), + assertion: self.assertion(), } } pub fn type_token(&self) -> Option { support::token(&self.syntax, 0usize) } @@ -3633,7 +3633,7 @@ impl JsImportNamespaceClause { pub fn source(&self) -> SyntaxResult { support::required_node(&self.syntax, 5usize) } - pub fn attribute(&self) -> Option { support::node(&self.syntax, 6usize) } + pub fn assertion(&self) -> Option { support::node(&self.syntax, 6usize) } } #[cfg(feature = "serde")] impl Serialize for JsImportNamespaceClause { @@ -3652,7 +3652,7 @@ pub struct JsImportNamespaceClauseFields { pub local_name: SyntaxResult, pub from_token: SyntaxResult, pub source: SyntaxResult, - pub attribute: Option, + pub assertion: Option, } #[derive(Clone, PartialEq, Eq, Hash)] pub struct JsInExpression { @@ -13516,20 +13516,20 @@ impl AnyJsFunctionBody { } #[derive(Clone, PartialEq, Eq, Hash)] #[cfg_attr(feature = "serde", derive(Serialize))] -pub enum AnyJsImportAttributeEntry { - JsBogusImportAttributeEntry(JsBogusImportAttributeEntry), - JsImportAttributeEntry(JsImportAttributeEntry), +pub enum AnyJsImportAssertionEntry { + JsBogusImportAssertionEntry(JsBogusImportAssertionEntry), + JsImportAssertionEntry(JsImportAssertionEntry), } -impl AnyJsImportAttributeEntry { - pub fn as_js_bogus_import_attribute_entry(&self) -> Option<&JsBogusImportAttributeEntry> { +impl AnyJsImportAssertionEntry { + pub fn as_js_bogus_import_assertion_entry(&self) -> Option<&JsBogusImportAssertionEntry> { match &self { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(item) => Some(item), + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(item) => Some(item), _ => None, } } - pub fn as_js_import_attribute_entry(&self) -> Option<&JsImportAttributeEntry> { + pub fn as_js_import_assertion_entry(&self) -> Option<&JsImportAssertionEntry> { match &self { - AnyJsImportAttributeEntry::JsImportAttributeEntry(item) => Some(item), + AnyJsImportAssertionEntry::JsImportAssertionEntry(item) => Some(item), _ => None, } } @@ -16918,8 +16918,8 @@ impl std::fmt::Debug for JsExportFromClause { .field("from_token", &support::DebugSyntaxResult(self.from_token())) .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .field( "semicolon_token", @@ -17012,8 +17012,8 @@ impl std::fmt::Debug for JsExportNamedFromClause { .field("from_token", &support::DebugSyntaxResult(self.from_token())) .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .field( "semicolon_token", @@ -17915,11 +17915,11 @@ impl From for SyntaxNode { impl From for SyntaxElement { fn from(n: JsImport) -> SyntaxElement { n.syntax.into() } } -impl AstNode for JsImportAttribute { +impl AstNode for JsImportAssertion { type Language = Language; const KIND_SET: SyntaxKindSet = - SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ATTRIBUTE as u16)); - fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ATTRIBUTE } + SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ASSERTION as u16)); + fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ASSERTION } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -17930,15 +17930,18 @@ impl AstNode for JsImportAttribute { fn syntax(&self) -> &SyntaxNode { &self.syntax } fn into_syntax(self) -> SyntaxNode { self.syntax } } -impl std::fmt::Debug for JsImportAttribute { +impl std::fmt::Debug for JsImportAssertion { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("JsImportAttribute") - .field("with_token", &support::DebugSyntaxResult(self.with_token())) + f.debug_struct("JsImportAssertion") + .field( + "assertion_kind", + &support::DebugSyntaxResult(self.assertion_kind()), + ) .field( "l_curly_token", &support::DebugSyntaxResult(self.l_curly_token()), ) - .field("attributes", &self.attributes()) + .field("assertions", &self.assertions()) .field( "r_curly_token", &support::DebugSyntaxResult(self.r_curly_token()), @@ -17946,17 +17949,17 @@ impl std::fmt::Debug for JsImportAttribute { .finish() } } -impl From for SyntaxNode { - fn from(n: JsImportAttribute) -> SyntaxNode { n.syntax } +impl From for SyntaxNode { + fn from(n: JsImportAssertion) -> SyntaxNode { n.syntax } } -impl From for SyntaxElement { - fn from(n: JsImportAttribute) -> SyntaxElement { n.syntax.into() } +impl From for SyntaxElement { + fn from(n: JsImportAssertion) -> SyntaxElement { n.syntax.into() } } -impl AstNode for JsImportAttributeEntry { +impl AstNode for JsImportAssertionEntry { type Language = Language; const KIND_SET: SyntaxKindSet = - SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ATTRIBUTE_ENTRY as u16)); - fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ATTRIBUTE_ENTRY } + SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ASSERTION_ENTRY as u16)); + fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ASSERTION_ENTRY } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -17967,9 +17970,9 @@ impl AstNode for JsImportAttributeEntry { fn syntax(&self) -> &SyntaxNode { &self.syntax } fn into_syntax(self) -> SyntaxNode { self.syntax } } -impl std::fmt::Debug for JsImportAttributeEntry { +impl std::fmt::Debug for JsImportAssertionEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("JsImportAttributeEntry") + f.debug_struct("JsImportAssertionEntry") .field("key", &support::DebugSyntaxResult(self.key())) .field( "colon_token", @@ -17982,11 +17985,11 @@ impl std::fmt::Debug for JsImportAttributeEntry { .finish() } } -impl From for SyntaxNode { - fn from(n: JsImportAttributeEntry) -> SyntaxNode { n.syntax } +impl From for SyntaxNode { + fn from(n: JsImportAssertionEntry) -> SyntaxNode { n.syntax } } -impl From for SyntaxElement { - fn from(n: JsImportAttributeEntry) -> SyntaxElement { n.syntax.into() } +impl From for SyntaxElement { + fn from(n: JsImportAssertionEntry) -> SyntaxElement { n.syntax.into() } } impl AstNode for JsImportBareClause { type Language = Language; @@ -18008,8 +18011,8 @@ impl std::fmt::Debug for JsImportBareClause { f.debug_struct("JsImportBareClause") .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .finish() } @@ -18078,8 +18081,8 @@ impl std::fmt::Debug for JsImportDefaultClause { .field("from_token", &support::DebugSyntaxResult(self.from_token())) .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .finish() } @@ -18156,8 +18159,8 @@ impl std::fmt::Debug for JsImportNamedClause { .field("from_token", &support::DebugSyntaxResult(self.from_token())) .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .finish() } @@ -18196,8 +18199,8 @@ impl std::fmt::Debug for JsImportNamespaceClause { .field("from_token", &support::DebugSyntaxResult(self.from_token())) .field("source", &support::DebugSyntaxResult(self.source())) .field( - "attribute", - &support::DebugOptionalElement(self.attribute()), + "assertion", + &support::DebugOptionalElement(self.assertion()), ) .finish() } @@ -28375,35 +28378,35 @@ impl From for SyntaxElement { node.into() } } -impl From for AnyJsImportAttributeEntry { - fn from(node: JsBogusImportAttributeEntry) -> AnyJsImportAttributeEntry { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(node) +impl From for AnyJsImportAssertionEntry { + fn from(node: JsBogusImportAssertionEntry) -> AnyJsImportAssertionEntry { + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(node) } } -impl From for AnyJsImportAttributeEntry { - fn from(node: JsImportAttributeEntry) -> AnyJsImportAttributeEntry { - AnyJsImportAttributeEntry::JsImportAttributeEntry(node) +impl From for AnyJsImportAssertionEntry { + fn from(node: JsImportAssertionEntry) -> AnyJsImportAssertionEntry { + AnyJsImportAssertionEntry::JsImportAssertionEntry(node) } } -impl AstNode for AnyJsImportAttributeEntry { +impl AstNode for AnyJsImportAssertionEntry { type Language = Language; const KIND_SET: SyntaxKindSet = - JsBogusImportAttributeEntry::KIND_SET.union(JsImportAttributeEntry::KIND_SET); + JsBogusImportAssertionEntry::KIND_SET.union(JsImportAssertionEntry::KIND_SET); fn can_cast(kind: SyntaxKind) -> bool { matches!( kind, - JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY | JS_IMPORT_ATTRIBUTE_ENTRY + JS_BOGUS_IMPORT_ASSERTION_ENTRY | JS_IMPORT_ASSERTION_ENTRY ) } fn cast(syntax: SyntaxNode) -> Option { let res = match syntax.kind() { - JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY => { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry( - JsBogusImportAttributeEntry { syntax }, + JS_BOGUS_IMPORT_ASSERTION_ENTRY => { + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry( + JsBogusImportAssertionEntry { syntax }, ) } - JS_IMPORT_ATTRIBUTE_ENTRY => { - AnyJsImportAttributeEntry::JsImportAttributeEntry(JsImportAttributeEntry { syntax }) + JS_IMPORT_ASSERTION_ENTRY => { + AnyJsImportAssertionEntry::JsImportAssertionEntry(JsImportAssertionEntry { syntax }) } _ => return None, }; @@ -28411,37 +28414,37 @@ impl AstNode for AnyJsImportAttributeEntry { } fn syntax(&self) -> &SyntaxNode { match self { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(it) => &it.syntax, - AnyJsImportAttributeEntry::JsImportAttributeEntry(it) => &it.syntax, + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(it) => &it.syntax, + AnyJsImportAssertionEntry::JsImportAssertionEntry(it) => &it.syntax, } } fn into_syntax(self) -> SyntaxNode { match self { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(it) => it.syntax, - AnyJsImportAttributeEntry::JsImportAttributeEntry(it) => it.syntax, + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(it) => it.syntax, + AnyJsImportAssertionEntry::JsImportAssertionEntry(it) => it.syntax, } } } -impl std::fmt::Debug for AnyJsImportAttributeEntry { +impl std::fmt::Debug for AnyJsImportAssertionEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(it) => { + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(it) => { std::fmt::Debug::fmt(it, f) } - AnyJsImportAttributeEntry::JsImportAttributeEntry(it) => std::fmt::Debug::fmt(it, f), + AnyJsImportAssertionEntry::JsImportAssertionEntry(it) => std::fmt::Debug::fmt(it, f), } } } -impl From for SyntaxNode { - fn from(n: AnyJsImportAttributeEntry) -> SyntaxNode { +impl From for SyntaxNode { + fn from(n: AnyJsImportAssertionEntry) -> SyntaxNode { match n { - AnyJsImportAttributeEntry::JsBogusImportAttributeEntry(it) => it.into(), - AnyJsImportAttributeEntry::JsImportAttributeEntry(it) => it.into(), + AnyJsImportAssertionEntry::JsBogusImportAssertionEntry(it) => it.into(), + AnyJsImportAssertionEntry::JsImportAssertionEntry(it) => it.into(), } } } -impl From for SyntaxElement { - fn from(n: AnyJsImportAttributeEntry) -> SyntaxElement { +impl From for SyntaxElement { + fn from(n: AnyJsImportAssertionEntry) -> SyntaxElement { let node: SyntaxNode = n.into(); node.into() } @@ -32856,7 +32859,7 @@ impl std::fmt::Display for AnyJsFunctionBody { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for AnyJsImportAttributeEntry { +impl std::fmt::Display for AnyJsImportAssertionEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } @@ -33436,12 +33439,12 @@ impl std::fmt::Display for JsImport { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for JsImportAttribute { +impl std::fmt::Display for JsImportAssertion { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } } -impl std::fmt::Display for JsImportAttributeEntry { +impl std::fmt::Display for JsImportAssertionEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { std::fmt::Display::fmt(self.syntax(), f) } @@ -34675,10 +34678,10 @@ impl From for SyntaxElement { } #[derive(Clone, PartialEq, Eq, Hash)] #[cfg_attr(feature = "serde", derive(Serialize))] -pub struct JsBogusImportAttributeEntry { +pub struct JsBogusImportAssertionEntry { syntax: SyntaxNode, } -impl JsBogusImportAttributeEntry { +impl JsBogusImportAssertionEntry { #[doc = r" Create an AstNode from a SyntaxNode without checking its kind"] #[doc = r""] #[doc = r" # Safety"] @@ -34688,11 +34691,11 @@ impl JsBogusImportAttributeEntry { pub const unsafe fn new_unchecked(syntax: SyntaxNode) -> Self { Self { syntax } } pub fn items(&self) -> SyntaxElementChildren { support::elements(&self.syntax) } } -impl AstNode for JsBogusImportAttributeEntry { +impl AstNode for JsBogusImportAssertionEntry { type Language = Language; const KIND_SET: SyntaxKindSet = - SyntaxKindSet::from_raw(RawSyntaxKind(JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY as u16)); - fn can_cast(kind: SyntaxKind) -> bool { kind == JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY } + SyntaxKindSet::from_raw(RawSyntaxKind(JS_BOGUS_IMPORT_ASSERTION_ENTRY as u16)); + fn can_cast(kind: SyntaxKind) -> bool { kind == JS_BOGUS_IMPORT_ASSERTION_ENTRY } fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { Some(Self { syntax }) @@ -34703,18 +34706,18 @@ impl AstNode for JsBogusImportAttributeEntry { fn syntax(&self) -> &SyntaxNode { &self.syntax } fn into_syntax(self) -> SyntaxNode { self.syntax } } -impl std::fmt::Debug for JsBogusImportAttributeEntry { +impl std::fmt::Debug for JsBogusImportAssertionEntry { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("JsBogusImportAttributeEntry") + f.debug_struct("JsBogusImportAssertionEntry") .field("items", &DebugSyntaxElementChildren(self.items())) .finish() } } -impl From for SyntaxNode { - fn from(n: JsBogusImportAttributeEntry) -> SyntaxNode { n.syntax } +impl From for SyntaxNode { + fn from(n: JsBogusImportAssertionEntry) -> SyntaxNode { n.syntax } } -impl From for SyntaxElement { - fn from(n: JsBogusImportAttributeEntry) -> SyntaxElement { n.syntax.into() } +impl From for SyntaxElement { + fn from(n: JsBogusImportAssertionEntry) -> SyntaxElement { n.syntax.into() } } #[derive(Clone, PartialEq, Eq, Hash)] #[cfg_attr(feature = "serde", derive(Serialize))] @@ -35692,10 +35695,10 @@ impl IntoIterator for &JsExportNamedSpecifierList { fn into_iter(self) -> Self::IntoIter { self.iter() } } #[derive(Clone, Eq, PartialEq, Hash)] -pub struct JsImportAttributeEntryList { +pub struct JsImportAssertionEntryList { syntax_list: SyntaxList, } -impl JsImportAttributeEntryList { +impl JsImportAssertionEntryList { #[doc = r" Create an AstNode from a SyntaxNode without checking its kind"] #[doc = r""] #[doc = r" # Safety"] @@ -35708,14 +35711,14 @@ impl JsImportAttributeEntryList { } } } -impl AstNode for JsImportAttributeEntryList { +impl AstNode for JsImportAssertionEntryList { type Language = Language; const KIND_SET: SyntaxKindSet = - SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ATTRIBUTE_ENTRY_LIST as u16)); - fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ATTRIBUTE_ENTRY_LIST } - fn cast(syntax: SyntaxNode) -> Option { + SyntaxKindSet::from_raw(RawSyntaxKind(JS_IMPORT_ASSERTION_ENTRY_LIST as u16)); + fn can_cast(kind: SyntaxKind) -> bool { kind == JS_IMPORT_ASSERTION_ENTRY_LIST } + fn cast(syntax: SyntaxNode) -> Option { if Self::can_cast(syntax.kind()) { - Some(JsImportAttributeEntryList { + Some(JsImportAssertionEntryList { syntax_list: syntax.into_list(), }) } else { @@ -35726,7 +35729,7 @@ impl AstNode for JsImportAttributeEntryList { fn into_syntax(self) -> SyntaxNode { self.syntax_list.into_node() } } #[cfg(feature = "serde")] -impl Serialize for JsImportAttributeEntryList { +impl Serialize for JsImportAssertionEntryList { fn serialize(&self, serializer: S) -> Result where S: Serializer, @@ -35738,26 +35741,26 @@ impl Serialize for JsImportAttributeEntryList { seq.end() } } -impl AstSeparatedList for JsImportAttributeEntryList { +impl AstSeparatedList for JsImportAssertionEntryList { type Language = Language; - type Node = AnyJsImportAttributeEntry; + type Node = AnyJsImportAssertionEntry; fn syntax_list(&self) -> &SyntaxList { &self.syntax_list } fn into_syntax_list(self) -> SyntaxList { self.syntax_list } } -impl Debug for JsImportAttributeEntryList { +impl Debug for JsImportAssertionEntryList { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.write_str("JsImportAttributeEntryList ")?; + f.write_str("JsImportAssertionEntryList ")?; f.debug_list().entries(self.elements()).finish() } } -impl IntoIterator for JsImportAttributeEntryList { - type Item = SyntaxResult; - type IntoIter = AstSeparatedListNodesIterator; +impl IntoIterator for JsImportAssertionEntryList { + type Item = SyntaxResult; + type IntoIter = AstSeparatedListNodesIterator; fn into_iter(self) -> Self::IntoIter { self.iter() } } -impl IntoIterator for &JsImportAttributeEntryList { - type Item = SyntaxResult; - type IntoIter = AstSeparatedListNodesIterator; +impl IntoIterator for &JsImportAssertionEntryList { + type Item = SyntaxResult; + type IntoIter = AstSeparatedListNodesIterator; fn into_iter(self) -> Self::IntoIter { self.iter() } } #[derive(Clone, Eq, PartialEq, Hash)] diff --git a/crates/rome_js_syntax/src/generated/nodes_mut.rs b/crates/rome_js_syntax/src/generated/nodes_mut.rs index f8cf14ef832..231cfc1f8df 100644 --- a/crates/rome_js_syntax/src/generated/nodes_mut.rs +++ b/crates/rome_js_syntax/src/generated/nodes_mut.rs @@ -1017,7 +1017,7 @@ impl JsExportFromClause { .splice_slots(4usize..=4usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 5usize..=5usize, once(element.map(|element| element.into_syntax().into())), @@ -1099,7 +1099,7 @@ impl JsExportNamedFromClause { .splice_slots(5usize..=5usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 6usize..=6usize, once(element.map(|element| element.into_syntax().into())), @@ -1764,8 +1764,8 @@ impl JsImport { ) } } -impl JsImportAttribute { - pub fn with_with_token(self, element: SyntaxToken) -> Self { +impl JsImportAssertion { + pub fn with_assertion_kind_token(self, element: SyntaxToken) -> Self { Self::unwrap_cast( self.syntax .splice_slots(0usize..=0usize, once(Some(element.into()))), @@ -1777,7 +1777,7 @@ impl JsImportAttribute { .splice_slots(1usize..=1usize, once(Some(element.into()))), ) } - pub fn with_attributes(self, element: JsImportAttributeEntryList) -> Self { + pub fn with_assertions(self, element: JsImportAssertionEntryList) -> Self { Self::unwrap_cast( self.syntax .splice_slots(2usize..=2usize, once(Some(element.into_syntax().into()))), @@ -1790,7 +1790,7 @@ impl JsImportAttribute { ) } } -impl JsImportAttributeEntry { +impl JsImportAssertionEntry { pub fn with_key_token(self, element: SyntaxToken) -> Self { Self::unwrap_cast( self.syntax @@ -1817,7 +1817,7 @@ impl JsImportBareClause { .splice_slots(0usize..=0usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 1usize..=1usize, once(element.map(|element| element.into_syntax().into())), @@ -1863,7 +1863,7 @@ impl JsImportDefaultClause { .splice_slots(3usize..=3usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 4usize..=4usize, once(element.map(|element| element.into_syntax().into())), @@ -1921,7 +1921,7 @@ impl JsImportNamedClause { .splice_slots(4usize..=4usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 5usize..=5usize, once(element.map(|element| element.into_syntax().into())), @@ -1965,7 +1965,7 @@ impl JsImportNamespaceClause { .splice_slots(5usize..=5usize, once(Some(element.into_syntax().into()))), ) } - pub fn with_attribute(self, element: Option) -> Self { + pub fn with_assertion(self, element: Option) -> Self { Self::unwrap_cast(self.syntax.splice_slots( 6usize..=6usize, once(element.map(|element| element.into_syntax().into())), diff --git a/crates/rome_js_syntax/src/lib.rs b/crates/rome_js_syntax/src/lib.rs index 5a47641a74f..4a487b57737 100644 --- a/crates/rome_js_syntax/src/lib.rs +++ b/crates/rome_js_syntax/src/lib.rs @@ -99,7 +99,7 @@ impl rome_rowan::SyntaxKind for JsSyntaxKind { | JS_BOGUS_BINDING | JS_BOGUS_MEMBER | JS_BOGUS_EXPRESSION - | JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY + | JS_BOGUS_IMPORT_ASSERTION_ENTRY | JS_BOGUS_NAMED_IMPORT_SPECIFIER | JS_BOGUS_ASSIGNMENT | TS_BOGUS_TYPE @@ -116,7 +116,7 @@ impl rome_rowan::SyntaxKind for JsSyntaxKind { } kind if AnyJsAssignment::can_cast(*kind) => JS_BOGUS_ASSIGNMENT, kind if AnyJsNamedImportSpecifier::can_cast(*kind) => JS_BOGUS_NAMED_IMPORT_SPECIFIER, - kind if AnyJsImportAttributeEntry::can_cast(*kind) => JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY, + kind if AnyJsImportAssertionEntry::can_cast(*kind) => JS_BOGUS_IMPORT_ASSERTION_ENTRY, kind if AnyJsParameter::can_cast(*kind) => JS_BOGUS_PARAMETER, kind if AnyTsType::can_cast(*kind) => TS_BOGUS_TYPE, diff --git a/editors/vscode/package.json b/editors/vscode/package.json index 2637eb579ec..3f900c813b0 100644 --- a/editors/vscode/package.json +++ b/editors/vscode/package.json @@ -3,7 +3,7 @@ "publisher": "rome", "displayName": "Rome", "description": "Rome LSP VS Code Extension", - "version": "0.24.2", + "version": "0.24.3", "icon": "icon.png", "activationEvents": [ "onLanguage:javascript", diff --git a/npm/rome/package.json b/npm/rome/package.json index b5eabe80345..beca0466a3c 100644 --- a/npm/rome/package.json +++ b/npm/rome/package.json @@ -1,6 +1,6 @@ { "name": "rome", - "version": "12.1.2", + "version": "12.1.3", "bin": "bin/rome", "scripts": { "postinstall": "node scripts/postinstall.js" diff --git a/website/package.json b/website/package.json index 5435c4ec6a9..7585ffb5ce1 100644 --- a/website/package.json +++ b/website/package.json @@ -20,11 +20,11 @@ "@astrojs/prism": "^2.1.1", "@astrojs/react": "^2.1.2", "@astrojs/rss": "^2.4.1", - "@codemirror/lang-javascript": "^6.1.7", + "@codemirror/lang-javascript": "^6.1.8", "@codemirror/lang-json": "^6.0.1", "@codemirror/lint": "^6.2.1", - "@codemirror/state": "6.2.0", - "@codemirror/view": "6.11.0", + "@codemirror/state": "6.2.1", + "@codemirror/view": "6.12.0", "@docsearch/css": "^3.3.0", "@docsearch/js": "^3.3.0", "@fontsource/inter": "^4.5.14", @@ -34,7 +34,7 @@ "@types/prettier": "^2.7.1", "@types/react": "^17.0.33", "@types/react-dom": "^17.0.10", - "@uiw/react-codemirror": "^4.12.4", + "@uiw/react-codemirror": "^4.20.2", "@vitejs/plugin-react": "^2.1.0", "astro": "^2.3.4", "astro-compress": "^1.1.35", diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 1ffc6a6d94e..efe74669bca 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -1,186 +1,143 @@ -lockfileVersion: '6.0' +lockfileVersion: 5.4 + +specifiers: + '@algolia/client-search': ^4.17.0 + '@astrojs/mdx': ^0.19.0 + '@astrojs/prism': ^2.1.1 + '@astrojs/react': ^2.1.2 + '@astrojs/rss': ^2.4.1 + '@codemirror/lang-javascript': ^6.1.8 + '@codemirror/lang-json': ^6.0.1 + '@codemirror/lint': ^6.2.1 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 + '@docsearch/css': ^3.3.0 + '@docsearch/js': ^3.3.0 + '@fontsource/inter': ^4.5.14 + '@rometools/wasm-web': ../npm/wasm-web + '@types/mermaid': ^9.1.0 + '@types/node': ^18.16.3 + '@types/prettier': ^2.7.1 + '@types/react': ^17.0.33 + '@types/react-dom': ^17.0.10 + '@uiw/react-codemirror': ^4.20.2 + '@vitejs/plugin-react': ^2.1.0 + astro: ^2.3.4 + astro-compress: ^1.1.35 + autoprefixer: ^10.4.12 + codemirror-lang-rome-ast: 0.0.6 + fast-diff: ^1.2.0 + globby: ^13.1.2 + hast-util-to-html: ^8.0.4 + lang-rome-formatter-ir: 0.0.2 + mdast-util-to-hast: ^12.3.0 + mermaid: ^9.4.3 + postcss: ^8.4.23 + prettier: ^2.8.8 + react: ^17.0.2 + react-dom: ^17.0.2 + rehype-autolink-headings: ^6.1.1 + rehype-slug: ^5.1.0 + rehype-toc: ^3.0.2 + remark-toc: ^8.0.1 + rollup: ^3.21.3 + rome: ^12.0.0 + sass: ^1.62.1 + typescript: ^5.0.4 + vite: 3.1.8 + vite-plugin-svgr: ^2.2.2 devDependencies: - '@algolia/client-search': - specifier: ^4.17.0 - version: 4.17.0 - '@astrojs/mdx': - specifier: ^0.19.0 - version: 0.19.0(astro@2.3.4)(rollup@3.21.3) - '@astrojs/prism': - specifier: ^2.1.1 - version: 2.1.1 - '@astrojs/react': - specifier: ^2.1.2 - version: 2.1.2(@types/react-dom@17.0.18)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2) - '@astrojs/rss': - specifier: ^2.4.1 - version: 2.4.1 - '@codemirror/lang-javascript': - specifier: ^6.1.7 - version: 6.1.7 - '@codemirror/lang-json': - specifier: ^6.0.1 - version: 6.0.1 - '@codemirror/lint': - specifier: ^6.2.1 - version: 6.2.1 - '@codemirror/state': - specifier: 6.2.0 - version: 6.2.0 - '@codemirror/view': - specifier: 6.11.0 - version: 6.11.0 - '@docsearch/css': - specifier: ^3.3.0 - version: 3.3.0 - '@docsearch/js': - specifier: ^3.3.0 - version: 3.3.0(@algolia/client-search@4.17.0)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2) - '@fontsource/inter': - specifier: ^4.5.14 - version: 4.5.14 - '@rometools/wasm-web': - specifier: ../npm/wasm-web - version: link:../npm/wasm-web - '@types/mermaid': - specifier: ^9.1.0 - version: 9.1.0 - '@types/node': - specifier: ^18.16.3 - version: 18.16.3 - '@types/prettier': - specifier: ^2.7.1 - version: 2.7.1 - '@types/react': - specifier: ^17.0.33 - version: 17.0.52 - '@types/react-dom': - specifier: ^17.0.10 - version: 17.0.18 - '@uiw/react-codemirror': - specifier: ^4.12.4 - version: 4.13.2(@babel/runtime@7.20.1)(@codemirror/autocomplete@6.3.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.1)(@codemirror/search@6.2.2)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.0)(@codemirror/view@6.11.0)(codemirror@6.0.1)(react-dom@17.0.2)(react@17.0.2) - '@vitejs/plugin-react': - specifier: ^2.1.0 - version: 2.2.0(vite@3.1.8) - astro: - specifier: ^2.3.4 - version: 2.3.4(@types/node@18.16.3)(sass@1.62.1) - astro-compress: - specifier: ^1.1.35 - version: 1.1.35 - autoprefixer: - specifier: ^10.4.12 - version: 10.4.13(postcss@8.4.23) - codemirror-lang-rome-ast: - specifier: 0.0.6 - version: 0.0.6 - fast-diff: - specifier: ^1.2.0 - version: 1.2.0 - globby: - specifier: ^13.1.2 - version: 13.1.2 - hast-util-to-html: - specifier: ^8.0.4 - version: 8.0.4 - lang-rome-formatter-ir: - specifier: 0.0.2 - version: 0.0.2 - mdast-util-to-hast: - specifier: ^12.3.0 - version: 12.3.0 - mermaid: - specifier: ^9.4.3 - version: 9.4.3 - postcss: - specifier: ^8.4.23 - version: 8.4.23 - prettier: - specifier: ^2.8.8 - version: 2.8.8 - react: - specifier: ^17.0.2 - version: 17.0.2 - react-dom: - specifier: ^17.0.2 - version: 17.0.2(react@17.0.2) - rehype-autolink-headings: - specifier: ^6.1.1 - version: 6.1.1 - rehype-slug: - specifier: ^5.1.0 - version: 5.1.0 - rehype-toc: - specifier: ^3.0.2 - version: 3.0.2 - remark-toc: - specifier: ^8.0.1 - version: 8.0.1 - rollup: - specifier: ^3.21.3 - version: 3.21.3 - rome: - specifier: ^12.0.0 - version: 12.0.0 - sass: - specifier: ^1.62.1 - version: 1.62.1 - typescript: - specifier: ^5.0.4 - version: 5.0.4 - vite: - specifier: 3.1.8 - version: 3.1.8(sass@1.62.1) - vite-plugin-svgr: - specifier: ^2.2.2 - version: 2.2.2(rollup@3.21.3)(vite@3.1.8) + '@algolia/client-search': 4.17.1 + '@astrojs/mdx': 0.19.4_astro@2.5.5+rollup@3.23.0 + '@astrojs/prism': 2.1.2 + '@astrojs/react': 2.2.0_74b3ggvk3akyhuq4eydyx3fqim + '@astrojs/rss': 2.4.3 + '@codemirror/lang-javascript': 6.1.8 + '@codemirror/lang-json': 6.0.1 + '@codemirror/lint': 6.2.1 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 + '@docsearch/css': 3.3.0 + '@docsearch/js': 3.3.0_jcdqitvtib7uglg5epabhaccbq + '@fontsource/inter': 4.5.14 + '@rometools/wasm-web': link:../npm/wasm-web + '@types/mermaid': 9.1.0 + '@types/node': 18.16.14 + '@types/prettier': 2.7.1 + '@types/react': 17.0.52 + '@types/react-dom': 17.0.18 + '@uiw/react-codemirror': 4.20.2_callkuyok6ybnzwql5bp56qinu + '@vitejs/plugin-react': 2.2.0_vite@3.1.8 + astro: 2.5.5_3cl3pib2kx7jaftbqhg3ux7t34 + astro-compress: 1.1.35 + autoprefixer: 10.4.13_postcss@8.4.23 + codemirror-lang-rome-ast: 0.0.6 + fast-diff: 1.2.0 + globby: 13.1.2 + hast-util-to-html: 8.0.4 + lang-rome-formatter-ir: 0.0.2 + mdast-util-to-hast: 12.3.0 + mermaid: 9.4.3 + postcss: 8.4.23 + prettier: 2.8.8 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + rehype-autolink-headings: 6.1.1 + rehype-slug: 5.1.0 + rehype-toc: 3.0.2 + remark-toc: 8.0.1 + rollup: 3.23.0 + rome: 12.1.2 + sass: 1.62.1 + typescript: 5.0.4 + vite: 3.1.8_sass@1.62.1 + vite-plugin-svgr: 2.2.2_rollup@3.23.0+vite@3.1.8 packages: - /@algolia/autocomplete-core@1.7.2: + /@algolia/autocomplete-core/1.7.2: resolution: {integrity: sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==} dependencies: '@algolia/autocomplete-shared': 1.7.2 dev: true - /@algolia/autocomplete-preset-algolia@1.7.2(@algolia/client-search@4.17.0)(algoliasearch@4.14.2): + /@algolia/autocomplete-preset-algolia/1.7.2_stq6jvl3vx2yotxjnyeyvvt6dq: resolution: {integrity: sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: '@algolia/autocomplete-shared': 1.7.2 - '@algolia/client-search': 4.17.0 + '@algolia/client-search': 4.17.1 algoliasearch: 4.14.2 dev: true - /@algolia/autocomplete-shared@1.7.2: + /@algolia/autocomplete-shared/1.7.2: resolution: {integrity: sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==} dev: true - /@algolia/cache-browser-local-storage@4.14.2: + /@algolia/cache-browser-local-storage/4.14.2: resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} dependencies: '@algolia/cache-common': 4.14.2 dev: true - /@algolia/cache-common@4.14.2: + /@algolia/cache-common/4.14.2: resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} dev: true - /@algolia/cache-common@4.17.0: - resolution: {integrity: sha512-g8mXzkrcUBIPZaulAuqE7xyHhLAYAcF2xSch7d9dABheybaU3U91LjBX6eJTEB7XVhEsgK4Smi27vWtAJRhIKQ==} + /@algolia/cache-common/4.17.1: + resolution: {integrity: sha512-fvi1WT8aSiGAKrcTw8Qg3RYgcwW8GZMHcqEm4AyDBEy72JZlFBSY80cTQ75MslINjCHXLDT+9EN8AGI9WVY7uA==} dev: true - /@algolia/cache-in-memory@4.14.2: + /@algolia/cache-in-memory/4.14.2: resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} dependencies: '@algolia/cache-common': 4.14.2 dev: true - /@algolia/client-account@4.14.2: + /@algolia/client-account/4.14.2: resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} dependencies: '@algolia/client-common': 4.14.2 @@ -188,7 +145,7 @@ packages: '@algolia/transporter': 4.14.2 dev: true - /@algolia/client-analytics@4.14.2: + /@algolia/client-analytics/4.14.2: resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} dependencies: '@algolia/client-common': 4.14.2 @@ -197,21 +154,21 @@ packages: '@algolia/transporter': 4.14.2 dev: true - /@algolia/client-common@4.14.2: + /@algolia/client-common/4.14.2: resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} dependencies: '@algolia/requester-common': 4.14.2 '@algolia/transporter': 4.14.2 dev: true - /@algolia/client-common@4.17.0: - resolution: {integrity: sha512-jHMks0ZFicf8nRDn6ma8DNNsdwGgP/NKiAAL9z6rS7CymJ7L0+QqTJl3rYxRW7TmBhsUH40wqzmrG6aMIN/DrQ==} + /@algolia/client-common/4.17.1: + resolution: {integrity: sha512-+r7kg4EgbFnGsDnoGSVNtXZO8xvZ0vzf1WAOV7sqV9PMf1bp6cpJP/3IuPrSk4t5w2KVl+pC8jfTM7HcFlfBEQ==} dependencies: - '@algolia/requester-common': 4.17.0 - '@algolia/transporter': 4.17.0 + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 dev: true - /@algolia/client-personalization@4.14.2: + /@algolia/client-personalization/4.14.2: resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} dependencies: '@algolia/client-common': 4.14.2 @@ -219,7 +176,7 @@ packages: '@algolia/transporter': 4.14.2 dev: true - /@algolia/client-search@4.14.2: + /@algolia/client-search/4.14.2: resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} dependencies: '@algolia/client-common': 4.14.2 @@ -227,49 +184,49 @@ packages: '@algolia/transporter': 4.14.2 dev: true - /@algolia/client-search@4.17.0: - resolution: {integrity: sha512-x4P2wKrrRIXszT8gb7eWsMHNNHAJs0wE7/uqbufm4tZenAp+hwU/hq5KVsY50v+PfwM0LcDwwn/1DroujsTFoA==} + /@algolia/client-search/4.17.1: + resolution: {integrity: sha512-Q5YfT5gVkx60PZDQBqp/zH9aUbBdC7HVvxupiHUgnCKqRQsRZjOhLest7AI6FahepuZLBZS62COrO7v+JvKY7w==} dependencies: - '@algolia/client-common': 4.17.0 - '@algolia/requester-common': 4.17.0 - '@algolia/transporter': 4.17.0 + '@algolia/client-common': 4.17.1 + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 dev: true - /@algolia/logger-common@4.14.2: + /@algolia/logger-common/4.14.2: resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} dev: true - /@algolia/logger-common@4.17.0: - resolution: {integrity: sha512-DGuoZqpTmIKJFDeyAJ7M8E/LOenIjWiOsg1XJ1OqAU/eofp49JfqXxbfgctlVZVmDABIyOz8LqEoJ6ZP4DTyvw==} + /@algolia/logger-common/4.17.1: + resolution: {integrity: sha512-Us28Ot+fLEmX9M96sa65VZ8EyEEzhYPxfhV9aQyKDjfXbUdJlJxKt6wZpoEg9RAPSdO8IjK9nmuW2P8au3rRsg==} dev: true - /@algolia/logger-console@4.14.2: + /@algolia/logger-console/4.14.2: resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} dependencies: '@algolia/logger-common': 4.14.2 dev: true - /@algolia/requester-browser-xhr@4.14.2: + /@algolia/requester-browser-xhr/4.14.2: resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} dependencies: '@algolia/requester-common': 4.14.2 dev: true - /@algolia/requester-common@4.14.2: + /@algolia/requester-common/4.14.2: resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} dev: true - /@algolia/requester-common@4.17.0: - resolution: {integrity: sha512-XJjmWFEUlHu0ijvcHBoixuXfEoiRUdyzQM6YwTuB8usJNIgShua8ouFlRWF8iCeag0vZZiUm4S2WCVBPkdxFgg==} + /@algolia/requester-common/4.17.1: + resolution: {integrity: sha512-HggXdjvVFQR0I5l7hM5WdHgQ1tqcRWeyXZz8apQ7zPWZhirmY2E9D6LVhDh/UnWQNEm7nBtM+eMFONJ3bZccIQ==} dev: true - /@algolia/requester-node-http@4.14.2: + /@algolia/requester-node-http/4.14.2: resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} dependencies: '@algolia/requester-common': 4.14.2 dev: true - /@algolia/transporter@4.14.2: + /@algolia/transporter/4.14.2: resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} dependencies: '@algolia/cache-common': 4.14.2 @@ -277,15 +234,15 @@ packages: '@algolia/requester-common': 4.14.2 dev: true - /@algolia/transporter@4.17.0: - resolution: {integrity: sha512-6xL6H6fe+Fi0AEP3ziSgC+G04RK37iRb4uUUqVAH9WPYFI8g+LYFq6iv5HS8Cbuc5TTut+Bwj6G+dh/asdb9uA==} + /@algolia/transporter/4.17.1: + resolution: {integrity: sha512-ZM+qhX47Vh46mWH8/U9ihvy98HdTYpYQDSlqBD7IbiUbbyoCMke+qmdSX2MGhR2FCcXBSxejsJKKVAfbpaLVgg==} dependencies: - '@algolia/cache-common': 4.17.0 - '@algolia/logger-common': 4.17.0 - '@algolia/requester-common': 4.17.0 + '@algolia/cache-common': 4.17.1 + '@algolia/logger-common': 4.17.1 + '@algolia/requester-common': 4.17.1 dev: true - /@ampproject/remapping@2.2.0: + /@ampproject/remapping/2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: @@ -293,21 +250,20 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@astrojs/compiler@1.4.0: - resolution: {integrity: sha512-Vav3a32Ct+omowV9X9kDM2ghWAvFdjZkv5BdvBjZCKYbFVT6//IZApDIVbHI1UPuLuD2sKyLWx2T+E7clqUJdg==} + /@astrojs/compiler/1.4.2: + resolution: {integrity: sha512-xoRp7JpiMZPK/beUcZEM5kM44Z/h20wwwQcl54duPqQMyySG9vZ5xMM6dYiQmn7b3XzpZs0cT6TRDoJJ5gwHAQ==} dev: true - /@astrojs/language-server@1.0.0: - resolution: {integrity: sha512-oEw7AwJmzjgy6HC9f5IdrphZ1GVgfV/+7xQuyf52cpTiRWd/tJISK3MsKP0cDkVlfodmNABNFnAaAWuLZEiiiA==} + /@astrojs/language-server/1.0.5: + resolution: {integrity: sha512-HG/9nWk+b9Ol9KgBz4Osg1iuq4DGI75GGF7Kvre0GT5rxksoGiJRK96Vd5NLyS7qOhAgX8SgXZ//5USF/fqsQA==} hasBin: true dependencies: - '@astrojs/compiler': 1.4.0 + '@astrojs/compiler': 1.4.2 '@jridgewell/trace-mapping': 0.3.17 '@vscode/emmet-helper': 2.8.4 events: 3.3.0 prettier: 2.8.8 - prettier-plugin-astro: 0.8.0 - synckit: 0.8.4 + prettier-plugin-astro: 0.8.1 vscode-css-languageservice: 6.2.5 vscode-html-languageservice: 5.0.2 vscode-languageserver: 8.0.2 @@ -317,13 +273,13 @@ packages: vscode-uri: 3.0.6 dev: true - /@astrojs/markdown-remark@2.1.4(astro@2.3.4): - resolution: {integrity: sha512-z5diCcFo2xkBAJ11KySAIKpZZkULZmzUvWsZ2VWIOrR6QrEgEfVl5jTpgPSedx4m+xUPuemlUviOotGB7ItNsQ==} + /@astrojs/markdown-remark/2.2.1_astro@2.5.5: + resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==} peerDependencies: - astro: ^2.3.0 + astro: ^2.5.0 dependencies: - '@astrojs/prism': 2.1.1 - astro: 2.3.4(@types/node@18.16.3)(sass@1.62.1) + '@astrojs/prism': 2.1.2 + astro: 2.5.5_3cl3pib2kx7jaftbqhg3ux7t34 github-slugger: 1.5.0 import-meta-resolve: 2.1.0 rehype-raw: 6.1.1 @@ -332,7 +288,7 @@ packages: remark-parse: 10.0.1 remark-rehype: 10.1.0 remark-smartypants: 2.0.0 - shiki: 0.11.1 + shiki: 0.14.2 unified: 10.1.2 unist-util-visit: 4.1.1 vfile: 5.3.5 @@ -340,14 +296,14 @@ packages: - supports-color dev: true - /@astrojs/mdx@0.19.0(astro@2.3.4)(rollup@3.21.3): - resolution: {integrity: sha512-McFpMV+npinIEKnY5t9hsdzLd76g78GgIRUPxem2OeXPNB8xr2pNS28GeU0+6Pn5STnB+sgcyyeqXLgzauOlMQ==} + /@astrojs/mdx/0.19.4_astro@2.5.5+rollup@3.23.0: + resolution: {integrity: sha512-+xT4YiUmOXwBqZ2zr74M7lznJ8wg6Q1Be534fJq24ozRxlkwEM6Qj/h9s3oSk6CwV7DuEf6KosRR0ltWE/OxJg==} engines: {node: '>=16.12.0'} dependencies: - '@astrojs/markdown-remark': 2.1.4(astro@2.3.4) - '@astrojs/prism': 2.1.1 + '@astrojs/markdown-remark': 2.2.1_astro@2.5.5 + '@astrojs/prism': 2.1.2 '@mdx-js/mdx': 2.3.0 - '@mdx-js/rollup': 2.3.0(rollup@3.21.3) + '@mdx-js/rollup': 2.3.0_rollup@3.23.0 acorn: 8.8.1 es-module-lexer: 1.2.0 estree-util-visit: 1.2.0 @@ -358,7 +314,7 @@ packages: remark-frontmatter: 4.0.1 remark-gfm: 3.0.1 remark-smartypants: 2.0.0 - shiki: 0.11.1 + shiki: 0.14.2 source-map: 0.7.4 unist-util-visit: 4.1.1 vfile: 5.3.5 @@ -368,15 +324,15 @@ packages: - supports-color dev: true - /@astrojs/prism@2.1.1: - resolution: {integrity: sha512-Gnwnlb1lGJzCQEg89r4/WqgfCGPNFC7Kuh2D/k289Cbdi/2PD7Lrdstz86y1itDvcb2ijiRqjqWnJ5rsfu/QOA==} + /@astrojs/prism/2.1.2: + resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==} engines: {node: '>=16.12.0'} dependencies: prismjs: 1.29.0 dev: true - /@astrojs/react@2.1.2(@types/react-dom@17.0.18)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-ApxiaX31T9ZL80z/w4Ep9lC2TvEtLtxhOYdKz+TSqdE5wgVOmKk5plRrMA5gvy87L9pFcyXyR4ZC91qEZaUGxA==} + /@astrojs/react/2.2.0_74b3ggvk3akyhuq4eydyx3fqim: + resolution: {integrity: sha512-DwwbmSGVKtHwufatZQwmqIor2MN4RXDdAujwerT60m3xgbv8D0v+s6fX/uRJ0ApWYLLFDzJGLhrmI7UhufpmPg==} engines: {node: '>=16.12.0'} peerDependencies: '@types/react': ^17.0.50 || ^18.0.21 @@ -385,23 +341,23 @@ packages: react-dom: ^17.0.2 || ^18.0.0 dependencies: '@babel/core': 7.20.2 - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.2) + '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 '@types/react': 17.0.52 '@types/react-dom': 17.0.18 react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react-dom: 17.0.2_react@17.0.2 transitivePeerDependencies: - supports-color dev: true - /@astrojs/rss@2.4.1: - resolution: {integrity: sha512-c+j6Dwxc/t50/v7xhM88RKbxh9SjaQMw0IdLeeOqQAdcLT2Me7nUUWwx0BbPnu6RO0YxT5Up1Sl/OdrA60tfSw==} + /@astrojs/rss/2.4.3: + resolution: {integrity: sha512-Dc8lxsXiDlnxONVIUuc3ohO1+vV1Hp9fRFdUianOola0S9/xv/6FzIHhkQ62MkaFSlcZm5uIOllRWNKVvuFuoA==} dependencies: fast-xml-parser: 4.0.11 kleur: 4.1.5 dev: true - /@astrojs/telemetry@2.1.1: + /@astrojs/telemetry/2.1.1: resolution: {integrity: sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==} engines: {node: '>=16.12.0'} dependencies: @@ -411,38 +367,38 @@ packages: dset: 3.1.2 is-docker: 3.0.0 is-wsl: 2.2.0 - undici: 5.22.0 + undici: 5.22.1 which-pm-runs: 1.1.0 transitivePeerDependencies: - supports-color dev: true - /@astrojs/webapi@2.1.1: + /@astrojs/webapi/2.1.1: resolution: {integrity: sha512-mHZ7VgPNMeV3TYIw3SGHTKaJosBxA8bTzZ3QhNw509qvCJca4Lkjes8JywimuwTn+TMjEiv7ksNfwRluad3jqA==} dependencies: - undici: 5.22.0 + undici: 5.22.1 dev: true - /@babel/code-frame@7.18.6: + /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data@7.20.1: + /@babel/compat-data/7.20.1: resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.20.2: + /@babel/core/7.20.2: resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.20.4 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 '@babel/helper-module-transforms': 7.20.2 '@babel/helpers': 7.20.1 '@babel/parser': 7.20.3 @@ -458,7 +414,7 @@ packages: - supports-color dev: true - /@babel/generator@7.20.4: + /@babel/generator/7.20.4: resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} engines: {node: '>=6.9.0'} dependencies: @@ -467,14 +423,14 @@ packages: jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure@7.18.6: + /@babel/helper-annotate-as-pure/7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.2 dev: true - /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.2): + /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -487,12 +443,12 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-environment-visitor@7.18.9: + /@babel/helper-environment-visitor/7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.19.0: + /@babel/helper-function-name/7.19.0: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} dependencies: @@ -500,21 +456,21 @@ packages: '@babel/types': 7.20.2 dev: true - /@babel/helper-hoist-variables@7.18.6: + /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.2 dev: true - /@babel/helper-module-imports@7.18.6: + /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.2 dev: true - /@babel/helper-module-transforms@7.20.2: + /@babel/helper-module-transforms/7.20.2: resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} engines: {node: '>=6.9.0'} dependencies: @@ -530,41 +486,41 @@ packages: - supports-color dev: true - /@babel/helper-plugin-utils@7.20.2: + /@babel/helper-plugin-utils/7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-simple-access@7.20.2: + /@babel/helper-simple-access/7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.2 dev: true - /@babel/helper-split-export-declaration@7.18.6: + /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.2 dev: true - /@babel/helper-string-parser@7.19.4: + /@babel/helper-string-parser/7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier@7.19.1: + /@babel/helper-validator-identifier/7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.18.6: + /@babel/helper-validator-option/7.18.6: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.20.1: + /@babel/helpers/7.20.1: resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} engines: {node: '>=6.9.0'} dependencies: @@ -575,7 +531,7 @@ packages: - supports-color dev: true - /@babel/highlight@7.18.6: + /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: @@ -584,7 +540,7 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.20.3: + /@babel/parser/7.20.3: resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} engines: {node: '>=6.0.0'} hasBin: true @@ -592,7 +548,7 @@ packages: '@babel/types': 7.20.2 dev: true - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.2): + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -602,17 +558,17 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.20.2): + /@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.20.2: resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.2) + '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 dev: true - /@babel/plugin-transform-react-jsx-self@7.18.6(@babel/core@7.20.2): + /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.2: resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} engines: {node: '>=6.9.0'} peerDependencies: @@ -622,7 +578,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.20.2): + /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.2: resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -632,7 +588,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx@7.19.0(@babel/core@7.20.2): + /@babel/plugin-transform-react-jsx/7.19.0_@babel+core@7.20.2: resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -642,18 +598,18 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.2) + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 '@babel/types': 7.20.2 dev: true - /@babel/runtime@7.20.1: + /@babel/runtime/7.20.1: resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.10 dev: true - /@babel/template@7.18.10: + /@babel/template/7.18.10: resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} engines: {node: '>=6.9.0'} dependencies: @@ -662,7 +618,7 @@ packages: '@babel/types': 7.20.2 dev: true - /@babel/traverse@7.20.1: + /@babel/traverse/7.20.1: resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} engines: {node: '>=6.9.0'} dependencies: @@ -680,7 +636,7 @@ packages: - supports-color dev: true - /@babel/types@7.20.2: + /@babel/types/7.20.2: resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} engines: {node: '>=6.9.0'} dependencies: @@ -689,133 +645,117 @@ packages: to-fast-properties: 2.0.0 dev: true - /@braintree/sanitize-url@6.0.2: + /@braintree/sanitize-url/6.0.2: resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} dev: true - /@codemirror/autocomplete@6.3.0(@codemirror/language@6.3.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1): - resolution: {integrity: sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==} - peerDependencies: - '@codemirror/language': ^6.0.0 - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 - dependencies: - '@codemirror/language': 6.3.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 - '@lezer/common': 1.0.1 - dev: true - - /@codemirror/autocomplete@6.3.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1): + /@codemirror/autocomplete/6.3.0_m3x3ko4kwarhrbpzn52giepxla: resolution: {integrity: sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==} peerDependencies: - '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 dependencies: - '@codemirror/language': 6.6.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/language': 6.7.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 dev: true - /@codemirror/commands@6.1.2: + /@codemirror/commands/6.1.2: resolution: {integrity: sha512-sO3jdX1s0pam6lIdeSJLMN3DQ6mPEbM4yLvyKkdqtmd/UDwhXA5+AwFJ89rRXm6vTeOXBsE5cAmlos/t7MJdgg==} dependencies: - '@codemirror/language': 6.3.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/language': 6.7.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 dev: true - /@codemirror/lang-javascript@6.1.7: - resolution: {integrity: sha512-KXKqxlZ4W6t5I7i2ScmITUD3f/F5Cllk3kj0De9P9mFeYVfhOVOWuDLgYiLpk357u7Xh4dhqjJAnsNPPoTLghQ==} + /@codemirror/lang-javascript/6.1.8: + resolution: {integrity: sha512-5cIA6IOkslTu1DtldcYnj7hsBm3p+cD37qSaKvW1kV16M6q9ysKvKrveCOWgbrj4+ilSWRL2JtSLudbeB158xg==} dependencies: - '@codemirror/autocomplete': 6.3.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1) - '@codemirror/language': 6.6.0 + '@codemirror/autocomplete': 6.3.0_m3x3ko4kwarhrbpzn52giepxla + '@codemirror/language': 6.7.0 '@codemirror/lint': 6.2.1 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 '@lezer/javascript': 1.0.2 dev: true - /@codemirror/lang-json@6.0.1: + /@codemirror/lang-json/6.0.1: resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} dependencies: '@codemirror/language': 6.3.0 '@lezer/json': 1.0.0 dev: true - /@codemirror/language@6.3.0: + /@codemirror/language/6.3.0: resolution: {integrity: sha512-6jOE5DEt6sKD46SXhn3xPbBehn+l48ACcA6Uxs2k+E2YNH9XGF5WdGMTYr2DlggfK4h0QZBK6zEb5S7lkTriWA==} dependencies: - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 style-mod: 4.0.0 dev: true - /@codemirror/language@6.6.0: - resolution: {integrity: sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==} + /@codemirror/language/6.7.0: + resolution: {integrity: sha512-4SMwe6Fwn57klCUsVN0y4/h/iWT+XIXFEmop2lIHHuWO0ubjCrF3suqSZLyOQlznxkNnNbOOfKe5HQbQGCAmTg==} dependencies: - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 style-mod: 4.0.0 dev: true - /@codemirror/lint@6.2.1: + /@codemirror/lint/6.2.1: resolution: {integrity: sha512-y1muai5U/uUPAGRyHMx9mHuHLypPcHWxzlZGknp/U5Mdb5Ol8Q5ZLp67UqyTbNFJJ3unVxZ8iX3g1fMN79S1JQ==} dependencies: - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 crelt: 1.0.5 dev: true - /@codemirror/search@6.2.2: + /@codemirror/search/6.2.2: resolution: {integrity: sha512-2pWY599zXk+lSoJ2iv9EuTO4gB7lhgBPLPwFb/zTbimFH4NmZSaKzJSV51okjABZ7/Rj0DYy5klWbIgaJh2LoQ==} dependencies: - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 crelt: 1.0.5 dev: true - /@codemirror/state@6.2.0: - resolution: {integrity: sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==} + /@codemirror/state/6.2.1: + resolution: {integrity: sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==} dev: true - /@codemirror/theme-one-dark@6.1.0: + /@codemirror/theme-one-dark/6.1.0: resolution: {integrity: sha512-AiTHtFRu8+vWT9wWUWDM+cog6ZwgivJogB1Tm/g40NIpLwph7AnmxrSzWfvJN5fBVufsuwBxecQCNmdcR5D7Aw==} dependencies: - '@codemirror/language': 6.6.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/language': 6.7.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/highlight': 1.1.2 dev: true - /@codemirror/view@6.11.0: - resolution: {integrity: sha512-PRpPRkqMkAKKxEuiUBxapE0YR+wqs9At92ujbJo93PwTZ0jEJDzx9wahrDcXEhQ43Pe0RK9DdZMLWrt+QN80DA==} + /@codemirror/view/6.12.0: + resolution: {integrity: sha512-xNHvbJBc2v8JuEcIGOck6EUGShpP+TYGCEMVEVQMYxbFXfMhYnoF3znxB/2GgeKR0nrxBs+nhBupiTYQqCp2kw==} dependencies: - '@codemirror/state': 6.2.0 + '@codemirror/state': 6.2.1 style-mod: 4.0.0 w3c-keyname: 2.2.6 dev: true - /@docsearch/css@3.3.0: + /@docsearch/css/3.3.0: resolution: {integrity: sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==} dev: true - /@docsearch/js@3.3.0(@algolia/client-search@4.17.0)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2): + /@docsearch/js/3.3.0_jcdqitvtib7uglg5epabhaccbq: resolution: {integrity: sha512-oFXWRPNvPxAzBhnFJ9UCFIYZiQNc3Yrv6912nZHw/UIGxsyzKpNRZgHq8HDk1niYmOSoLKtVFcxkccpQmYGFyg==} dependencies: - '@docsearch/react': 3.3.0(@algolia/client-search@4.17.0)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2) + '@docsearch/react': 3.3.0_jcdqitvtib7uglg5epabhaccbq preact: 10.11.2 transitivePeerDependencies: - '@algolia/client-search' @@ -824,7 +764,7 @@ packages: - react-dom dev: true - /@docsearch/react@3.3.0(@algolia/client-search@4.17.0)(@types/react@17.0.52)(react-dom@17.0.2)(react@17.0.2): + /@docsearch/react/3.3.0_jcdqitvtib7uglg5epabhaccbq: resolution: {integrity: sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -839,43 +779,43 @@ packages: optional: true dependencies: '@algolia/autocomplete-core': 1.7.2 - '@algolia/autocomplete-preset-algolia': 1.7.2(@algolia/client-search@4.17.0)(algoliasearch@4.14.2) + '@algolia/autocomplete-preset-algolia': 1.7.2_stq6jvl3vx2yotxjnyeyvvt6dq '@docsearch/css': 3.3.0 '@types/react': 17.0.52 algoliasearch: 4.14.2 react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react-dom: 17.0.2_react@17.0.2 transitivePeerDependencies: - '@algolia/client-search' dev: true - /@emmetio/abbreviation@2.2.3: + /@emmetio/abbreviation/2.2.3: resolution: {integrity: sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==} dependencies: '@emmetio/scanner': 1.0.0 dev: true - /@emmetio/css-abbreviation@2.1.4: + /@emmetio/css-abbreviation/2.1.4: resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==} dependencies: '@emmetio/scanner': 1.0.0 dev: true - /@emmetio/scanner@1.0.0: + /@emmetio/scanner/1.0.0: resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==} dev: true - /@esbuild/android-arm64@0.17.18: - resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} + /@esbuild/android-arm/0.15.13: + resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm@0.15.13: - resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==} + /@esbuild/android-arm/0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -883,17 +823,17 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.18: - resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} + /@esbuild/android-arm64/0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-x64@0.17.18: - resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} + /@esbuild/android-x64/0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -901,8 +841,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.18: - resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} + /@esbuild/darwin-arm64/0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -910,8 +850,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.18: - resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} + /@esbuild/darwin-x64/0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -919,8 +859,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.18: - resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} + /@esbuild/freebsd-arm64/0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -928,8 +868,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.18: - resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} + /@esbuild/freebsd-x64/0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -937,26 +877,26 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.18: - resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} + /@esbuild/linux-arm/0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm@0.17.18: - resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} + /@esbuild/linux-arm64/0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32@0.17.18: - resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} + /@esbuild/linux-ia32/0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -964,7 +904,7 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.15.13: + /@esbuild/linux-loong64/0.15.13: resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} engines: {node: '>=12'} cpu: [loong64] @@ -973,8 +913,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.18: - resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} + /@esbuild/linux-loong64/0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -982,8 +922,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.18: - resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} + /@esbuild/linux-mips64el/0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -991,8 +931,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.18: - resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} + /@esbuild/linux-ppc64/0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1000,8 +940,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.18: - resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} + /@esbuild/linux-riscv64/0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1009,8 +949,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.18: - resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} + /@esbuild/linux-s390x/0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1018,8 +958,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.18: - resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} + /@esbuild/linux-x64/0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1027,8 +967,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.18: - resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} + /@esbuild/netbsd-x64/0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1036,8 +976,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.18: - resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} + /@esbuild/openbsd-x64/0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1045,8 +985,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.18: - resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} + /@esbuild/sunos-x64/0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1054,8 +994,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.18: - resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} + /@esbuild/win32-arm64/0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1063,8 +1003,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.18: - resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} + /@esbuild/win32-ia32/0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1072,8 +1012,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.18: - resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} + /@esbuild/win32-x64/0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1081,11 +1021,11 @@ packages: dev: true optional: true - /@fontsource/inter@4.5.14: + /@fontsource/inter/4.5.14: resolution: {integrity: sha512-JDC9AocdPLuGsASkvWw9hS5gtHE7K9dOwL98XLrk5yjYqxy4uVnScG58NUvFMJDVJRl/7c8Wnap6PEs+7Zvj1Q==} dev: true - /@jridgewell/gen-mapping@0.1.1: + /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: @@ -1093,7 +1033,7 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/gen-mapping@0.3.2: + /@jridgewell/gen-mapping/0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: @@ -1102,74 +1042,74 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@jridgewell/resolve-uri@3.1.0: + /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/set-array@1.1.2: + /@jridgewell/set-array/1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: + /@jridgewell/source-map/0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 dev: true - /@jridgewell/sourcemap-codec@1.4.14: + /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping@0.3.17: + /@jridgewell/trace-mapping/0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jsdevtools/rehype-toc@3.0.2: + /@jsdevtools/rehype-toc/3.0.2: resolution: {integrity: sha512-n5JEf16Wr4mdkRMZ8wMP/wN9/sHmTjRPbouXjJH371mZ2LEGDl72t8tEsMRNFerQN/QJtivOxqK1frdGa4QK5Q==} engines: {node: '>=10'} dev: true - /@lezer/common@1.0.1: + /@lezer/common/1.0.1: resolution: {integrity: sha512-8TR5++Q/F//tpDsLd5zkrvEX5xxeemafEaek7mUp7Y+bI8cKQXdSqhzTOBaOogETcMOVr0pT3BBPXp13477ciw==} dev: true - /@lezer/highlight@1.1.2: + /@lezer/highlight/1.1.2: resolution: {integrity: sha512-CAun1WR1glxG9ZdOokTZwXbcwB7PXkIEyZRUMFBVwSrhTcogWq634/ByNImrkUnQhjju6xsIaOBIxvcRJtplXQ==} dependencies: '@lezer/common': 1.0.1 dev: true - /@lezer/javascript@1.0.2: + /@lezer/javascript/1.0.2: resolution: {integrity: sha512-IjOVeIRhM8IuafWNnk+UzRz7p4/JSOKBNINLYLsdSGuJS9Ju7vFdc82AlTt0jgtV5D8eBZf4g0vK4d3ttBNz7A==} dependencies: '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 dev: true - /@lezer/json@1.0.0: + /@lezer/json/1.0.0: resolution: {integrity: sha512-zbAuUY09RBzCoCA3lJ1+ypKw5WSNvLqGMtasdW6HvVOqZoCpPr8eWrsGnOVWGKGn8Rh21FnrKRVlJXrGAVUqRw==} dependencies: '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 dev: true - /@lezer/lr@1.2.4: + /@lezer/lr/1.2.4: resolution: {integrity: sha512-L/52/oMJBFXXx8qBYF4UgktLP2geQ/qn5Fd8+5L/mqlLLCB9+qdKktFAtejd9FdFMaFx6lrP5rmLz4sN3Kplcg==} dependencies: '@lezer/common': 1.0.1 dev: true - /@ljharb/has-package-exports-patterns@0.0.2: + /@ljharb/has-package-exports-patterns/0.0.2: resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==} dev: true - /@mdx-js/mdx@2.3.0: + /@mdx-js/mdx/2.3.0: resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} dependencies: '@types/estree-jsx': 1.0.0 @@ -1193,21 +1133,21 @@ packages: - supports-color dev: true - /@mdx-js/rollup@2.3.0(rollup@3.21.3): + /@mdx-js/rollup/2.3.0_rollup@3.23.0: resolution: {integrity: sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==} peerDependencies: rollup: '>=2' dependencies: '@mdx-js/mdx': 2.3.0 - '@rollup/pluginutils': 5.0.2(rollup@3.21.3) - rollup: 3.21.3 + '@rollup/pluginutils': 5.0.2_rollup@3.23.0 + rollup: 3.23.0 source-map: 0.7.4 vfile: 5.3.5 transitivePeerDependencies: - supports-color dev: true - /@nodelib/fs.scandir@2.1.5: + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: @@ -1215,12 +1155,12 @@ packages: run-parallel: 1.2.0 dev: true - /@nodelib/fs.stat@2.0.5: + /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: true - /@nodelib/fs.walk@1.2.8: + /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: @@ -1228,7 +1168,7 @@ packages: fastq: 1.13.0 dev: true - /@pkgr/utils@2.3.1: + /@pkgr/utils/2.3.1: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: @@ -1240,7 +1180,7 @@ packages: tslib: 2.4.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.21.3): + /@rollup/pluginutils/5.0.2_rollup@3.23.0: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1252,58 +1192,58 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.21.3 + rollup: 3.23.0 dev: true - /@rometools/cli-darwin-arm64@12.0.0: - resolution: {integrity: sha512-kEFCzU6cgy6vfY0mkMzq57ea3srqV5X2wyCAxjVfA2JF7fioq695uWhy7yOCBW+nUUFIz62N9v1nf/aYqX8XkA==} + /@rometools/cli-darwin-arm64/12.1.2: + resolution: {integrity: sha512-9QxtAwNyX9n7ysxo+9qWczl70I1opulmX7LFNsRJKS9qqyTNc5K++btnNK07vWAIeQsMx4QYwr7241thuBMlFw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rometools/cli-darwin-x64@12.0.0: - resolution: {integrity: sha512-YDevVPKrkRFdjjM/3zOpOWI5mEY2ivjKM2eR8Yqv9xH3SZhyD/t67f/xo7Azp6NkGUVXSnHLGdkmIg+qrYgz5A==} + /@rometools/cli-darwin-x64/12.1.2: + resolution: {integrity: sha512-w28NkGYK/rSmQU2WkNzw1h7ec8IR5a7LzYwPHDvG2ogY5sTcygkg0TGKOF/MHUvixU6EBPrFobua2gPhpr/m5A==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rometools/cli-linux-arm64@12.0.0: - resolution: {integrity: sha512-n2LJg6eAZENUcJF99wjDeqQCr/40IqGUJDbX7NwiU1RvCy+RBZNmhcmSAaKOc6rCoLUcM9W5q+H4jfn4bWfJBA==} + /@rometools/cli-linux-arm64/12.1.2: + resolution: {integrity: sha512-7BPGqPtnJy1O8B/ucJ5Vg+p6EUvJJ9DazrT1UEdVR/4inPqAVac9PIZDjjHXyMrt/3IngnetPyn5EXNTAqpJVw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rometools/cli-linux-x64@12.0.0: - resolution: {integrity: sha512-VuQO4eOrKmfrLrc8KzMaZypz3i1rD9FXRxwOFk6ha16DNHV+17dRQYm7jRZ1p+HrXdjAJYTScxR/E03yGLThlQ==} + /@rometools/cli-linux-x64/12.1.2: + resolution: {integrity: sha512-qH2iJKPLp34D0GFK1gLolHGkTA8q2vGKh2Ae1AwoTh87g0mXyyeQf4mAtxJtf4/ydMgjEkAZdEwyaevbTX8gnQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rometools/cli-win32-arm64@12.0.0: - resolution: {integrity: sha512-lvOh5/B8YuQdI2ieGJnJ6CUMZxvVwA8+1VDkEZJyl5IEF8AXzbXYx4k6SFA5a79cfXEL9tJuJy0rn+Zs/+1yJQ==} + /@rometools/cli-win32-arm64/12.1.2: + resolution: {integrity: sha512-iIdqss2R8bni7C7isA9OLBj1UAA3MeKfca0aHNZr+2gSRdiSxO/47j6s3Tpebso99xsJBAFdWBOruG+l/C+LQg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rometools/cli-win32-x64@12.0.0: - resolution: {integrity: sha512-yTfz71k8+9QIDzglKnMbEMMv1JUk30qfeSomgEUG2v0qDSbSq0Gs1ff0H0dysYOHLvZZmWA3IheOY/SC8fj1nA==} + /@rometools/cli-win32-x64/12.1.2: + resolution: {integrity: sha512-MKOd02sSnd/Biogh3rIKpLFZzYbDSVvRNAxbFHJOpyGLbeQHfAg7QxjKwz0PqyrHVjZaTEEPlswrf4IFii0GNg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-add-jsx-attribute/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: @@ -1312,7 +1252,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@6.5.0(@babel/core@7.20.2): + /@svgr/babel-plugin-remove-jsx-attribute/6.5.0_@babel+core@7.20.2: resolution: {integrity: sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==} engines: {node: '>=10'} peerDependencies: @@ -1321,7 +1261,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@6.5.0(@babel/core@7.20.2): + /@svgr/babel-plugin-remove-jsx-empty-expression/6.5.0_@babel+core@7.20.2: resolution: {integrity: sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==} engines: {node: '>=10'} peerDependencies: @@ -1330,7 +1270,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-replace-jsx-attribute-value/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: @@ -1339,7 +1279,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-svg-dynamic-title/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: @@ -1348,7 +1288,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-svg-em-dimensions/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: @@ -1357,7 +1297,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-transform-react-native-svg/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: @@ -1366,7 +1306,7 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.20.2): + /@svgr/babel-plugin-transform-svg-component/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: @@ -1375,37 +1315,37 @@ packages: '@babel/core': 7.20.2 dev: true - /@svgr/babel-preset@6.5.1(@babel/core@7.20.2): + /@svgr/babel-preset/6.5.1_@babel+core@7.20.2: resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.20.2) - '@svgr/babel-plugin-remove-jsx-attribute': 6.5.0(@babel/core@7.20.2) - '@svgr/babel-plugin-remove-jsx-empty-expression': 6.5.0(@babel/core@7.20.2) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.20.2) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.20.2) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.20.2) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.20.2) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.20.2) + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1_@babel+core@7.20.2 + '@svgr/babel-plugin-remove-jsx-attribute': 6.5.0_@babel+core@7.20.2 + '@svgr/babel-plugin-remove-jsx-empty-expression': 6.5.0_@babel+core@7.20.2 + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1_@babel+core@7.20.2 + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1_@babel+core@7.20.2 + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1_@babel+core@7.20.2 + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1_@babel+core@7.20.2 + '@svgr/babel-plugin-transform-svg-component': 6.5.1_@babel+core@7.20.2 dev: true - /@svgr/core@6.5.1: + /@svgr/core/6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: '@babel/core': 7.20.2 - '@svgr/babel-preset': 6.5.1(@babel/core@7.20.2) - '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + '@svgr/babel-preset': 6.5.1_@babel+core@7.20.2 + '@svgr/plugin-jsx': 6.5.1_@svgr+core@6.5.1 camelcase: 6.3.0 cosmiconfig: 7.0.1 transitivePeerDependencies: - supports-color dev: true - /@svgr/hast-util-to-babel-ast@6.5.1: + /@svgr/hast-util-to-babel-ast/6.5.1: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: @@ -1413,14 +1353,14 @@ packages: entities: 4.4.0 dev: true - /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): + /@svgr/plugin-jsx/6.5.1_@svgr+core@6.5.1: resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} engines: {node: '>=10'} peerDependencies: '@svgr/core': ^6.0.0 dependencies: '@babel/core': 7.20.2 - '@svgr/babel-preset': 6.5.1(@babel/core@7.20.2) + '@svgr/babel-preset': 6.5.1_@babel+core@7.20.2 '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -1428,18 +1368,18 @@ packages: - supports-color dev: true - /@trysound/sax@0.2.0: + /@trysound/sax/0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} dev: true - /@types/acorn@4.0.6: + /@types/acorn/4.0.6: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} dependencies: '@types/estree': 1.0.0 dev: true - /@types/babel__core@7.1.20: + /@types/babel__core/7.1.20: resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} dependencies: '@babel/parser': 7.20.3 @@ -1449,124 +1389,124 @@ packages: '@types/babel__traverse': 7.18.2 dev: true - /@types/babel__generator@7.6.4: + /@types/babel__generator/7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.20.2 dev: true - /@types/babel__template@7.4.1: + /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.20.3 '@babel/types': 7.20.2 dev: true - /@types/babel__traverse@7.18.2: + /@types/babel__traverse/7.18.2: resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} dependencies: '@babel/types': 7.20.2 dev: true - /@types/css-tree@2.3.1: + /@types/css-tree/2.3.1: resolution: {integrity: sha512-3m636Jz4d9d+lHVMp6FNLsUWQrfOx1xpm1SBxPbQYSNNgXMe+XswcsDeo1ldyULiuzYyWKk1kmvkLTgNq+215Q==} dev: true - /@types/csso@5.0.0: + /@types/csso/5.0.0: resolution: {integrity: sha512-EMrCTGpXRUsbFfZBzn2jcW6Sqg8kxWXkJcpvAGYSEzFqAJ2THDJSwiMeS2fPUw+0p6RQNT/n8F/skEc9hUBc0g==} dependencies: '@types/css-tree': 2.3.1 dev: true - /@types/debug@4.1.7: + /@types/debug/4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 dev: true - /@types/estree-jsx@1.0.0: + /@types/estree-jsx/1.0.0: resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} dependencies: '@types/estree': 1.0.0 dev: true - /@types/estree@1.0.0: + /@types/estree/1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/extend@3.0.1: + /@types/extend/3.0.1: resolution: {integrity: sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==} dev: true - /@types/github-slugger@1.3.0: + /@types/github-slugger/1.3.0: resolution: {integrity: sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==} dev: true - /@types/hast@2.3.4: + /@types/hast/2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/html-minifier-terser@7.0.0: + /@types/html-minifier-terser/7.0.0: resolution: {integrity: sha512-hw3bhStrg5e3FQT8qZKCJTrzt/UbEaunU1xRWJ+aNOTmeBMvE3S4Ml2HiiNnZgL8izu0LFVkHUoPFXL1s5QNpQ==} dev: true - /@types/json5@0.0.30: + /@types/json5/0.0.30: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: true - /@types/mdast@3.0.10: + /@types/mdast/3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/mdx@2.0.3: + /@types/mdx/2.0.3: resolution: {integrity: sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==} dev: true - /@types/mermaid@9.1.0: + /@types/mermaid/9.1.0: resolution: {integrity: sha512-rc8QqhveKAY7PouzY/p8ljS+eBSNCv7o79L97RSub/Ic2SQ34ph1Ng3s8wFLWVjvaEt6RLOWtSCsgYWd95NY8A==} dev: true - /@types/ms@0.7.31: + /@types/ms/0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/nlcst@1.0.0: + /@types/nlcst/1.0.0: resolution: {integrity: sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/node@18.16.3: - resolution: {integrity: sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==} + /@types/node/18.16.14: + resolution: {integrity: sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==} dev: true - /@types/parse-json@4.0.0: + /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/parse5@6.0.3: + /@types/parse5/6.0.3: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: true - /@types/prettier@2.7.1: + /@types/prettier/2.7.1: resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} dev: true - /@types/prop-types@15.7.5: + /@types/prop-types/15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: true - /@types/react-dom@17.0.18: + /@types/react-dom/17.0.18: resolution: {integrity: sha512-rLVtIfbwyur2iFKykP2w0pl/1unw26b5td16d5xMgp7/yjTHomkyxPYChFoCr/FtEX1lN9wY6lFj1qvKdS5kDw==} dependencies: '@types/react': 17.0.52 dev: true - /@types/react@17.0.52: + /@types/react/17.0.52: resolution: {integrity: sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==} dependencies: '@types/prop-types': 15.7.5 @@ -1574,94 +1514,84 @@ packages: csstype: 3.1.1 dev: true - /@types/resolve@1.20.2: + /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/scheduler@0.16.2: + /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: true - /@types/sharp@0.31.1: + /@types/sharp/0.31.1: resolution: {integrity: sha512-5nWwamN9ZFHXaYEincMSuza8nNfOof8nmO+mcI+Agx1uMUk4/pQnNIcix+9rLPXzKrm1pS34+6WRDbDV0Jn7ag==} dependencies: - '@types/node': 18.16.3 + '@types/node': 18.16.14 dev: true - /@types/unist@2.0.6: + /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@types/yargs-parser@21.0.0: + /@types/yargs-parser/21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@uiw/codemirror-extensions-basic-setup@4.13.2(@codemirror/autocomplete@6.3.0)(@codemirror/commands@6.1.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.1)(@codemirror/search@6.2.2)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0): - resolution: {integrity: sha512-ATJA7WaZ5g7/0teNBQRIalK3RxfU9X7hviwh6BOelaeJrJjkY6x+jVaACYywP1GStsIKcjNCumakpmRPO9w4sQ==} + /@uiw/codemirror-extensions-basic-setup/4.20.2_jsq7wheuctzgjxbrx5kx3fyvty: + resolution: {integrity: sha512-8oF7ICSEoJVjn9MNKLsY5BaxGsFS/Qh8AMHa/0hZP1fExeI+LKhaaSfHbdRk8RpYE5Ffjtx+tBQfh22YBiv5dQ==} peerDependencies: - '@codemirror/autocomplete': '>=6.0.0' - '@codemirror/commands': '>=6.0.0' - '@codemirror/language': '>=6.0.0' '@codemirror/lint': '>=6.0.0' - '@codemirror/search': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.3.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1) + '@codemirror/autocomplete': 6.3.0_m3x3ko4kwarhrbpzn52giepxla '@codemirror/commands': 6.1.2 - '@codemirror/language': 6.6.0 + '@codemirror/language': 6.7.0 '@codemirror/lint': 6.2.1 '@codemirror/search': 6.2.2 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 dev: true - /@uiw/react-codemirror@4.13.2(@babel/runtime@7.20.1)(@codemirror/autocomplete@6.3.0)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.1)(@codemirror/search@6.2.2)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.0)(@codemirror/view@6.11.0)(codemirror@6.0.1)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-sMfb8F82yLSqyq1gEUlr14E4KGXDfvsCnkGLLwJZqsq/TvJTRVcy0GX87wn3GXBtGhNp5TvGFUDaCnFzbU4bIQ==} + /@uiw/react-codemirror/4.20.2_callkuyok6ybnzwql5bp56qinu: + resolution: {integrity: sha512-Rf6i9HgtNnYAVRBb1gfWlhiiOBrEPuIfHLn87cV9XPpjP+YtqZoP6VMMlMq4XFTbZ/E1GIxnSUgJMQToTth0iw==} peerDependencies: - '@babel/runtime': '>=7.11.0' '@codemirror/state': '>=6.0.0' - '@codemirror/theme-one-dark': '>=6.0.0' '@codemirror/view': '>=6.0.0' - codemirror: '>=6.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: '@babel/runtime': 7.20.1 '@codemirror/commands': 6.1.2 - '@codemirror/state': 6.2.0 + '@codemirror/state': 6.2.1 '@codemirror/theme-one-dark': 6.1.0 - '@codemirror/view': 6.11.0 - '@uiw/codemirror-extensions-basic-setup': 4.13.2(@codemirror/autocomplete@6.3.0)(@codemirror/commands@6.1.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.1)(@codemirror/search@6.2.2)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0) - codemirror: 6.0.1(@lezer/common@1.0.1) + '@codemirror/view': 6.12.0 + '@uiw/codemirror-extensions-basic-setup': 4.20.2_jsq7wheuctzgjxbrx5kx3fyvty + codemirror: 6.0.1 react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react-dom: 17.0.2_react@17.0.2 transitivePeerDependencies: - - '@codemirror/autocomplete' - - '@codemirror/language' - '@codemirror/lint' - - '@codemirror/search' dev: true - /@vitejs/plugin-react@2.2.0(vite@3.1.8): + /@vitejs/plugin-react/2.2.0_vite@3.1.8: resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 dependencies: '@babel/core': 7.20.2 - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.2) - '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-react-jsx-self': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.20.2) + '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 + '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.20.2 + '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.2 + '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.2 magic-string: 0.26.7 react-refresh: 0.14.0 - vite: 3.1.8(sass@1.62.1) + vite: 3.1.8_sass@1.62.1 transitivePeerDependencies: - supports-color dev: true - /@vscode/emmet-helper@2.8.4: + /@vscode/emmet-helper/2.8.4: resolution: {integrity: sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==} dependencies: emmet: 2.3.6 @@ -1672,25 +1602,31 @@ packages: vscode-uri: 2.1.2 dev: true - /@vscode/l10n@0.0.13: + /@vscode/l10n/0.0.13: resolution: {integrity: sha512-A3uY356uOU9nGa+TQIT/i3ziWUgJjVMUrGGXSrtRiTwklyCFjGVWIOHoEIHbJpiyhDkJd9kvIWUOfXK1IkK8XQ==} dev: true - /acorn-jsx@5.3.2(acorn@8.8.1): + /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.1 + acorn: 8.8.2 dev: true - /acorn@8.8.1: + /acorn/8.8.1: resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /algoliasearch@4.14.2: + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /algoliasearch/4.14.2: resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} dependencies: '@algolia/cache-browser-local-storage': 4.14.2 @@ -1709,42 +1645,46 @@ packages: '@algolia/transporter': 4.14.2 dev: true - /ansi-align@3.0.1: + /ansi-align/3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 dev: true - /ansi-regex@5.0.1: + /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} dev: true - /ansi-regex@6.0.1: + /ansi-regex/6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} dev: true - /ansi-styles@3.2.1: + /ansi-sequence-parser/1.1.0: + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} + dev: true + + /ansi-styles/3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true - /ansi-styles@4.3.0: + /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true - /ansi-styles@6.2.1: + /ansi-styles/6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} dev: true - /anymatch@3.1.2: + /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} dependencies: @@ -1752,22 +1692,26 @@ packages: picomatch: 2.3.1 dev: true - /argparse@1.0.10: + /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true - /array-iterate@2.0.1: + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-iterate/2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} dev: true - /astring@1.8.3: + /astring/1.8.3: resolution: {integrity: sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==} hasBin: true dev: true - /astro-compress@1.1.35: + /astro-compress/1.1.35: resolution: {integrity: sha512-K6BK+iMbejXeUS1eAjoQhRh4geEutFrGkgCkeTAthf1XeRzPrWvtNPA7RjJBXWR8aNJtjryxyW02z3pE+4RNow==} dependencies: '@types/csso': 5.0.0 @@ -1781,8 +1725,8 @@ packages: terser: 5.16.5 dev: true - /astro@2.3.4(@types/node@18.16.3)(sass@1.62.1): - resolution: {integrity: sha512-bP3HC8ayCPxB8n+PoeacabsfWna0eu4itiUDJklfP3uuMCAPZN0j5LbyZREMH/0qErUOai75ctpeLoKwZixTSQ==} + /astro/2.5.5_3cl3pib2kx7jaftbqhg3ux7t34: + resolution: {integrity: sha512-VRwnlfRtPALeOxfE4e7To5Vlu9pGwlTRWN1zkn1QTizwfg0rLirFTm6t2MCG/fUhlu/p3QO9tz8SpAIyDq53/Q==} engines: {node: '>=16.12.0', npm: '>=6.14.0'} hasBin: true peerDependencies: @@ -1791,20 +1735,20 @@ packages: sharp: optional: true dependencies: - '@astrojs/compiler': 1.4.0 - '@astrojs/language-server': 1.0.0 - '@astrojs/markdown-remark': 2.1.4(astro@2.3.4) + '@astrojs/compiler': 1.4.2 + '@astrojs/language-server': 1.0.5 + '@astrojs/markdown-remark': 2.2.1_astro@2.5.5 '@astrojs/telemetry': 2.1.1 '@astrojs/webapi': 2.1.1 '@babel/core': 7.20.2 '@babel/generator': 7.20.4 '@babel/parser': 7.20.3 - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.2) + '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 '@babel/traverse': 7.20.1 '@babel/types': 7.20.2 '@types/babel__core': 7.1.20 '@types/yargs-parser': 21.0.0 - acorn: 8.8.1 + acorn: 8.8.2 boxen: 6.2.1 chokidar: 3.5.3 ci-info: 3.5.0 @@ -1815,23 +1759,26 @@ packages: devalue: 4.3.0 diff: 5.1.0 es-module-lexer: 1.2.0 - estree-walker: 3.0.1 + esbuild: 0.17.19 + estree-walker: 3.0.0 execa: 6.1.0 fast-glob: 3.2.12 github-slugger: 2.0.0 gray-matter: 4.0.3 html-escaper: 3.0.3 + js-yaml: 4.1.0 kleur: 4.1.5 magic-string: 0.27.0 mime: 3.0.0 ora: 6.1.2 + p-limit: 4.0.0 path-to-regexp: 6.2.1 preferred-pm: 3.0.3 prompts: 2.4.2 rehype: 12.0.1 semver: 7.3.8 server-destroy: 1.0.1 - shiki: 0.11.1 + shiki: 0.14.2 slash: 4.0.0 string-width: 5.1.2 strip-ansi: 7.0.1 @@ -1840,8 +1787,8 @@ packages: typescript: 5.0.4 unist-util-visit: 4.1.1 vfile: 5.3.5 - vite: 4.3.4(@types/node@18.16.3)(sass@1.62.1) - vitefu: 0.2.4(vite@4.3.4) + vite: 4.3.8_3cl3pib2kx7jaftbqhg3ux7t34 + vitefu: 0.2.4_vite@4.3.8 yargs-parser: 21.0.1 zod: 3.21.4 transitivePeerDependencies: @@ -1854,7 +1801,7 @@ packages: - terser dev: true - /autoprefixer@10.4.13(postcss@8.4.23): + /autoprefixer/10.4.13_postcss@8.4.23: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1870,20 +1817,20 @@ packages: postcss-value-parser: 4.2.0 dev: true - /bail@2.0.2: + /bail/2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: true - /base64-js@1.5.1: + /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /binary-extensions@2.2.0: + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true - /bl@4.1.0: + /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 @@ -1891,7 +1838,7 @@ packages: readable-stream: 3.6.0 dev: true - /bl@5.1.0: + /bl/5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: buffer: 6.0.3 @@ -1899,11 +1846,11 @@ packages: readable-stream: 3.6.0 dev: true - /boolbase@1.0.0: + /boolbase/1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /boxen@6.2.1: + /boxen/6.2.1: resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -1917,14 +1864,14 @@ packages: wrap-ansi: 8.0.1 dev: true - /braces@3.0.2: + /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true - /browserslist@4.21.4: + /browserslist/4.21.4: resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1932,60 +1879,60 @@ packages: caniuse-lite: 1.0.30001431 electron-to-chromium: 1.4.284 node-releases: 2.0.6 - update-browserslist-db: 1.0.10(browserslist@4.21.4) + update-browserslist-db: 1.0.10_browserslist@4.21.4 dev: true - /buffer-from@1.1.2: + /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer@5.7.1: + /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true - /buffer@6.0.3: + /buffer/6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true - /busboy@1.6.0: + /busboy/1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 dev: true - /callsites@3.1.0: + /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true - /camel-case@4.1.2: + /camel-case/4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.4.1 dev: true - /camelcase@6.3.0: + /camelcase/6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001431: + /caniuse-lite/1.0.30001431: resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} dev: true - /ccount@2.0.1: + /ccount/2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: true - /chalk@2.4.2: + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -1994,7 +1941,7 @@ packages: supports-color: 5.5.0 dev: true - /chalk@4.1.2: + /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: @@ -2002,28 +1949,28 @@ packages: supports-color: 7.2.0 dev: true - /chalk@5.1.2: + /chalk/5.1.2: resolution: {integrity: sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /character-entities-html4@2.1.0: + /character-entities-html4/2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: true - /character-entities-legacy@3.0.0: + /character-entities-legacy/3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} dev: true - /character-entities@2.0.2: + /character-entities/2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: true - /character-reference-invalid@2.0.1: + /character-reference-invalid/2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} dev: true - /chokidar@3.5.3: + /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: @@ -2038,98 +1985,96 @@ packages: fsevents: 2.3.2 dev: true - /chownr@1.1.4: + /chownr/1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true - /ci-info@3.5.0: + /ci-info/3.5.0: resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} dev: true - /clean-css@5.2.0: + /clean-css/5.2.0: resolution: {integrity: sha512-2639sWGa43EMmG7fn8mdVuBSs6HuWaSor+ZPoFWzenBc6oN+td8YhTfghWXZ25G1NiiSvz8bOFBS7PdSbTiqEA==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 dev: true - /cli-boxes@3.0.0: + /cli-boxes/3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} dev: true - /cli-cursor@4.0.0: + /cli-cursor/4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true - /cli-spinners@2.7.0: + /cli-spinners/2.7.0: resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} engines: {node: '>=6'} dev: true - /clone@1.0.4: + /clone/1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: true - /codemirror-lang-rome-ast@0.0.6: + /codemirror-lang-rome-ast/0.0.6: resolution: {integrity: sha512-2E4E4rNcj6XxLsVjCZJeOsdEXpfdgiejuLrbq6O4muXzf0KSv5X0ScQrs3LK5LmGwoQUC0AowYbfdj3lsaLWkQ==} dependencies: - '@codemirror/autocomplete': 6.3.0(@codemirror/language@6.3.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1) + '@codemirror/autocomplete': 6.3.0_m3x3ko4kwarhrbpzn52giepxla '@codemirror/language': 6.3.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 dev: true - /codemirror@6.0.1(@lezer/common@1.0.1): + /codemirror/6.0.1: resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.3.0(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1) + '@codemirror/autocomplete': 6.3.0_m3x3ko4kwarhrbpzn52giepxla '@codemirror/commands': 6.1.2 - '@codemirror/language': 6.6.0 + '@codemirror/language': 6.7.0 '@codemirror/lint': 6.2.1 '@codemirror/search': 6.2.2 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 - transitivePeerDependencies: - - '@lezer/common' + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 dev: true - /color-convert@1.9.3: + /color-convert/1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true - /color-convert@2.0.1: + /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true - /color-name@1.1.3: + /color-name/1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true - /color-name@1.1.4: + /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /color-string@1.9.1: + /color-string/1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: true - /color@4.2.3: + /color/4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} dependencies: @@ -2137,50 +2082,50 @@ packages: color-string: 1.9.1 dev: true - /comma-separated-tokens@2.0.2: + /comma-separated-tokens/2.0.2: resolution: {integrity: sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==} dev: true - /commander@2.20.3: + /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commander@7.2.0: + /commander/7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} dev: true - /commander@9.4.1: + /commander/9.4.1: resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} engines: {node: ^12.20.0 || >=14} dev: true - /common-ancestor-path@1.0.1: + /common-ancestor-path/1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} dev: true - /convert-source-map@1.9.0: + /convert-source-map/1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true - /cookie@0.5.0: + /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: true - /cose-base@1.0.3: + /cose-base/1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} dependencies: layout-base: 1.0.2 dev: true - /cose-base@2.2.0: + /cose-base/2.2.0: resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} dependencies: layout-base: 2.0.1 dev: true - /cosmiconfig@7.0.1: + /cosmiconfig/7.0.1: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} engines: {node: '>=10'} dependencies: @@ -2191,11 +2136,11 @@ packages: yaml: 1.10.2 dev: true - /crelt@1.0.5: + /crelt/1.0.5: resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} dev: true - /cross-spawn@7.0.3: + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -2204,7 +2149,7 @@ packages: which: 2.0.2 dev: true - /css-select@5.1.0: + /css-select/5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: boolbase: 1.0.0 @@ -2214,7 +2159,7 @@ packages: nth-check: 2.0.1 dev: true - /css-tree@2.2.1: + /css-tree/2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: @@ -2222,61 +2167,61 @@ packages: source-map-js: 1.0.2 dev: true - /css-what@6.1.0: + /css-what/6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} dev: true - /csso@5.0.5: + /csso/5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: css-tree: 2.2.1 dev: true - /csstype@3.1.1: + /csstype/3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} dev: true - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.24.0): + /cytoscape-cose-bilkent/4.1.0_cytoscape@3.25.0: resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 1.0.3 - cytoscape: 3.24.0 + cytoscape: 3.25.0 dev: true - /cytoscape-fcose@2.2.0(cytoscape@3.24.0): + /cytoscape-fcose/2.2.0_cytoscape@3.25.0: resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 2.2.0 - cytoscape: 3.24.0 + cytoscape: 3.25.0 dev: true - /cytoscape@3.24.0: - resolution: {integrity: sha512-W9fJMrAfr/zKFzDCpRR/wn6uoEQ7gfbJmxPK5DadXj69XyAhZYi1QXLOE+UXJfXVXxqGM1o1eeiIrtxrtB43zA==} + /cytoscape/3.25.0: + resolution: {integrity: sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==} engines: {node: '>=0.10'} dependencies: heap: 0.2.7 lodash: 4.17.21 dev: true - /d3-array@3.2.0: + /d3-array/3.2.0: resolution: {integrity: sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==} engines: {node: '>=12'} dependencies: internmap: 2.0.3 dev: true - /d3-axis@3.0.0: + /d3-axis/3.0.0: resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} engines: {node: '>=12'} dev: true - /d3-brush@3.0.0: + /d3-brush/3.0.0: resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} engines: {node: '>=12'} dependencies: @@ -2284,41 +2229,41 @@ packages: d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-transition: 3.0.1_d3-selection@3.0.0 dev: true - /d3-chord@3.0.1: + /d3-chord/3.0.1: resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} engines: {node: '>=12'} dependencies: d3-path: 3.0.1 dev: true - /d3-color@3.1.0: + /d3-color/3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} dev: true - /d3-contour@4.0.0: + /d3-contour/4.0.0: resolution: {integrity: sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==} engines: {node: '>=12'} dependencies: d3-array: 3.2.0 dev: true - /d3-delaunay@6.0.2: + /d3-delaunay/6.0.2: resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} engines: {node: '>=12'} dependencies: delaunator: 5.0.0 dev: true - /d3-dispatch@3.0.1: + /d3-dispatch/3.0.1: resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} engines: {node: '>=12'} dev: true - /d3-drag@3.0.0: + /d3-drag/3.0.0: resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} engines: {node: '>=12'} dependencies: @@ -2326,7 +2271,7 @@ packages: d3-selection: 3.0.0 dev: true - /d3-dsv@3.0.1: + /d3-dsv/3.0.1: resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} engines: {node: '>=12'} hasBin: true @@ -2336,19 +2281,19 @@ packages: rw: 1.3.3 dev: true - /d3-ease@3.0.1: + /d3-ease/3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} dev: true - /d3-fetch@3.0.1: + /d3-fetch/3.0.1: resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} engines: {node: '>=12'} dependencies: d3-dsv: 3.0.1 dev: true - /d3-force@3.0.0: + /d3-force/3.0.0: resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} engines: {node: '>=12'} dependencies: @@ -2357,51 +2302,51 @@ packages: d3-timer: 3.0.1 dev: true - /d3-format@3.1.0: + /d3-format/3.1.0: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} dev: true - /d3-geo@3.0.1: + /d3-geo/3.0.1: resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==} engines: {node: '>=12'} dependencies: d3-array: 3.2.0 dev: true - /d3-hierarchy@3.1.2: + /d3-hierarchy/3.1.2: resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} engines: {node: '>=12'} dev: true - /d3-interpolate@3.0.1: + /d3-interpolate/3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} dependencies: d3-color: 3.1.0 dev: true - /d3-path@3.0.1: + /d3-path/3.0.1: resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==} engines: {node: '>=12'} dev: true - /d3-polygon@3.0.1: + /d3-polygon/3.0.1: resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} engines: {node: '>=12'} dev: true - /d3-quadtree@3.0.1: + /d3-quadtree/3.0.1: resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} engines: {node: '>=12'} dev: true - /d3-random@3.0.1: + /d3-random/3.0.1: resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} engines: {node: '>=12'} dev: true - /d3-scale-chromatic@3.0.0: + /d3-scale-chromatic/3.0.0: resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} engines: {node: '>=12'} dependencies: @@ -2409,7 +2354,7 @@ packages: d3-interpolate: 3.0.1 dev: true - /d3-scale@4.0.2: + /d3-scale/4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} dependencies: @@ -2420,38 +2365,38 @@ packages: d3-time-format: 4.1.0 dev: true - /d3-selection@3.0.0: + /d3-selection/3.0.0: resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} engines: {node: '>=12'} dev: true - /d3-shape@3.1.0: + /d3-shape/3.1.0: resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==} engines: {node: '>=12'} dependencies: d3-path: 3.0.1 dev: true - /d3-time-format@4.1.0: + /d3-time-format/4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} dependencies: d3-time: 3.0.0 dev: true - /d3-time@3.0.0: + /d3-time/3.0.0: resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==} engines: {node: '>=12'} dependencies: d3-array: 3.2.0 dev: true - /d3-timer@3.0.1: + /d3-timer/3.0.1: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} dev: true - /d3-transition@3.0.1(d3-selection@3.0.0): + /d3-transition/3.0.1_d3-selection@3.0.0: resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} engines: {node: '>=12'} peerDependencies: @@ -2465,7 +2410,7 @@ packages: d3-timer: 3.0.1 dev: true - /d3-zoom@3.0.0: + /d3-zoom/3.0.0: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} dependencies: @@ -2473,10 +2418,10 @@ packages: d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-transition: 3.0.1_d3-selection@3.0.0 dev: true - /d3@7.6.1: + /d3/7.6.1: resolution: {integrity: sha512-txMTdIHFbcpLx+8a0IFhZsbp+PfBBPt8yfbmukZTQFroKuFqIwqswF0qE5JXWefylaAVpSXFoKm3yP+jpNLFLw==} engines: {node: '>=12'} dependencies: @@ -2508,11 +2453,11 @@ packages: d3-time: 3.0.0 d3-time-format: 4.1.0 d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-transition: 3.0.1_d3-selection@3.0.0 d3-zoom: 3.0.0 dev: true - /d3@7.8.4: + /d3/7.8.4: resolution: {integrity: sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==} engines: {node: '>=12'} dependencies: @@ -2544,22 +2489,22 @@ packages: d3-time: 3.0.0 d3-time-format: 4.1.0 d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-transition: 3.0.1_d3-selection@3.0.0 d3-zoom: 3.0.0 dev: true - /dagre-d3-es@7.0.9: + /dagre-d3-es/7.0.9: resolution: {integrity: sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==} dependencies: d3: 7.8.4 lodash-es: 4.17.21 dev: true - /dayjs@1.11.7: + /dayjs/1.11.7: resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: true - /debug@4.3.4: + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -2571,77 +2516,77 @@ packages: ms: 2.1.2 dev: true - /decode-named-character-reference@1.0.2: + /decode-named-character-reference/1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: character-entities: 2.0.2 dev: true - /decompress-response@6.0.0: + /decompress-response/6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 dev: true - /deep-extend@0.6.0: + /deep-extend/0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} dev: true - /deepmerge-ts@4.3.0: + /deepmerge-ts/4.3.0: resolution: {integrity: sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==} engines: {node: '>=12.4.0'} dev: true - /defaults@1.0.4: + /defaults/1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true - /define-lazy-prop@2.0.0: + /define-lazy-prop/2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: true - /delaunator@5.0.0: + /delaunator/5.0.0: resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} dependencies: robust-predicates: 3.0.1 dev: true - /dequal@2.0.3: + /dequal/2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} dev: true - /detect-libc@2.0.1: + /detect-libc/2.0.1: resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} engines: {node: '>=8'} dev: true - /devalue@4.3.0: + /devalue/4.3.0: resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} dev: true - /diff@5.1.0: + /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} dev: true - /dir-glob@3.0.1: + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true - /dlv@1.1.3: + /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true - /dom-serializer@2.0.0: + /dom-serializer/2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: domelementtype: 2.3.0 @@ -2649,22 +2594,22 @@ packages: entities: 4.4.0 dev: true - /domelementtype@2.3.0: + /domelementtype/2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true - /domhandler@5.0.3: + /domhandler/5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true - /dompurify@2.4.3: + /dompurify/2.4.3: resolution: {integrity: sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==} dev: true - /domutils@3.0.1: + /domutils/3.0.1: resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} dependencies: dom-serializer: 2.0.0 @@ -2672,67 +2617,67 @@ packages: domhandler: 5.0.3 dev: true - /dot-case@3.0.4: + /dot-case/3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.4.1 dev: true - /dset@3.1.2: + /dset/3.1.2: resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} engines: {node: '>=4'} dev: true - /eastasianwidth@0.2.0: + /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.284: + /electron-to-chromium/1.4.284: resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} dev: true - /elkjs@0.8.2: + /elkjs/0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} dev: true - /emmet@2.3.6: + /emmet/2.3.6: resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} dependencies: '@emmetio/abbreviation': 2.2.3 '@emmetio/css-abbreviation': 2.1.4 dev: true - /emoji-regex@8.0.0: + /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emoji-regex@9.2.2: + /emoji-regex/9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /end-of-stream@1.4.4: + /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true - /entities@4.4.0: + /entities/4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true - /error-ex@1.3.2: + /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-module-lexer@1.2.0: + /es-module-lexer/1.2.0: resolution: {integrity: sha512-2BMfqBDeVCcOlLaL1ZAfp+D868SczNpKArrTM3dhpd7dK/OVlogzY15qpUngt+LMTq5UC/csb9vVQAgupucSbA==} dev: true - /esbuild-android-64@0.15.13: + /esbuild-android-64/0.15.13: resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} engines: {node: '>=12'} cpu: [x64] @@ -2741,7 +2686,7 @@ packages: dev: true optional: true - /esbuild-android-arm64@0.15.13: + /esbuild-android-arm64/0.15.13: resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==} engines: {node: '>=12'} cpu: [arm64] @@ -2750,7 +2695,7 @@ packages: dev: true optional: true - /esbuild-darwin-64@0.15.13: + /esbuild-darwin-64/0.15.13: resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==} engines: {node: '>=12'} cpu: [x64] @@ -2759,7 +2704,7 @@ packages: dev: true optional: true - /esbuild-darwin-arm64@0.15.13: + /esbuild-darwin-arm64/0.15.13: resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==} engines: {node: '>=12'} cpu: [arm64] @@ -2768,7 +2713,7 @@ packages: dev: true optional: true - /esbuild-freebsd-64@0.15.13: + /esbuild-freebsd-64/0.15.13: resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==} engines: {node: '>=12'} cpu: [x64] @@ -2777,7 +2722,7 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64@0.15.13: + /esbuild-freebsd-arm64/0.15.13: resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==} engines: {node: '>=12'} cpu: [arm64] @@ -2786,7 +2731,7 @@ packages: dev: true optional: true - /esbuild-linux-32@0.15.13: + /esbuild-linux-32/0.15.13: resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==} engines: {node: '>=12'} cpu: [ia32] @@ -2795,7 +2740,7 @@ packages: dev: true optional: true - /esbuild-linux-64@0.15.13: + /esbuild-linux-64/0.15.13: resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==} engines: {node: '>=12'} cpu: [x64] @@ -2804,25 +2749,25 @@ packages: dev: true optional: true - /esbuild-linux-arm64@0.15.13: - resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==} + /esbuild-linux-arm/0.15.13: + resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm@0.15.13: - resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==} + /esbuild-linux-arm64/0.15.13: + resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le@0.15.13: + /esbuild-linux-mips64le/0.15.13: resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==} engines: {node: '>=12'} cpu: [mips64el] @@ -2831,7 +2776,7 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le@0.15.13: + /esbuild-linux-ppc64le/0.15.13: resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==} engines: {node: '>=12'} cpu: [ppc64] @@ -2840,7 +2785,7 @@ packages: dev: true optional: true - /esbuild-linux-riscv64@0.15.13: + /esbuild-linux-riscv64/0.15.13: resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==} engines: {node: '>=12'} cpu: [riscv64] @@ -2849,7 +2794,7 @@ packages: dev: true optional: true - /esbuild-linux-s390x@0.15.13: + /esbuild-linux-s390x/0.15.13: resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==} engines: {node: '>=12'} cpu: [s390x] @@ -2858,7 +2803,7 @@ packages: dev: true optional: true - /esbuild-netbsd-64@0.15.13: + /esbuild-netbsd-64/0.15.13: resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==} engines: {node: '>=12'} cpu: [x64] @@ -2867,7 +2812,7 @@ packages: dev: true optional: true - /esbuild-openbsd-64@0.15.13: + /esbuild-openbsd-64/0.15.13: resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==} engines: {node: '>=12'} cpu: [x64] @@ -2876,7 +2821,7 @@ packages: dev: true optional: true - /esbuild-sunos-64@0.15.13: + /esbuild-sunos-64/0.15.13: resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==} engines: {node: '>=12'} cpu: [x64] @@ -2885,7 +2830,7 @@ packages: dev: true optional: true - /esbuild-windows-32@0.15.13: + /esbuild-windows-32/0.15.13: resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==} engines: {node: '>=12'} cpu: [ia32] @@ -2894,7 +2839,7 @@ packages: dev: true optional: true - /esbuild-windows-64@0.15.13: + /esbuild-windows-64/0.15.13: resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==} engines: {node: '>=12'} cpu: [x64] @@ -2903,7 +2848,7 @@ packages: dev: true optional: true - /esbuild-windows-arm64@0.15.13: + /esbuild-windows-arm64/0.15.13: resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==} engines: {node: '>=12'} cpu: [arm64] @@ -2912,7 +2857,7 @@ packages: dev: true optional: true - /esbuild@0.15.13: + /esbuild/0.15.13: resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==} engines: {node: '>=12'} hasBin: true @@ -2942,64 +2887,64 @@ packages: esbuild-windows-arm64: 0.15.13 dev: true - /esbuild@0.17.18: - resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} + /esbuild/0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.18 - '@esbuild/android-arm64': 0.17.18 - '@esbuild/android-x64': 0.17.18 - '@esbuild/darwin-arm64': 0.17.18 - '@esbuild/darwin-x64': 0.17.18 - '@esbuild/freebsd-arm64': 0.17.18 - '@esbuild/freebsd-x64': 0.17.18 - '@esbuild/linux-arm': 0.17.18 - '@esbuild/linux-arm64': 0.17.18 - '@esbuild/linux-ia32': 0.17.18 - '@esbuild/linux-loong64': 0.17.18 - '@esbuild/linux-mips64el': 0.17.18 - '@esbuild/linux-ppc64': 0.17.18 - '@esbuild/linux-riscv64': 0.17.18 - '@esbuild/linux-s390x': 0.17.18 - '@esbuild/linux-x64': 0.17.18 - '@esbuild/netbsd-x64': 0.17.18 - '@esbuild/openbsd-x64': 0.17.18 - '@esbuild/sunos-x64': 0.17.18 - '@esbuild/win32-arm64': 0.17.18 - '@esbuild/win32-ia32': 0.17.18 - '@esbuild/win32-x64': 0.17.18 - dev: true - - /escalade@3.1.1: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: true - /escape-string-regexp@1.0.5: + /escape-string-regexp/1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} dev: true - /escape-string-regexp@5.0.0: + /escape-string-regexp/5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} dev: true - /esprima@4.0.1: + /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /estree-util-attach-comments@2.1.0: + /estree-util-attach-comments/2.1.0: resolution: {integrity: sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==} dependencies: '@types/estree': 1.0.0 dev: true - /estree-util-build-jsx@2.2.0: + /estree-util-build-jsx/2.2.0: resolution: {integrity: sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==} dependencies: '@types/estree-jsx': 1.0.0 @@ -3007,11 +2952,11 @@ packages: estree-walker: 3.0.1 dev: true - /estree-util-is-identifier-name@2.0.1: + /estree-util-is-identifier-name/2.0.1: resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==} dev: true - /estree-util-to-js@1.1.0: + /estree-util-to-js/1.1.0: resolution: {integrity: sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==} dependencies: '@types/estree-jsx': 1.0.0 @@ -3019,27 +2964,31 @@ packages: source-map: 0.7.4 dev: true - /estree-util-visit@1.2.0: + /estree-util-visit/1.2.0: resolution: {integrity: sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==} dependencies: '@types/estree-jsx': 1.0.0 '@types/unist': 2.0.6 dev: true - /estree-walker@2.0.2: + /estree-walker/2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true - /estree-walker@3.0.1: + /estree-walker/3.0.0: + resolution: {integrity: sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ==} + dev: true + + /estree-walker/3.0.1: resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==} dev: true - /events@3.3.0: + /events/3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: true - /execa@6.1.0: + /execa/6.1.0: resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -3054,27 +3003,27 @@ packages: strip-final-newline: 3.0.0 dev: true - /expand-template@2.0.3: + /expand-template/2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} dev: true - /extend-shallow@2.0.1: + /extend-shallow/2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 dev: true - /extend@3.0.2: + /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true - /fast-diff@1.2.0: + /fast-diff/1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true - /fast-glob@3.2.11: + /fast-glob/3.2.11: resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} dependencies: @@ -3085,7 +3034,7 @@ packages: micromatch: 4.0.4 dev: true - /fast-glob@3.2.12: + /fast-glob/3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: @@ -3096,40 +3045,40 @@ packages: micromatch: 4.0.5 dev: true - /fast-xml-parser@4.0.11: + /fast-xml-parser/4.0.11: resolution: {integrity: sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==} hasBin: true dependencies: strnum: 1.0.5 dev: true - /fastq@1.13.0: + /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 dev: true - /fault@2.0.1: + /fault/2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} dependencies: format: 0.2.2 dev: true - /files-pipe@0.0.1: + /files-pipe/0.0.1: resolution: {integrity: sha512-+U75QMGwmNi6S3cLJPCXtCWCUP3QTKCf6zwtW+7A+OS06PDbiX6MOPI3KE6XZZKLl0UYdiB3rimyFeqZDUdh1g==} dependencies: deepmerge-ts: 4.3.0 fast-glob: 3.2.12 dev: true - /fill-range@7.0.1: + /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true - /find-up@4.1.0: + /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -3137,7 +3086,7 @@ packages: path-exists: 4.0.0 dev: true - /find-up@5.0.0: + /find-up/5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: @@ -3145,27 +3094,27 @@ packages: path-exists: 4.0.0 dev: true - /find-yarn-workspace-root2@1.2.16: + /find-yarn-workspace-root2/1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true - /format@0.2.2: + /format/0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} dev: true - /fraction.js@4.2.0: + /fraction.js/4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /fs-constants@1.0.0: + /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fsevents@2.3.2: + /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -3173,49 +3122,49 @@ packages: dev: true optional: true - /function-bind@1.1.1: + /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /gensync@1.0.0-beta.2: + /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} dev: true - /get-stream@6.0.1: + /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /github-from-package@0.0.0: + /github-from-package/0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} dev: true - /github-slugger@1.5.0: + /github-slugger/1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true - /github-slugger@2.0.0: + /github-slugger/2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: true - /glob-parent@5.1.2: + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: true - /globals@11.12.0: + /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} dev: true - /globalyzer@0.1.0: + /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true - /globby@13.1.2: + /globby/13.1.2: resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -3226,15 +3175,15 @@ packages: slash: 4.0.0 dev: true - /globrex@0.1.2: + /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true - /graceful-fs@4.2.10: + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true - /gray-matter@4.0.3: + /gray-matter/4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} dependencies: @@ -3244,30 +3193,30 @@ packages: strip-bom-string: 1.0.0 dev: true - /has-flag@3.0.0: + /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} dev: true - /has-flag@4.0.0: + /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has-package-exports@1.3.0: + /has-package-exports/1.3.0: resolution: {integrity: sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==} dependencies: '@ljharb/has-package-exports-patterns': 0.0.2 dev: true - /has@1.0.3: + /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: true - /hast-to-hyperscript@10.0.1: + /hast-to-hyperscript/10.0.1: resolution: {integrity: sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw==} dependencies: '@types/unist': 2.0.6 @@ -3279,7 +3228,7 @@ packages: web-namespaces: 2.0.1 dev: true - /hast-util-from-parse5@7.1.0: + /hast-util-from-parse5/7.1.0: resolution: {integrity: sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==} dependencies: '@types/hast': 2.3.4 @@ -3292,30 +3241,30 @@ packages: web-namespaces: 2.0.1 dev: true - /hast-util-has-property@2.0.0: + /hast-util-has-property/2.0.0: resolution: {integrity: sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w==} dev: true - /hast-util-heading-rank@2.1.0: + /hast-util-heading-rank/2.1.0: resolution: {integrity: sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ==} dependencies: '@types/hast': 2.3.4 dev: true - /hast-util-is-element@2.1.2: + /hast-util-is-element/2.1.2: resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==} dependencies: '@types/hast': 2.3.4 '@types/unist': 2.0.6 dev: true - /hast-util-parse-selector@3.1.0: + /hast-util-parse-selector/3.1.0: resolution: {integrity: sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg==} dependencies: '@types/hast': 2.3.4 dev: true - /hast-util-raw@7.2.2: + /hast-util-raw/7.2.2: resolution: {integrity: sha512-0x3BhhdlBcqRIKyc095lBSDvmQNMY3Eulj2PLsT5XCyKYrxssI5yr3P4Kv/PBo1s/DMkZy2voGkMXECnFCZRLQ==} dependencies: '@types/hast': 2.3.4 @@ -3331,7 +3280,7 @@ packages: zwitch: 2.0.4 dev: true - /hast-util-to-estree@2.1.0: + /hast-util-to-estree/2.1.0: resolution: {integrity: sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==} dependencies: '@types/estree': 1.0.0 @@ -3353,7 +3302,7 @@ packages: - supports-color dev: true - /hast-util-to-html@8.0.4: + /hast-util-to-html/8.0.4: resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} dependencies: '@types/hast': 2.3.4 @@ -3369,7 +3318,7 @@ packages: zwitch: 2.0.4 dev: true - /hast-util-to-parse5@7.0.0: + /hast-util-to-parse5/7.0.0: resolution: {integrity: sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==} dependencies: '@types/hast': 2.3.4 @@ -3380,17 +3329,17 @@ packages: zwitch: 2.0.4 dev: true - /hast-util-to-string@2.0.0: + /hast-util-to-string/2.0.0: resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} dependencies: '@types/hast': 2.3.4 dev: true - /hast-util-whitespace@2.0.0: + /hast-util-whitespace/2.0.0: resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} dev: true - /hastscript@7.1.0: + /hastscript/7.1.0: resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==} dependencies: '@types/hast': 2.3.4 @@ -3400,15 +3349,15 @@ packages: space-separated-tokens: 2.0.1 dev: true - /heap@0.2.7: + /heap/0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: true - /html-escaper@3.0.3: + /html-escaper/3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} dev: true - /html-minifier-terser@7.1.0: + /html-minifier-terser/7.1.0: resolution: {integrity: sha512-BvPO2S7Ip0Q5qt+Y8j/27Vclj6uHC6av0TMoDn7/bJPhMWHI2UtR2e/zEgJn3/qYAmxumrGp9q4UHurL6mtW9Q==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true @@ -3422,36 +3371,36 @@ packages: terser: 5.16.5 dev: true - /html-void-elements@2.0.1: + /html-void-elements/2.0.1: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} dev: true - /human-signals@3.0.1: + /human-signals/3.0.1: resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} engines: {node: '>=12.20.0'} dev: true - /iconv-lite@0.6.3: + /iconv-lite/0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true - /ieee754@1.2.1: + /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore@5.2.0: + /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} dev: true - /immutable@4.0.0: + /immutable/4.0.0: resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==} dev: true - /import-fresh@3.3.0: + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: @@ -3459,153 +3408,153 @@ packages: resolve-from: 4.0.0 dev: true - /import-meta-resolve@2.1.0: + /import-meta-resolve/2.1.0: resolution: {integrity: sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==} dev: true - /inherits@2.0.4: + /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini@1.3.8: + /ini/1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /inline-style-parser@0.1.1: + /inline-style-parser/0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: true - /internmap@2.0.3: + /internmap/2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} dev: true - /is-alphabetical@2.0.1: + /is-alphabetical/2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} dev: true - /is-alphanumerical@2.0.1: + /is-alphanumerical/2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 dev: true - /is-arrayish@0.2.1: + /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-arrayish@0.3.2: + /is-arrayish/0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true - /is-binary-path@2.1.0: + /is-binary-path/2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true - /is-buffer@2.0.5: + /is-buffer/2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} dev: true - /is-core-module@2.11.0: + /is-core-module/2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 dev: true - /is-decimal@2.0.1: + /is-decimal/2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} dev: true - /is-docker@2.2.1: + /is-docker/2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true dev: true - /is-docker@3.0.0: + /is-docker/3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: true - /is-extendable@0.1.1: + /is-extendable/0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} dev: true - /is-extglob@2.1.1: + /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point@3.0.0: + /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-glob@4.0.3: + /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-hexadecimal@2.0.1: + /is-hexadecimal/2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} dev: true - /is-interactive@2.0.0: + /is-interactive/2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} dev: true - /is-number@7.0.0: + /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-plain-obj@4.1.0: + /is-plain-obj/4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} dev: true - /is-reference@3.0.0: + /is-reference/3.0.0: resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==} dependencies: '@types/estree': 1.0.0 dev: true - /is-stream@3.0.0: + /is-stream/3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-unicode-supported@1.3.0: + /is-unicode-supported/1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} dev: true - /is-wsl@2.2.0: + /is-wsl/2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 dev: true - /isexe@2.0.0: + /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /js-tokens@4.0.0: + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml@3.14.1: + /js-yaml/3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: @@ -3613,74 +3562,81 @@ packages: esprima: 4.0.1 dev: true - /jsesc@2.5.2: + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc/2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true dev: true - /json-parse-even-better-errors@2.3.1: + /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true - /json5@2.2.1: + /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} hasBin: true dev: true - /jsonc-parser@2.3.1: + /jsonc-parser/2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} dev: true - /jsonc-parser@3.2.0: + /jsonc-parser/3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /khroma@2.0.0: + /khroma/2.0.0: resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} dev: true - /kind-of@6.0.3: + /kind-of/6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true - /kleur@3.0.3: + /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} dev: true - /kleur@4.1.5: + /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} dev: true - /lang-rome-formatter-ir@0.0.2: + /lang-rome-formatter-ir/0.0.2: resolution: {integrity: sha512-Zx7uZ6SA1vmMWkM7UbDZlex8MGOCQNBkxN9sAjeGgGHx69DNuR8E4GPfHFHI2P7oFLvXMrmAMPUY2jbEH9wtOA==} dependencies: - '@codemirror/autocomplete': 6.3.0(@codemirror/language@6.3.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.0)(@lezer/common@1.0.1) + '@codemirror/autocomplete': 6.3.0_m3x3ko4kwarhrbpzn52giepxla '@codemirror/language': 6.3.0 - '@codemirror/state': 6.2.0 - '@codemirror/view': 6.11.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.12.0 '@lezer/common': 1.0.1 '@lezer/highlight': 1.1.2 '@lezer/lr': 1.2.4 dev: true - /layout-base@1.0.2: + /layout-base/1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} dev: true - /layout-base@2.0.1: + /layout-base/2.0.1: resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} dev: true - /lines-and-columns@1.2.4: + /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /load-yaml-file@0.2.0: + /load-yaml-file/0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} dependencies: @@ -3690,29 +3646,29 @@ packages: strip-bom: 3.0.0 dev: true - /locate-path@5.0.0: + /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true - /locate-path@6.0.0: + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true - /lodash-es@4.17.21: + /lodash-es/4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: true - /lodash@4.17.21: + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-symbols@5.1.0: + /log-symbols/5.1.0: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} dependencies: @@ -3720,54 +3676,54 @@ packages: is-unicode-supported: 1.3.0 dev: true - /longest-streak@3.0.1: + /longest-streak/3.0.1: resolution: {integrity: sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==} dev: true - /loose-envify@1.4.0: + /loose-envify/1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true - /lower-case@2.0.2: + /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.4.1 dev: true - /lru-cache@6.0.0: + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true - /magic-string@0.26.7: + /magic-string/0.26.7: resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 dev: true - /magic-string@0.27.0: + /magic-string/0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /markdown-extensions@1.1.1: + /markdown-extensions/1.1.1: resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} engines: {node: '>=0.10.0'} dev: true - /markdown-table@3.0.2: + /markdown-table/3.0.2: resolution: {integrity: sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==} dev: true - /mdast-util-definitions@5.1.1: + /mdast-util-definitions/5.1.1: resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} dependencies: '@types/mdast': 3.0.10 @@ -3775,7 +3731,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /mdast-util-find-and-replace@2.2.1: + /mdast-util-find-and-replace/2.2.1: resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} dependencies: escape-string-regexp: 5.0.0 @@ -3783,7 +3739,7 @@ packages: unist-util-visit-parents: 5.1.1 dev: true - /mdast-util-from-markdown@1.2.0: + /mdast-util-from-markdown/1.2.0: resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==} dependencies: '@types/mdast': 3.0.10 @@ -3802,13 +3758,13 @@ packages: - supports-color dev: true - /mdast-util-frontmatter@1.0.0: + /mdast-util-frontmatter/1.0.0: resolution: {integrity: sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==} dependencies: micromark-extension-frontmatter: 1.0.0 dev: true - /mdast-util-gfm-autolink-literal@1.0.2: + /mdast-util-gfm-autolink-literal/1.0.2: resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} dependencies: '@types/mdast': 3.0.10 @@ -3817,7 +3773,7 @@ packages: micromark-util-character: 1.1.0 dev: true - /mdast-util-gfm-footnote@1.0.1: + /mdast-util-gfm-footnote/1.0.1: resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} dependencies: '@types/mdast': 3.0.10 @@ -3825,14 +3781,14 @@ packages: micromark-util-normalize-identifier: 1.0.0 dev: true - /mdast-util-gfm-strikethrough@1.0.2: + /mdast-util-gfm-strikethrough/1.0.2: resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} dependencies: '@types/mdast': 3.0.10 mdast-util-to-markdown: 1.3.0 dev: true - /mdast-util-gfm-table@1.0.6: + /mdast-util-gfm-table/1.0.6: resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} dependencies: '@types/mdast': 3.0.10 @@ -3843,14 +3799,14 @@ packages: - supports-color dev: true - /mdast-util-gfm-task-list-item@1.0.1: + /mdast-util-gfm-task-list-item/1.0.1: resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} dependencies: '@types/mdast': 3.0.10 mdast-util-to-markdown: 1.3.0 dev: true - /mdast-util-gfm@2.0.1: + /mdast-util-gfm/2.0.1: resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} dependencies: mdast-util-from-markdown: 1.2.0 @@ -3864,7 +3820,7 @@ packages: - supports-color dev: true - /mdast-util-mdx-expression@1.3.1: + /mdast-util-mdx-expression/1.3.1: resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==} dependencies: '@types/estree-jsx': 1.0.0 @@ -3876,7 +3832,7 @@ packages: - supports-color dev: true - /mdast-util-mdx-jsx@2.1.0: + /mdast-util-mdx-jsx/2.1.0: resolution: {integrity: sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==} dependencies: '@types/estree-jsx': 1.0.0 @@ -3891,7 +3847,7 @@ packages: vfile-message: 3.1.2 dev: true - /mdast-util-mdx@2.0.0: + /mdast-util-mdx/2.0.0: resolution: {integrity: sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==} dependencies: mdast-util-mdx-expression: 1.3.1 @@ -3901,7 +3857,7 @@ packages: - supports-color dev: true - /mdast-util-mdxjs-esm@1.3.0: + /mdast-util-mdxjs-esm/1.3.0: resolution: {integrity: sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==} dependencies: '@types/estree-jsx': 1.0.0 @@ -3913,7 +3869,7 @@ packages: - supports-color dev: true - /mdast-util-to-hast@12.3.0: + /mdast-util-to-hast/12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} dependencies: '@types/hast': 2.3.4 @@ -3926,7 +3882,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /mdast-util-to-markdown@1.3.0: + /mdast-util-to-markdown/1.3.0: resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==} dependencies: '@types/mdast': 3.0.10 @@ -3938,11 +3894,11 @@ packages: zwitch: 2.0.4 dev: true - /mdast-util-to-string@3.1.0: + /mdast-util-to-string/3.1.0: resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} dev: true - /mdast-util-toc@6.1.0: + /mdast-util-toc/6.1.0: resolution: {integrity: sha512-0PuqZELXZl4ms1sF7Lqigrqik4Ll3UhbI+jdTrfw7pZ9QPawgl7LD4GQ8MkU7bT/EwiVqChNTbifa2jLLKo76A==} dependencies: '@types/extend': 3.0.1 @@ -3955,26 +3911,26 @@ packages: unist-util-visit: 3.1.0 dev: true - /mdn-data@2.0.28: + /mdn-data/2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} dev: true - /merge-stream@2.0.0: + /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge2@1.4.1: + /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: true - /mermaid@9.4.3: + /mermaid/9.4.3: resolution: {integrity: sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==} dependencies: '@braintree/sanitize-url': 6.0.2 - cytoscape: 3.24.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.24.0) - cytoscape-fcose: 2.2.0(cytoscape@3.24.0) + cytoscape: 3.25.0 + cytoscape-cose-bilkent: 4.1.0_cytoscape@3.25.0 + cytoscape-fcose: 2.2.0_cytoscape@3.25.0 d3: 7.6.1 dagre-d3-es: 7.0.9 dayjs: 1.11.7 @@ -3989,7 +3945,7 @@ packages: web-worker: 1.2.0 dev: true - /micromark-core-commonmark@1.0.6: + /micromark-core-commonmark/1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} dependencies: decode-named-character-reference: 1.0.2 @@ -4010,7 +3966,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-frontmatter@1.0.0: + /micromark-extension-frontmatter/1.0.0: resolution: {integrity: sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==} dependencies: fault: 2.0.1 @@ -4018,7 +3974,7 @@ packages: micromark-util-symbol: 1.0.1 dev: true - /micromark-extension-gfm-autolink-literal@1.0.3: + /micromark-extension-gfm-autolink-literal/1.0.3: resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} dependencies: micromark-util-character: 1.1.0 @@ -4028,7 +3984,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm-footnote@1.0.4: + /micromark-extension-gfm-footnote/1.0.4: resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} dependencies: micromark-core-commonmark: 1.0.6 @@ -4041,7 +3997,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm-strikethrough@1.0.4: + /micromark-extension-gfm-strikethrough/1.0.4: resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} dependencies: micromark-util-chunked: 1.0.0 @@ -4052,7 +4008,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm-table@1.0.5: + /micromark-extension-gfm-table/1.0.5: resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} dependencies: micromark-factory-space: 1.0.0 @@ -4062,13 +4018,13 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm-tagfilter@1.0.1: + /micromark-extension-gfm-tagfilter/1.0.1: resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} dependencies: micromark-util-types: 1.0.2 dev: true - /micromark-extension-gfm-task-list-item@1.0.3: + /micromark-extension-gfm-task-list-item/1.0.3: resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} dependencies: micromark-factory-space: 1.0.0 @@ -4078,7 +4034,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm@2.0.1: + /micromark-extension-gfm/2.0.1: resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} dependencies: micromark-extension-gfm-autolink-literal: 1.0.3 @@ -4091,7 +4047,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-extension-mdx-expression@1.0.3: + /micromark-extension-mdx-expression/1.0.3: resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==} dependencies: micromark-factory-mdx-expression: 1.0.6 @@ -4103,7 +4059,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-mdx-jsx@1.0.3: + /micromark-extension-mdx-jsx/1.0.3: resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==} dependencies: '@types/acorn': 4.0.6 @@ -4117,13 +4073,13 @@ packages: vfile-message: 3.1.2 dev: true - /micromark-extension-mdx-md@1.0.0: + /micromark-extension-mdx-md/1.0.0: resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==} dependencies: micromark-util-types: 1.0.2 dev: true - /micromark-extension-mdxjs-esm@1.0.3: + /micromark-extension-mdxjs-esm/1.0.3: resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==} dependencies: micromark-core-commonmark: 1.0.6 @@ -4136,11 +4092,11 @@ packages: vfile-message: 3.1.2 dev: true - /micromark-extension-mdxjs@1.0.0: + /micromark-extension-mdxjs/1.0.0: resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==} dependencies: - acorn: 8.8.1 - acorn-jsx: 5.3.2(acorn@8.8.1) + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 micromark-extension-mdx-expression: 1.0.3 micromark-extension-mdx-jsx: 1.0.3 micromark-extension-mdx-md: 1.0.0 @@ -4149,7 +4105,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-factory-destination@1.0.0: + /micromark-factory-destination/1.0.0: resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: micromark-util-character: 1.1.0 @@ -4157,7 +4113,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-factory-label@1.0.2: + /micromark-factory-label/1.0.2: resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} dependencies: micromark-util-character: 1.1.0 @@ -4166,7 +4122,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-factory-mdx-expression@1.0.6: + /micromark-factory-mdx-expression/1.0.6: resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==} dependencies: micromark-factory-space: 1.0.0 @@ -4179,14 +4135,14 @@ packages: vfile-message: 3.1.2 dev: true - /micromark-factory-space@1.0.0: + /micromark-factory-space/1.0.0: resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} dependencies: micromark-util-character: 1.1.0 micromark-util-types: 1.0.2 dev: true - /micromark-factory-title@1.0.2: + /micromark-factory-title/1.0.2: resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} dependencies: micromark-factory-space: 1.0.0 @@ -4196,7 +4152,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-factory-whitespace@1.0.0: + /micromark-factory-whitespace/1.0.0: resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} dependencies: micromark-factory-space: 1.0.0 @@ -4205,20 +4161,20 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-util-character@1.1.0: + /micromark-util-character/1.1.0: resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} dependencies: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 dev: true - /micromark-util-chunked@1.0.0: + /micromark-util-chunked/1.0.0: resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-classify-character@1.0.0: + /micromark-util-classify-character/1.0.0: resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} dependencies: micromark-util-character: 1.1.0 @@ -4226,20 +4182,20 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-util-combine-extensions@1.0.0: + /micromark-util-combine-extensions/1.0.0: resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} dependencies: micromark-util-chunked: 1.0.0 micromark-util-types: 1.0.2 dev: true - /micromark-util-decode-numeric-character-reference@1.0.0: + /micromark-util-decode-numeric-character-reference/1.0.0: resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-decode-string@1.0.2: + /micromark-util-decode-string/1.0.2: resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} dependencies: decode-named-character-reference: 1.0.2 @@ -4248,11 +4204,11 @@ packages: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-encode@1.0.1: + /micromark-util-encode/1.0.1: resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} dev: true - /micromark-util-events-to-acorn@1.2.0: + /micromark-util-events-to-acorn/1.2.0: resolution: {integrity: sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==} dependencies: '@types/acorn': 4.0.6 @@ -4264,23 +4220,23 @@ packages: vfile-message: 3.1.2 dev: true - /micromark-util-html-tag-name@1.1.0: + /micromark-util-html-tag-name/1.1.0: resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} dev: true - /micromark-util-normalize-identifier@1.0.0: + /micromark-util-normalize-identifier/1.0.0: resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-resolve-all@1.0.0: + /micromark-util-resolve-all/1.0.0: resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} dependencies: micromark-util-types: 1.0.2 dev: true - /micromark-util-sanitize-uri@1.1.0: + /micromark-util-sanitize-uri/1.1.0: resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} dependencies: micromark-util-character: 1.1.0 @@ -4288,7 +4244,7 @@ packages: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-subtokenize@1.0.2: + /micromark-util-subtokenize/1.0.2: resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} dependencies: micromark-util-chunked: 1.0.0 @@ -4297,15 +4253,15 @@ packages: uvu: 0.5.6 dev: true - /micromark-util-symbol@1.0.1: + /micromark-util-symbol/1.0.1: resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} dev: true - /micromark-util-types@1.0.2: + /micromark-util-types/1.0.2: resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} dev: true - /micromark@3.1.0: + /micromark/3.1.0: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 @@ -4329,7 +4285,7 @@ packages: - supports-color dev: true - /micromatch@4.0.4: + /micromatch/4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} dependencies: @@ -4337,7 +4293,7 @@ packages: picomatch: 2.3.1 dev: true - /micromatch@4.0.5: + /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: @@ -4345,135 +4301,135 @@ packages: picomatch: 2.3.1 dev: true - /mime@3.0.0: + /mime/3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true dev: true - /mimic-fn@2.1.0: + /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /mimic-fn@4.0.0: + /mimic-fn/4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} dev: true - /mimic-response@3.1.0: + /mimic-response/3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} dev: true - /minimist@1.2.6: + /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} dev: true - /mkdirp-classic@0.5.3: + /mkdirp-classic/0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true - /mri@1.2.0: + /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} dev: true - /ms@2.1.2: + /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /nanoid@3.3.6: + /nanoid/3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /napi-build-utils@1.0.2: + /napi-build-utils/1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: true - /nlcst-to-string@3.1.0: + /nlcst-to-string/3.1.0: resolution: {integrity: sha512-Y8HQWKw/zrHTCnu2zcFBN1dV6vN0NUG7s5fkEj380G8tF3R+vA2KG+tDl2QoHVQCTHGHVXwoni2RQkDSFQb1PA==} dependencies: '@types/nlcst': 1.0.0 dev: true - /no-case@3.0.4: + /no-case/3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.4.1 dev: true - /node-abi@3.28.0: + /node-abi/3.28.0: resolution: {integrity: sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==} engines: {node: '>=10'} dependencies: semver: 7.3.8 dev: true - /node-addon-api@5.0.0: + /node-addon-api/5.0.0: resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==} dev: true - /node-releases@2.0.6: + /node-releases/2.0.6: resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} dev: true - /non-layered-tidy-tree-layout@2.0.2: + /non-layered-tidy-tree-layout/2.0.2: resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} dev: true - /normalize-path@3.0.0: + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-range@0.1.2: + /normalize-range/0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} dev: true - /npm-run-path@5.1.0: + /npm-run-path/5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /nth-check@2.0.1: + /nth-check/2.0.1: resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} dependencies: boolbase: 1.0.0 dev: true - /object-assign@4.1.1: + /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true - /once@1.4.0: + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true - /onetime@5.1.2: + /onetime/5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true - /onetime@6.0.0: + /onetime/6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 dev: true - /open@8.4.0: + /open/8.4.0: resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} dependencies: @@ -4482,7 +4438,7 @@ packages: is-wsl: 2.2.0 dev: true - /ora@6.1.2: + /ora/6.1.2: resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -4497,54 +4453,61 @@ packages: wcwidth: 1.0.1 dev: true - /p-limit@2.3.0: + /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true - /p-limit@3.1.0: + /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true - /p-locate@4.1.0: + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true - /p-locate@5.0.0: + /p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true - /p-try@2.2.0: + /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: true - /param-case@3.0.4: + /param-case/3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.4.1 dev: true - /parent-module@1.0.1: + /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: true - /parse-entities@4.0.0: + /parse-entities/4.0.0: resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} dependencies: '@types/unist': 2.0.6 @@ -4557,7 +4520,7 @@ packages: is-hexadecimal: 2.0.1 dev: true - /parse-json@5.2.0: + /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -4567,7 +4530,7 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse-latin@5.0.1: + /parse-latin/5.0.1: resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} dependencies: nlcst-to-string: 3.1.0 @@ -4575,78 +4538,78 @@ packages: unist-util-visit-children: 2.0.1 dev: true - /parse5@6.0.1: + /parse5/6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true - /pascal-case@3.1.2: + /pascal-case/3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.4.1 dev: true - /path-exists@4.0.0: + /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true - /path-key@3.1.1: + /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true - /path-key@4.0.0: + /path-key/4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} dev: true - /path-parse@1.0.7: + /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp@6.2.1: + /path-to-regexp/6.2.1: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true - /path-type@4.0.0: + /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true - /periscopic@3.0.4: + /periscopic/3.0.4: resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==} dependencies: estree-walker: 3.0.1 is-reference: 3.0.0 dev: true - /picocolors@1.0.0: + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true - /picomatch@2.3.1: + /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true - /pify@4.0.1: + /pify/4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} dev: true - /pkg-dir@4.2.0: + /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true - /postcss-value-parser@4.2.0: + /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.23: + /postcss/8.4.23: resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -4655,11 +4618,11 @@ packages: source-map-js: 1.0.2 dev: true - /preact@10.11.2: + /preact/10.11.2: resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} dev: true - /prebuild-install@7.1.1: + /prebuild-install/7.1.1: resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} engines: {node: '>=10'} hasBin: true @@ -4678,7 +4641,7 @@ packages: tunnel-agent: 0.6.0 dev: true - /preferred-pm@3.0.3: + /preferred-pm/3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} dependencies: @@ -4688,28 +4651,28 @@ packages: which-pm: 2.0.0 dev: true - /prettier-plugin-astro@0.8.0: - resolution: {integrity: sha512-kt9wk33J7HvFGwFaHb8piwy4zbUmabC8Nu+qCw493jhe96YkpjscqGBPy4nJ9TPy9pd7+kEx1zM81rp+MIdrXg==} + /prettier-plugin-astro/0.8.1: + resolution: {integrity: sha512-lJ/mG/Lz/ccSwNtwqpFS126mtMVzFVyYv0ddTF9wqwrEG4seECjKDAyw/oGv915rAcJi8jr89990nqfpmG+qdg==} engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} dependencies: - '@astrojs/compiler': 1.4.0 + '@astrojs/compiler': 1.4.2 prettier: 2.8.8 sass-formatter: 0.7.5 synckit: 0.8.4 dev: true - /prettier@2.8.8: + /prettier/2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /prismjs@1.29.0: + /prismjs/1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} dev: true - /prompts@2.4.2: + /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} dependencies: @@ -4717,22 +4680,22 @@ packages: sisteransi: 1.0.5 dev: true - /property-information@6.1.1: + /property-information/6.1.1: resolution: {integrity: sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==} dev: true - /pump@3.0.0: + /pump/3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /queue-microtask@1.2.3: + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /rc@1.2.8: + /rc/1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: @@ -4742,7 +4705,7 @@ packages: strip-json-comments: 2.0.1 dev: true - /react-dom@17.0.2(react@17.0.2): + /react-dom/17.0.2_react@17.0.2: resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} peerDependencies: react: 17.0.2 @@ -4753,12 +4716,12 @@ packages: scheduler: 0.20.2 dev: true - /react-refresh@0.14.0: + /react-refresh/0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} dev: true - /react@17.0.2: + /react/17.0.2: resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} engines: {node: '>=0.10.0'} dependencies: @@ -4766,7 +4729,7 @@ packages: object-assign: 4.1.1 dev: true - /readable-stream@3.6.0: + /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: @@ -4775,18 +4738,18 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp@3.6.0: + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 dev: true - /regenerator-runtime@0.13.10: + /regenerator-runtime/0.13.10: resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==} dev: true - /rehype-autolink-headings@6.1.1: + /rehype-autolink-headings/6.1.1: resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==} dependencies: '@types/hast': 2.3.4 @@ -4798,7 +4761,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /rehype-parse@8.0.4: + /rehype-parse/8.0.4: resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} dependencies: '@types/hast': 2.3.4 @@ -4807,7 +4770,7 @@ packages: unified: 10.1.2 dev: true - /rehype-raw@6.1.1: + /rehype-raw/6.1.1: resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} dependencies: '@types/hast': 2.3.4 @@ -4815,7 +4778,7 @@ packages: unified: 10.1.2 dev: true - /rehype-slug@5.1.0: + /rehype-slug/5.1.0: resolution: {integrity: sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==} dependencies: '@types/hast': 2.3.4 @@ -4827,7 +4790,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /rehype-stringify@9.0.3: + /rehype-stringify/9.0.3: resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==} dependencies: '@types/hast': 2.3.4 @@ -4835,14 +4798,14 @@ packages: unified: 10.1.2 dev: true - /rehype-toc@3.0.2: + /rehype-toc/3.0.2: resolution: {integrity: sha512-DMt376+4i1KJGgHJL7Ezd65qKkJ7Eqp6JSB47BJ90ReBrohI9ufrornArM6f4oJjP2E2DVZZHufWucv/9t7GUQ==} engines: {node: '>=10'} dependencies: '@jsdevtools/rehype-toc': 3.0.2 dev: true - /rehype@12.0.1: + /rehype/12.0.1: resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} dependencies: '@types/hast': 2.3.4 @@ -4851,12 +4814,12 @@ packages: unified: 10.1.2 dev: true - /relateurl@0.2.7: + /relateurl/0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} dev: true - /remark-frontmatter@4.0.1: + /remark-frontmatter/4.0.1: resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} dependencies: '@types/mdast': 3.0.10 @@ -4865,7 +4828,7 @@ packages: unified: 10.1.2 dev: true - /remark-gfm@3.0.1: + /remark-gfm/3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: '@types/mdast': 3.0.10 @@ -4876,7 +4839,7 @@ packages: - supports-color dev: true - /remark-mdx@2.1.5: + /remark-mdx/2.1.5: resolution: {integrity: sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==} dependencies: mdast-util-mdx: 2.0.0 @@ -4885,7 +4848,7 @@ packages: - supports-color dev: true - /remark-parse@10.0.1: + /remark-parse/10.0.1: resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} dependencies: '@types/mdast': 3.0.10 @@ -4895,7 +4858,7 @@ packages: - supports-color dev: true - /remark-rehype@10.1.0: + /remark-rehype/10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} dependencies: '@types/hast': 2.3.4 @@ -4904,7 +4867,7 @@ packages: unified: 10.1.2 dev: true - /remark-smartypants@2.0.0: + /remark-smartypants/2.0.0: resolution: {integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -4913,7 +4876,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /remark-toc@8.0.1: + /remark-toc/8.0.1: resolution: {integrity: sha512-7he2VOm/cy13zilnOTZcyAoyoolV26ULlon6XyCFU+vG54Z/LWJnwphj/xKIDLOt66QmJUgTyUvLVHi2aAElyg==} dependencies: '@types/mdast': 3.0.10 @@ -4921,12 +4884,12 @@ packages: unified: 10.1.2 dev: true - /resolve-from@4.0.0: + /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} dev: true - /resolve@1.22.1: + /resolve/1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: @@ -4935,7 +4898,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /restore-cursor@4.0.0: + /restore-cursor/4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -4943,7 +4906,7 @@ packages: signal-exit: 3.0.7 dev: true - /retext-latin@3.1.0: + /retext-latin/3.1.0: resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} dependencies: '@types/nlcst': 1.0.0 @@ -4952,7 +4915,7 @@ packages: unified: 10.1.2 dev: true - /retext-smartypants@5.2.0: + /retext-smartypants/5.2.0: resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} dependencies: '@types/nlcst': 1.0.0 @@ -4961,7 +4924,7 @@ packages: unist-util-visit: 4.1.1 dev: true - /retext-stringify@3.1.0: + /retext-stringify/3.1.0: resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} dependencies: '@types/nlcst': 1.0.0 @@ -4969,7 +4932,7 @@ packages: unified: 10.1.2 dev: true - /retext@8.1.0: + /retext/8.1.0: resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} dependencies: '@types/nlcst': 1.0.0 @@ -4978,16 +4941,16 @@ packages: unified: 10.1.2 dev: true - /reusify@1.0.4: + /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /robust-predicates@3.0.1: + /robust-predicates/3.0.1: resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==} dev: true - /rollup@2.78.1: + /rollup/2.78.1: resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} engines: {node: '>=10.0.0'} hasBin: true @@ -4995,64 +4958,64 @@ packages: fsevents: 2.3.2 dev: true - /rollup@3.21.3: - resolution: {integrity: sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==} + /rollup/3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true - /rome@12.0.0: - resolution: {integrity: sha512-w/tLvLj5PGUCx3R+Kna08BMq4zL83Xzh9spvrqoWa3Nkzk16SkD8JSpyWWP9WhI2r3qv3Xvc7FnYZ4QDnjAiYg==} + /rome/12.1.2: + resolution: {integrity: sha512-ObyDevKRU6k3R9fAK9hDvrX9FSPEJ0JWNv5i65enknV+epWjEIL0jnDuijPUX7MSVS6M/ngTiKUaeF3w63SJXw==} engines: {node: '>=14.*'} hasBin: true requiresBuild: true optionalDependencies: - '@rometools/cli-darwin-arm64': 12.0.0 - '@rometools/cli-darwin-x64': 12.0.0 - '@rometools/cli-linux-arm64': 12.0.0 - '@rometools/cli-linux-x64': 12.0.0 - '@rometools/cli-win32-arm64': 12.0.0 - '@rometools/cli-win32-x64': 12.0.0 + '@rometools/cli-darwin-arm64': 12.1.2 + '@rometools/cli-darwin-x64': 12.1.2 + '@rometools/cli-linux-arm64': 12.1.2 + '@rometools/cli-linux-x64': 12.1.2 + '@rometools/cli-win32-arm64': 12.1.2 + '@rometools/cli-win32-x64': 12.1.2 dev: true - /run-parallel@1.2.0: + /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true - /rw@1.3.3: + /rw/1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} dev: true - /s.color@0.0.15: + /s.color/0.0.15: resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} dev: true - /sade@1.8.1: + /sade/1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} dependencies: mri: 1.2.0 dev: true - /safe-buffer@5.2.1: + /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safer-buffer@2.1.2: + /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass-formatter@0.7.5: + /sass-formatter/0.7.5: resolution: {integrity: sha512-NKFP8ddjhUYi6A/iD1cEtzkEs91U61kzqe3lY9SVNuvX7LGc88xnEN0mmsWL7Ol//YTi2GL/ol7b9XZ2+hgXuA==} dependencies: suf-log: 2.5.3 dev: true - /sass@1.62.1: + /sass/1.62.1: resolution: {integrity: sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==} engines: {node: '>=14.0.0'} hasBin: true @@ -5062,14 +5025,14 @@ packages: source-map-js: 1.0.2 dev: true - /scheduler@0.20.2: + /scheduler/0.20.2: resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true - /section-matter@1.0.0: + /section-matter/1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} dependencies: @@ -5077,12 +5040,12 @@ packages: kind-of: 6.0.3 dev: true - /semver@6.3.0: + /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true - /semver@7.3.8: + /semver/7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} hasBin: true @@ -5090,11 +5053,11 @@ packages: lru-cache: 6.0.0 dev: true - /server-destroy@1.0.1: + /server-destroy/1.0.1: resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} dev: true - /sharp@0.31.3: + /sharp/0.31.3: resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==} engines: {node: '>=14.15.0'} requiresBuild: true @@ -5109,35 +5072,36 @@ packages: tunnel-agent: 0.6.0 dev: true - /shebang-command@2.0.0: + /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true - /shebang-regex@3.0.0: + /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /shiki@0.11.1: - resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} + /shiki/0.14.2: + resolution: {integrity: sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==} dependencies: + ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 - vscode-oniguruma: 1.6.2 - vscode-textmate: 6.0.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 dev: true - /signal-exit@3.0.7: + /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /simple-concat@1.0.1: + /simple-concat/1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: true - /simple-get@4.0.1: + /simple-get/4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} dependencies: decompress-response: 6.0.0 @@ -5145,61 +5109,61 @@ packages: simple-concat: 1.0.1 dev: true - /simple-swizzle@0.2.2: + /simple-swizzle/0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 dev: true - /sisteransi@1.0.5: + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true - /slash@4.0.0: + /slash/4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} dev: true - /source-map-js@1.0.2: + /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} dev: true - /source-map-support@0.5.21: + /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true - /source-map@0.6.1: + /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /source-map@0.7.4: + /source-map/0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true - /sourcemap-codec@1.4.8: + /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true - /space-separated-tokens@2.0.1: + /space-separated-tokens/2.0.1: resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==} dev: true - /sprintf-js@1.0.3: + /sprintf-js/1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /streamsearch@1.1.0: + /streamsearch/1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} dev: true - /string-width@4.2.3: + /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} dependencies: @@ -5208,7 +5172,7 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width@5.1.2: + /string-width/5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} dependencies: @@ -5217,112 +5181,112 @@ packages: strip-ansi: 7.0.1 dev: true - /string_decoder@1.3.0: + /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true - /stringify-entities@4.0.3: + /stringify-entities/4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 dev: true - /strip-ansi@6.0.1: + /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 dev: true - /strip-ansi@7.0.1: + /strip-ansi/7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: true - /strip-bom-string@1.0.0: + /strip-bom-string/1.0.0: resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} engines: {node: '>=0.10.0'} dev: true - /strip-bom@3.0.0: + /strip-bom/3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: true - /strip-bom@4.0.0: + /strip-bom/4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} dev: true - /strip-final-newline@3.0.0: + /strip-final-newline/3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} dev: true - /strip-json-comments@2.0.1: + /strip-json-comments/2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} dev: true - /strnum@1.0.5: + /strnum/1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true - /style-mod@4.0.0: + /style-mod/4.0.0: resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} dev: true - /style-to-object@0.3.0: + /style-to-object/0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} dependencies: inline-style-parser: 0.1.1 dev: true - /stylis@4.1.3: + /stylis/4.1.3: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} dev: true - /suf-log@2.5.3: + /suf-log/2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} dependencies: s.color: 0.0.15 dev: true - /supports-color@5.5.0: + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true - /supports-color@7.2.0: + /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true - /supports-esm@1.0.0: + /supports-esm/1.0.0: resolution: {integrity: sha512-96Am8CDqUaC0I2+C/swJ0yEvM8ZnGn4unoers/LSdE4umhX7mELzqyLzx3HnZAluq5PXIsGMKqa7NkqaeHMPcg==} dependencies: has-package-exports: 1.3.0 dev: true - /supports-preserve-symlinks-flag@1.0.0: + /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true - /svg-parser@2.0.4: + /svg-parser/2.0.4: resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} dev: true - /svgo@3.0.2: + /svgo/3.0.2: resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -5335,7 +5299,7 @@ packages: picocolors: 1.0.0 dev: true - /synckit@0.8.4: + /synckit/0.8.4: resolution: {integrity: sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: @@ -5343,7 +5307,7 @@ packages: tslib: 2.4.1 dev: true - /tar-fs@2.1.1: + /tar-fs/2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} dependencies: chownr: 1.1.4 @@ -5352,7 +5316,7 @@ packages: tar-stream: 2.2.0 dev: true - /tar-stream@2.2.0: + /tar-stream/2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} dependencies: @@ -5363,7 +5327,7 @@ packages: readable-stream: 3.6.0 dev: true - /terser@5.16.5: + /terser/5.16.5: resolution: {integrity: sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==} engines: {node: '>=10'} hasBin: true @@ -5374,39 +5338,39 @@ packages: source-map-support: 0.5.21 dev: true - /tiny-glob@0.2.9: + /tiny-glob/0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: globalyzer: 0.1.0 globrex: 0.1.2 dev: true - /to-fast-properties@2.0.0: + /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} dev: true - /to-regex-range@5.0.1: + /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true - /trim-lines@3.0.1: + /trim-lines/3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: true - /trough@2.1.0: + /trough/2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /ts-dedent@2.2.0: + /ts-dedent/2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} dev: true - /tsconfig-resolver@3.0.1: + /tsconfig-resolver/3.0.1: resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} dependencies: '@types/json5': 0.0.30 @@ -5417,44 +5381,44 @@ packages: type-fest: 0.13.1 dev: true - /tslib@2.4.1: + /tslib/2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tunnel-agent@0.6.0: + /tunnel-agent/0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true - /type-fest@0.13.1: + /type-fest/0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} dev: true - /type-fest@2.19.0: + /type-fest/2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} dev: true - /typescript@5.0.4: + /typescript/5.0.4: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true dev: true - /undici@5.22.0: - resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==} + /undici/5.22.1: + resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 dev: true - /unherit@3.0.0: + /unherit/3.0.0: resolution: {integrity: sha512-UmvIQZGEc9qdLIQ8mv8/61n6PiMgfbOoASPKHpCvII5srShCQSa6jSjBjlZOR4bxt2XnT6uo6csmPKRi+zQ0Jg==} dev: true - /unified@10.1.2: + /unified/10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: '@types/unist': 2.0.6 @@ -5466,67 +5430,67 @@ packages: vfile: 5.3.5 dev: true - /unist-util-generated@2.0.0: + /unist-util-generated/2.0.0: resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==} dev: true - /unist-util-is@5.1.1: + /unist-util-is/5.1.1: resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} dev: true - /unist-util-modify-children@3.1.0: + /unist-util-modify-children/3.1.0: resolution: {integrity: sha512-L0UizdncPZ1NIwpmkwFdLo2NaK2Eb5LU/vaQ7lZGkAaOBZfsHp+8T/gVWPVmmMO1hj6gc+XeMoytut8jr7fdyA==} dependencies: '@types/unist': 2.0.6 array-iterate: 2.0.1 dev: true - /unist-util-position-from-estree@1.1.1: + /unist-util-position-from-estree/1.1.1: resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-position@4.0.3: + /unist-util-position/4.0.3: resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-remove-position@4.0.1: + /unist-util-remove-position/4.0.1: resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==} dependencies: '@types/unist': 2.0.6 unist-util-visit: 4.1.1 dev: true - /unist-util-stringify-position@3.0.2: + /unist-util-stringify-position/3.0.2: resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-visit-children@2.0.1: + /unist-util-visit-children/2.0.1: resolution: {integrity: sha512-2cEU3dhV1hMfO9ajwb8rJsDedMfsahsm6fCfR8LxDR/w7KcB5lzHQ9dBTQIXsWGNWBFH5MPmaFP3Xh0dWLqClQ==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-visit-parents@4.1.1: + /unist-util-visit-parents/4.1.1: resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} dependencies: '@types/unist': 2.0.6 unist-util-is: 5.1.1 dev: true - /unist-util-visit-parents@5.1.1: + /unist-util-visit-parents/5.1.1: resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} dependencies: '@types/unist': 2.0.6 unist-util-is: 5.1.1 dev: true - /unist-util-visit@3.1.0: + /unist-util-visit/3.1.0: resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} dependencies: '@types/unist': 2.0.6 @@ -5534,7 +5498,7 @@ packages: unist-util-visit-parents: 4.1.1 dev: true - /unist-util-visit@4.1.1: + /unist-util-visit/4.1.1: resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==} dependencies: '@types/unist': 2.0.6 @@ -5542,7 +5506,7 @@ packages: unist-util-visit-parents: 5.1.1 dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.4): + /update-browserslist-db/1.0.10_browserslist@4.21.4: resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: @@ -5553,16 +5517,16 @@ packages: picocolors: 1.0.0 dev: true - /util-deprecate@1.0.2: + /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /uuid@9.0.0: + /uuid/9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true dev: true - /uvu@0.5.6: + /uvu/0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} hasBin: true @@ -5573,21 +5537,21 @@ packages: sade: 1.8.1 dev: true - /vfile-location@4.0.1: + /vfile-location/4.0.1: resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} dependencies: '@types/unist': 2.0.6 vfile: 5.3.5 dev: true - /vfile-message@3.1.2: + /vfile-message/3.1.2: resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==} dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 3.0.2 dev: true - /vfile@5.3.5: + /vfile/5.3.5: resolution: {integrity: sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==} dependencies: '@types/unist': 2.0.6 @@ -5596,20 +5560,20 @@ packages: vfile-message: 3.1.2 dev: true - /vite-plugin-svgr@2.2.2(rollup@3.21.3)(vite@3.1.8): + /vite-plugin-svgr/2.2.2_rollup@3.23.0+vite@3.1.8: resolution: {integrity: sha512-u8Ac27uZmDHTVGawpAhvLMJMuzbGeZGhe61TGeHoRQLxVhmQfIYCefa0iLbjC0ui1zFo6XZnS8EkzPITCYp85g==} peerDependencies: vite: ^2.6.0 || 3 dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.21.3) + '@rollup/pluginutils': 5.0.2_rollup@3.23.0 '@svgr/core': 6.5.1 - vite: 3.1.8(sass@1.62.1) + vite: 3.1.8_sass@1.62.1 transitivePeerDependencies: - rollup - supports-color dev: true - /vite@3.1.8(sass@1.62.1): + /vite/3.1.8_sass@1.62.1: resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5637,8 +5601,8 @@ packages: fsevents: 2.3.2 dev: true - /vite@4.3.4(@types/node@18.16.3)(sass@1.62.1): - resolution: {integrity: sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==} + /vite/4.3.8_3cl3pib2kx7jaftbqhg3ux7t34: + resolution: {integrity: sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -5662,16 +5626,16 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.3 - esbuild: 0.17.18 + '@types/node': 18.16.14 + esbuild: 0.17.19 postcss: 8.4.23 - rollup: 3.21.3 + rollup: 3.23.0 sass: 1.62.1 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu@0.2.4(vite@4.3.4): + /vitefu/0.2.4_vite@4.3.8: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -5679,10 +5643,10 @@ packages: vite: optional: true dependencies: - vite: 4.3.4(@types/node@18.16.3)(sass@1.62.1) + vite: 4.3.8_3cl3pib2kx7jaftbqhg3ux7t34 dev: true - /vscode-css-languageservice@6.2.5: + /vscode-css-languageservice/6.2.5: resolution: {integrity: sha512-/1oyBZK3jfx6A0cA46FCUpy6OlqEsMT47LUIldCIP1YMKRYezJ9No+aNj9IM0AqhRZ92DxZ1DmU5lJ+biuiacA==} dependencies: '@vscode/l10n': 0.0.13 @@ -5691,7 +5655,7 @@ packages: vscode-uri: 3.0.7 dev: true - /vscode-html-languageservice@5.0.2: + /vscode-html-languageservice/5.0.2: resolution: {integrity: sha512-TQmeyE14Ure/w/S+RV2IItuRWmw/i1QaS+om6t70iHCpamuTTWnACQPMSltVGm/DlbdyMquUePJREjd/h3AVkQ==} dependencies: vscode-languageserver-textdocument: 1.0.7 @@ -5700,89 +5664,89 @@ packages: vscode-uri: 3.0.6 dev: true - /vscode-jsonrpc@8.0.2: + /vscode-jsonrpc/8.0.2: resolution: {integrity: sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==} engines: {node: '>=14.0.0'} dev: true - /vscode-languageserver-protocol@3.17.2: + /vscode-languageserver-protocol/3.17.2: resolution: {integrity: sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==} dependencies: vscode-jsonrpc: 8.0.2 vscode-languageserver-types: 3.17.2 dev: true - /vscode-languageserver-textdocument@1.0.7: + /vscode-languageserver-textdocument/1.0.7: resolution: {integrity: sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==} dev: true - /vscode-languageserver-textdocument@1.0.8: + /vscode-languageserver-textdocument/1.0.8: resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} dev: true - /vscode-languageserver-types@3.17.2: + /vscode-languageserver-types/3.17.2: resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} dev: true - /vscode-languageserver-types@3.17.3: + /vscode-languageserver-types/3.17.3: resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} dev: true - /vscode-languageserver@8.0.2: + /vscode-languageserver/8.0.2: resolution: {integrity: sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==} hasBin: true dependencies: vscode-languageserver-protocol: 3.17.2 dev: true - /vscode-nls@5.2.0: + /vscode-nls/5.2.0: resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} dev: true - /vscode-oniguruma@1.6.2: - resolution: {integrity: sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==} + /vscode-oniguruma/1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: true - /vscode-textmate@6.0.0: - resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} + /vscode-textmate/8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vscode-uri@2.1.2: + /vscode-uri/2.1.2: resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} dev: true - /vscode-uri@3.0.6: + /vscode-uri/3.0.6: resolution: {integrity: sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==} dev: true - /vscode-uri@3.0.7: + /vscode-uri/3.0.7: resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} dev: true - /w3c-keyname@2.2.6: + /w3c-keyname/2.2.6: resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} dev: true - /wcwidth@1.0.1: + /wcwidth/1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true - /web-namespaces@2.0.1: + /web-namespaces/2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: true - /web-worker@1.2.0: + /web-worker/1.2.0: resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} dev: true - /which-pm-runs@1.1.0: + /which-pm-runs/1.1.0: resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} engines: {node: '>=4'} dev: true - /which-pm@2.0.0: + /which-pm/2.0.0: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} engines: {node: '>=8.15'} dependencies: @@ -5790,7 +5754,7 @@ packages: path-exists: 4.0.0 dev: true - /which@2.0.2: + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -5798,14 +5762,14 @@ packages: isexe: 2.0.0 dev: true - /widest-line@4.0.1: + /widest-line/4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} dependencies: string-width: 5.1.2 dev: true - /wrap-ansi@8.0.1: + /wrap-ansi/8.0.1: resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} engines: {node: '>=12'} dependencies: @@ -5814,33 +5778,38 @@ packages: strip-ansi: 7.0.1 dev: true - /wrappy@1.0.2: + /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /yallist@4.0.0: + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@1.10.2: + /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} dev: true - /yargs-parser@21.0.1: + /yargs-parser/21.0.1: resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} engines: {node: '>=12'} dev: true - /yocto-queue@0.1.0: + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - /zod@3.21.4: + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /zod/3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: true - /zwitch@2.0.4: + /zwitch/2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true diff --git a/website/src/pages/schemas/12.1.3/schema.json.js b/website/src/pages/schemas/12.1.3/schema.json.js new file mode 100644 index 00000000000..31e031143ab --- /dev/null +++ b/website/src/pages/schemas/12.1.3/schema.json.js @@ -0,0 +1,18 @@ +// Run `ROME_VERSION= cargo codegen-website +// to generate a new schema +import { readFileSync } from "fs"; +import { join, resolve } from "path"; + +export function get() { + const schemaPath = resolve( + join("..", "npm", "rome", "configuration_schema.json"), + ); + const schema = readFileSync(schemaPath, "utf8"); + + return new Response(schema, { + status: 200, + headers: { + "content-type": "application/json", + }, + }); +} diff --git a/xtask/codegen/js.ungram b/xtask/codegen/js.ungram index 5d11a76dd76..8bcf0017ade 100644 --- a/xtask/codegen/js.ungram +++ b/xtask/codegen/js.ungram @@ -44,7 +44,7 @@ JsBogusMember = SyntaxElement* JsBogusBinding = SyntaxElement* JsBogusAssignment = SyntaxElement* JsBogusParameter = SyntaxElement* -JsBogusImportAttributeEntry = SyntaxElement* +JsBogusImportAssertionEntry = SyntaxElement* JsBogusNamedImportSpecifier = SyntaxElement* TsBogusType = SyntaxElement* @@ -1227,7 +1227,7 @@ AnyJsImportClause = // import "abcd" assert ... JsImportBareClause = source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? // import foo from "mod" // import type foo from "mod" @@ -1236,7 +1236,7 @@ JsImportDefaultClause = local_name: AnyJsBinding 'from' source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? // import * as foo from "mod"; // import type * as foo from "mod"; @@ -1247,7 +1247,7 @@ JsImportNamespaceClause = local_name: AnyJsBinding 'from' source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? // import { a, b: c } from "d" // ^^^^^^^^^^^^^^^^^^^^ @@ -1266,7 +1266,7 @@ JsImportNamedClause = named_import: AnyJsNamedImport 'from' source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? // import a, { b, c } from "d"; // ^^ @@ -1317,21 +1317,21 @@ JsShorthandNamedImportSpecifier = // import a from "mod" assert { type: "json" } // ^^^^^^^^^^^^^^^^^^^^^^^ -JsImportAttribute = - 'with' +JsImportAssertion = + assertion_kind: ('assert' | 'with') '{' - attributes: JsImportAttributeEntryList + assertions: JsImportAssertionEntryList '}' -JsImportAttributeEntryList = (AnyJsImportAttributeEntry (',' AnyJsImportAttributeEntry)* ','?) +JsImportAssertionEntryList = (AnyJsImportAssertionEntry (',' AnyJsImportAssertionEntry)* ','?) -AnyJsImportAttributeEntry = - JsImportAttributeEntry - | JsBogusImportAttributeEntry +AnyJsImportAssertionEntry = + JsImportAssertionEntry + | JsBogusImportAssertionEntry -// import a from "mod" with { type: "json" } +// import a from "mod" assert { type: "json" } // ^^^^^^^^^^^^ -JsImportAttributeEntry = +JsImportAssertionEntry = key: ('ident' | 'js_string_literal') ':' value: 'js_string_literal' @@ -1470,7 +1470,7 @@ JsExportFromClause = export_as: JsExportAsClause? 'from' source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? ';'? // export { a } from "b"; @@ -1484,7 +1484,7 @@ JsExportNamedFromClause = '}' 'from' source: JsModuleSource - attribute: JsImportAttribute? + assertion: JsImportAssertion? ';'? JsExportNamedFromSpecifierList = (JsExportNamedFromSpecifier (',' JsExportNamedFromSpecifier)* ','?) diff --git a/xtask/codegen/src/kinds_src.rs b/xtask/codegen/src/kinds_src.rs index 9129f2ea7cb..eab1d74893c 100644 --- a/xtask/codegen/src/kinds_src.rs +++ b/xtask/codegen/src/kinds_src.rs @@ -132,6 +132,7 @@ pub const JS_KINDS_SRC: KindsSrc = KindsSrc { "as", "satisfies", "asserts", + "assert", "any", "async", "await", @@ -361,9 +362,9 @@ pub const JS_KINDS_SRC: KindsSrc = KindsSrc { "JS_DEFAULT_IMPORT_SPECIFIER", "JS_NAMED_IMPORT_SPECIFIER", "JS_SHORTHAND_NAMED_IMPORT_SPECIFIER", - "JS_IMPORT_ATTRIBUTE", - "JS_IMPORT_ATTRIBUTE_ENTRY_LIST", - "JS_IMPORT_ATTRIBUTE_ENTRY", + "JS_IMPORT_ASSERTION", + "JS_IMPORT_ASSERTION_ENTRY_LIST", + "JS_IMPORT_ASSERTION_ENTRY", "JS_MODULE_SOURCE", "JS_EXPORT", "JS_EXPORT_NAMED_CLAUSE", @@ -521,7 +522,7 @@ pub const JS_KINDS_SRC: KindsSrc = KindsSrc { "JS_BOGUS_MEMBER", "JS_BOGUS_BINDING", "JS_BOGUS_PARAMETER", - "JS_BOGUS_IMPORT_ATTRIBUTE_ENTRY", + "JS_BOGUS_IMPORT_ASSERTION_ENTRY", "JS_BOGUS_NAMED_IMPORT_SPECIFIER", "JS_BOGUS_ASSIGNMENT", "TS_BOGUS_TYPE",