diff --git a/.changeset/fix-remote-asset-false-positives.md b/.changeset/fix-remote-asset-false-positives.md deleted file mode 100644 index 6e78c11a4..000000000 --- a/.changeset/fix-remote-asset-false-positives.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@shopify/theme-check-common': patch ---- - -Fix RemoteAsset false positives for hash URLs and variable-based attribute values diff --git a/.changeset/fix-rename-boundary.md b/.changeset/fix-rename-boundary.md deleted file mode 100644 index 0608664b3..000000000 --- a/.changeset/fix-rename-boundary.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@shopify/theme-language-server-common": patch ---- - -Fix rename not triggering when cursor is at the first character of a LiquidDoc param name diff --git a/.changeset/little-boxes-shave.md b/.changeset/little-boxes-shave.md deleted file mode 100644 index c80027861..000000000 --- a/.changeset/little-boxes-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@shopify/theme-check-common': patch ---- - -Allow Liquid in "liquid" input type diff --git a/.changeset/loud-hotels-teach.md b/.changeset/loud-hotels-teach.md deleted file mode 100644 index c0d46c4b7..000000000 --- a/.changeset/loud-hotels-teach.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@shopify/theme-check-common": minor -"@shopify/theme-check-node": minor ---- - -New theme check to ensure translation values inside of `schema` tag are valid diff --git a/.changeset/sweet-needles-fetch.md b/.changeset/sweet-needles-fetch.md deleted file mode 100644 index e181e3379..000000000 --- a/.changeset/sweet-needles-fetch.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@shopify/theme-language-server-common": patch -"@shopify/codemirror-language-client": patch -"@shopify/prettier-plugin-liquid": patch -"@shopify/liquid-html-parser": patch -"@shopify/theme-check-common": patch -"theme-check-vscode": patch ---- - -Upgrade prettier to v3 (internal) diff --git a/packages/codemirror-language-client/CHANGELOG.md b/packages/codemirror-language-client/CHANGELOG.md index 530f9b6e3..d50221a86 100644 --- a/packages/codemirror-language-client/CHANGELOG.md +++ b/packages/codemirror-language-client/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/codemirror-language-client +## 0.7.5 + +### Patch Changes + +- b1bca3f9: Upgrade prettier to v3 (internal) + ## 0.7.4 ### Patch Changes @@ -80,7 +86,6 @@ ### Minor Changes - 73a65e0: Add `{ shouldLint, shouldComplete }` optional params to CodeMirrorLanguageClient's .extension method - - This way linting and completions become optional features that can be turned off / experimented on - 0ca7963: Add `diagnosticRenderer` and option overrides to public API of CodeMirrorLanguageClient diff --git a/packages/codemirror-language-client/package.json b/packages/codemirror-language-client/package.json index a72e0b9b1..005c3a59e 100644 --- a/packages/codemirror-language-client/package.json +++ b/packages/codemirror-language-client/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/codemirror-language-client", - "version": "0.7.4", + "version": "0.7.5", "description": "A Language Client for CodeMirror", "author": "CP Clermont ", "homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/codemirror-language-client#readme", @@ -51,8 +51,8 @@ "@codemirror/theme-one-dark": "^6.1.2", "@codemirror/view": "^6.9.2", "@replit/codemirror-vim": "^6.2.1", - "@shopify/theme-check-docs-updater": "^3.14.0", - "@shopify/theme-language-server-browser": "^2.13.0", + "@shopify/theme-check-docs-updater": "^3.24.0", + "@shopify/theme-language-server-browser": "^2.20.2", "@shopify/lang-jsonc": "^1.0.1", "@types/markdown-it": "^13.0.4", "codemirror": "^6.0.1", diff --git a/packages/liquid-html-parser/CHANGELOG.md b/packages/liquid-html-parser/CHANGELOG.md index b241f20c4..15879d077 100644 --- a/packages/liquid-html-parser/CHANGELOG.md +++ b/packages/liquid-html-parser/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/liquid-html-parser +## 2.9.2 + +### Patch Changes + +- b1bca3f9: Upgrade prettier to v3 (internal) + ## 2.9.1 ### Patch Changes @@ -59,12 +65,10 @@ - d9dbc265: - Support parsing incomplete content_for tags in completion context - Support content_for param completion - 2db3047f: Support `render` param completion based on liquid docs - - If you defined liquid doc parameters on a snippet, they will appear as completion options for parameters when rendered by a `render` tag. - 261c2958: Support liquid doc inner tags completion + hover - - `@param`, `@description`, `@example` will support code completion whenever being typed inside of `doc` tag - `@param`, `@description`, `@example` can be hovered to show their @@ -181,17 +185,17 @@ - 636895f: Add support for unclosed HTML Element nodes inside branching code **Breaking changes** - - `HtmlDanglingMarkerOpen` nodes are folded into `HtmlElement` nodes - - You can identify a node without its closing tag by looking at `blockEndPosition` ```js - node.source.slice(node.blockEndPosition.start, node.blockEndPosition.end) === ''; + node.source.slice( + node.blockEndPosition.start, + node.blockEndPosition.end, + ) === ""; ``` **Why the change**? - - `HtmlDanglingMarkerOpen` nodes did not have children, since we added support for nodes without closing markers, we removed that node type entirely. ### Minor Changes @@ -209,7 +213,6 @@ ### Minor Changes - 0d71145: Add `nodes` property to RawMarkupKind to allow for subtree visiting - - Partially breaking in the sense where Liquid (not LiquidHTML) syntax errors will be reported from within scripts, styles, and JSON blobs ## 1.0.0 diff --git a/packages/liquid-html-parser/package.json b/packages/liquid-html-parser/package.json index cf0fe5ddf..0478eddcc 100644 --- a/packages/liquid-html-parser/package.json +++ b/packages/liquid-html-parser/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/liquid-html-parser", - "version": "2.9.1", + "version": "2.9.2", "description": "Liquid HTML parser by Shopify", "author": "CP Clermont ", "homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/liquid-html-parser#readme", diff --git a/packages/prettier-plugin-liquid/CHANGELOG.md b/packages/prettier-plugin-liquid/CHANGELOG.md index 53129f6ec..7a00c5410 100644 --- a/packages/prettier-plugin-liquid/CHANGELOG.md +++ b/packages/prettier-plugin-liquid/CHANGELOG.md @@ -1,5 +1,13 @@ # @shopify/prettier-plugin-liquid +## 1.10.2 + +### Patch Changes + +- b1bca3f9: Upgrade prettier to v3 (internal) +- Updated dependencies [b1bca3f9] + - @shopify/liquid-html-parser@2.9.2 + ## 1.10.1 ### Patch Changes @@ -55,7 +63,6 @@ ### Minor Changes - 8ff89592: Adjust LiquidDoc formatting rules for single-line and multi-line examples and descriptions - - Multi-line content starts on a new line - Single-line content is kept on the same line or a new line as it was provided @@ -200,7 +207,6 @@ ### Minor Changes - a07a064: Add `captureWhitespaceSensitivity` configuration option. - - When `strict` (default), behaves as before: treats the child nodes of `{% capture var %}` child nodes as strictly whitespace sensitive, therefore does not reformat contents. - When `ignore` (new), makes it behave like tags that are not whitespace sensitive. Warning: blindly running this will alter the string value of variables captured by the capture tag. @@ -367,7 +373,6 @@ ``` The heuristic we're going for is the following: - - Only supported inside a LiquidBranch (if,else,when) - At most 2 of the same type (2 dangling open, or 2 dangling close) diff --git a/packages/prettier-plugin-liquid/package.json b/packages/prettier-plugin-liquid/package.json index 51f5447b2..13bf0eab7 100644 --- a/packages/prettier-plugin-liquid/package.json +++ b/packages/prettier-plugin-liquid/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/prettier-plugin-liquid", - "version": "1.10.1", + "version": "1.10.2", "description": "Prettier Liquid/HTML plugin by Shopify", "author": "CP Clermont ", "homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/prettier-plugin-liquid#readme", @@ -59,7 +59,7 @@ "tsconfig-paths": "^3.14.1" }, "dependencies": { - "@shopify/liquid-html-parser": "^2.9.1", + "@shopify/liquid-html-parser": "^2.9.2", "html-styles": "^1.0.0" } } diff --git a/packages/theme-check-browser/CHANGELOG.md b/packages/theme-check-browser/CHANGELOG.md index 8b83a0660..6348eae40 100644 --- a/packages/theme-check-browser/CHANGELOG.md +++ b/packages/theme-check-browser/CHANGELOG.md @@ -1,5 +1,15 @@ # @shopify/theme-check-browser +## 3.24.0 + +### Patch Changes + +- Updated dependencies [346cc150] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-check-common@3.24.0 + ## 3.23.1 ### Patch Changes @@ -442,7 +452,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -544,7 +553,6 @@ What is is: A TypeScript rewrite of [Theme Check](https://github.com/Shopify/theme-check). But... _why_? A couple of reasons: - - To lint Liquid files, we prefer _one_ Abstract Syntax Tree (AST) per file. Not one Liquid AST _and_ one HTML AST. - Theme Check Ruby had weird duplicated checks because of that (such as `ParserBlockingJavaScript` and `ParserBlockingScriptTag`) - For that we reused the `@shopify/liquid-html-parser` we wrote for the prettier plugin. @@ -638,7 +646,6 @@ ### Minor Changes - 2cf7a11: Rename and alias a couple of checks - - `DeprecatedFilters` -> `DeprecatedFilter` - `DeprecatedTags` -> `DeprecatedTag` - Alias `LiquidHTMLSyntaxError` with `SyntaxError` and `HtmlParsingError` @@ -808,7 +815,6 @@ - 8e76424: Add support for `.theme-check.yml` config files **New features**: - - Developers can write their own checks and publish them to [npm](https://npmjs.com) Modules that follow the `@scope/theme-check-*` or `theme-check-*` naming conventions are automatically loaded. @@ -825,16 +831,13 @@ - `theme-check:theme-app-extension` for theme app extensions **Removed features**: - - `include_categories: []` - `exclude_categories: []` **Replaced features**: - - `require: []` this can be used to load unconventional (or private) `theme-check-js` checks. Ruby checks are not supported. **Breaking changes**: - - Custom checks written in Ruby won't work Theme Check in TypeScript - The `*` (star) glob in `ignore` configurations does not capture the forward slash (`/`) unless at the end of the pattern. @@ -939,9 +942,7 @@ - 71e6b44: Add support for fixes and suggestions **New**: `context.report` now accepts two new properties: - - `fix: Fixer`, accepts a callback that is given a corrector and produces transformations that are deemed **safe to apply without confirmation** on the initial document. - - JSON checks will receive a [`JSONCorrector` (API)](packages/common/src/fixes/correctors/json-corrector.ts) - LiquidHTML checks will receive a [`StringCorrector` (API)](packages/common/src/fixes/correctors/string-corrector) @@ -996,7 +997,6 @@ Under the hood, corrector calls will be converted into a list of `Fix` objects. One can implement a `FixApplicator` (a async function that takes a `SourceCode` and `Fix` objects) to apply fixes in different contexts. - - In Node.js, we'll implement a `FixApplicator` that applies the fixes to the initial file and then save the changes to disk. - In the Language Server, we'll implement `FixApplicator`s that turn the `Fix`es into `TextEdit` objects. @@ -1059,14 +1059,12 @@ - f4a2f27: Simplify public API Breaking changes: - - `Theme` is `SourceCode[]` instead of `{ files: Map> }` - `SourceCode` no longer has a `relativePath` property - `toSourceCode` no longer takes a `relativePath` as argument - `Config` has a `root` property - 37fc98a: Add dependencies to public API - - `fileExists(absolutePath: string): Promise` returns true when a file exists - `getDefaultTranslations(): Promise` returns the parsed JSON contents of the default translations file diff --git a/packages/theme-check-browser/package.json b/packages/theme-check-browser/package.json index b481a39b0..fb020a92f 100644 --- a/packages/theme-check-browser/package.json +++ b/packages/theme-check-browser/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-check-browser", - "version": "3.23.1", + "version": "3.24.0", "main": "dist/index.js", "types": "dist/index.d.ts", "license": "MIT", @@ -26,6 +26,6 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/theme-check-common": "3.23.1" + "@shopify/theme-check-common": "3.24.0" } } diff --git a/packages/theme-check-common/CHANGELOG.md b/packages/theme-check-common/CHANGELOG.md index 3b52ce2ba..e23f31fb6 100644 --- a/packages/theme-check-common/CHANGELOG.md +++ b/packages/theme-check-common/CHANGELOG.md @@ -1,5 +1,19 @@ # @shopify/theme-check-common +## 3.24.0 + +### Minor Changes + +- bc8002ba: New theme check to ensure translation values inside of `schema` tag are valid + +### Patch Changes + +- 346cc150: Fix RemoteAsset false positives for hash URLs and variable-based attribute values +- 2df8b65e: Allow Liquid in "liquid" input type +- b1bca3f9: Upgrade prettier to v3 (internal) +- Updated dependencies [b1bca3f9] + - @shopify/liquid-html-parser@2.9.2 + ## 3.23.1 ### Patch Changes @@ -92,7 +106,6 @@ - 4477a6d9: Fix small bug in path.basename - 606053f1: Fix ValidBlockTarget for blocks in `default` and `presets` - - Solves issue so nested blocks inside of `presets` are now validated - Solves issue so block types inside of `default` are now validated @@ -107,7 +120,6 @@ ### Minor Changes - c3504252: Introduce ability the disable theme checks for the next Liquid statement - - Add `{% # theme-check-disable-next-line %}` to disable theme checks on the next Liquid statement - To disable a specific theme-check rule, add the name(s) after `theme-check-disable-next-line` in a comma separated format @@ -127,7 +139,6 @@ ### Minor Changes - a1fa7376: Support LiquidDoc param array types - - LiquidDoc param types supports 1D arrays as param types - Square brackets are placed after the param type to denote arrays @@ -158,14 +169,12 @@ ### Minor Changes - 4d557619: Add `content_for` argument theme checks if static block has LiquidDoc - - DuplicateContentForArguments - Ensures arguments provided for `content_for` tag are unique - MissingContentForArguments - Ensures all required arguments, as per LiquidDoc, are provided - UnrecognizedContentForArguments - Ensures arguments provided exclusively match LiquidDoc params - ValidContentForArgumentTypes - Ensures arguments match type defined in LiquidDoc - c0f42c37: Restrict LiquidDoc param names in blocks based on `content_for` tag params - - LiquidDoc inside blocks have limitations on names because `content_for` tag uses the following param names: - id - type @@ -208,7 +217,6 @@ ### Minor Changes - e75f896d: [Feature] Support more types for LiquidDoc param - - Support [liquid objects](https://shopify.dev/docs/api/liquid/objects) as LiquidDoc param type - Object is NOT supported if it is exclusively a global liquid variable - Object is NOT supported if it is deprecated @@ -256,7 +264,6 @@ ### Patch Changes - 9ffbe27d: Remove `brand` from list of metafield owner types being fetched - - Brand is removed from ownerType - https://shopify.dev/docs/api/admin-graphql/latest/queries/metafieldDefinitions @@ -265,7 +272,6 @@ ### Minor Changes - 8a0393a1: Theme check to ensure liquid doc param names don't collide with reserved words - - Theme check will report a warning if param name collides with global liquid objects - Theme check will report a warning if param name collides with liquid tags @@ -276,7 +282,6 @@ - a851f379: Add DuplicateRenderSnippetParams theme check Introduces a new theme check to detect and report duplicate parameters in Liquid render tags. The check: - - Identifies duplicate parameter names in render snippets - Provides suggestions to remove redundant parameters @@ -291,11 +296,9 @@ ### Minor Changes - 10493c9d: New `UnusedDocParam` theme-check rule - - Theme check will verify that parameters defined within a snippet's `doc` header are used within the body - f130a78f: Introduce a new theme check which validates the types of parameters passed to snippets against the liquidDoc header. - - Reports type mismatches - Suggests autofixes (replace with default or remove value) - Skips type checking for variable lookups @@ -303,7 +306,6 @@ - Skips type checking for unknown types - 1a4482eb: New theme checks to validate liquid doc params - - `UniqueDocParamNames` will check if param names are unique within the `doc` tag - `ValidDocParamTypes` will check if the param types defined in the `doc` tag are supported @@ -338,12 +340,10 @@ ### Minor Changes - fe84a17a: Add ValidRenderSnippetParams check which validates args passed to snippets with LiquidDoc definitions - - Checks that required parameters are provided - Checks that unknown parameters are not provided - 055cef77: Theme check verifies if setting key exists within block schemas and section schemas - - Check if the keys inside `presets.[].settings` and `default.settings` exist as `settings.[].id` in the same file - Check if the keys inside `presets.[](recursive .blocks.[]).settings` and `default.blocks.[].settings` exist as `settings.[].id` inside the referenced block's file @@ -490,7 +490,6 @@ - b431db7: Add `ValidateSchemaName` check - 568d53b: Add the `ValidContentForArguments` check - 6014dfd: Support metafield auto-completion based on .shopify/metafields.json file - - The metafield definitions can be fetched from Admin API - The format of the JSON needs to be the following: @@ -513,7 +512,6 @@ ``` The definition group needs to be one of the following: - - 'article' - 'blog' - 'brand' @@ -540,7 +538,6 @@ - 4b574c1: [Breaking] Replace absolute path concerns with URIs This implies a couple of changes: - - `Config` now holds a `rootUri` instead of `root` path. - `loadConfig` injections needs to change their return value accordingly - In checks, @@ -637,7 +634,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -755,7 +751,6 @@ What is is: A TypeScript rewrite of [Theme Check](https://github.com/Shopify/theme-check). But... _why_? A couple of reasons: - - To lint Liquid files, we prefer _one_ Abstract Syntax Tree (AST) per file. Not one Liquid AST _and_ one HTML AST. - Theme Check Ruby had weird duplicated checks because of that (such as `ParserBlockingJavaScript` and `ParserBlockingScriptTag`) - For that we reused the `@shopify/liquid-html-parser` we wrote for the prettier plugin. @@ -799,7 +794,6 @@ ### Patch Changes - b05a6a8: Add support for the following Language Server configurations: - - `themeCheck.checkOnOpen` - `themeCheck.checkOnSave` - `themeCheck.checkOnChange` @@ -857,7 +851,6 @@ ### Minor Changes - 2cf7a11: Rename and alias a couple of checks - - `DeprecatedFilters` -> `DeprecatedFilter` - `DeprecatedTags` -> `DeprecatedTag` - Alias `LiquidHTMLSyntaxError` with `SyntaxError` and `HtmlParsingError` @@ -983,7 +976,6 @@ - 8e76424: Add support for `.theme-check.yml` config files **New features**: - - Developers can write their own checks and publish them to [npm](https://npmjs.com) Modules that follow the `@scope/theme-check-*` or `theme-check-*` naming conventions are automatically loaded. @@ -1000,16 +992,13 @@ - `theme-check:theme-app-extension` for theme app extensions **Removed features**: - - `include_categories: []` - `exclude_categories: []` **Replaced features**: - - `require: []` this can be used to load unconventional (or private) `theme-check-js` checks. Ruby checks are not supported. **Breaking changes**: - - Custom checks written in Ruby won't work Theme Check in TypeScript - The `*` (star) glob in `ignore` configurations does not capture the forward slash (`/`) unless at the end of the pattern. @@ -1056,8 +1045,8 @@ ```typescript const schema = { myNumberSetting: SchemaProp.number(10), - myStringSetting: SchemaProp.string('default'), - myStringArraySetting: SchemaProp.array(['default', 'value']), + myStringSetting: SchemaProp.string("default"), + myStringArraySetting: SchemaProp.array(["default", "value"]), myBooleanSetting: SchemaProp.boolean(true), myObjectSetting: SchemaProp.object({ age: SchemaProp.number(), @@ -1071,8 +1060,8 @@ // `` is required to type `context.settings`. export const SomeCheck: LiquidCheckDefinition = { meta: { - code: '...', - name: '...', + code: "...", + name: "...", docs: { /* ... */ }, @@ -1121,9 +1110,7 @@ - 71e6b44: Add support for fixes and suggestions **New**: `context.report` now accepts two new properties: - - `fix: Fixer`, accepts a callback that is given a corrector and produces transformations that are deemed **safe to apply without confirmation** on the initial document. - - JSON checks will receive a [`JSONCorrector` (API)](packages/common/src/fixes/correctors/json-corrector.ts) - LiquidHTML checks will receive a [`StringCorrector` (API)](packages/common/src/fixes/correctors/string-corrector) @@ -1178,7 +1165,6 @@ Under the hood, corrector calls will be converted into a list of `Fix` objects. One can implement a `FixApplicator` (a async function that takes a `SourceCode` and `Fix` objects) to apply fixes in different contexts. - - In Node.js, we'll implement a `FixApplicator` that applies the fixes to the initial file and then save the changes to disk. - In the Language Server, we'll implement `FixApplicator`s that turn the `Fix`es into `TextEdit` objects. @@ -1207,7 +1193,6 @@ - 5329963: Breaking: create one context per file The API for creating checks has changed: - - We no longer pass a `file` argument to every method - `file` is now accessible from the `Context` object - We now create one context per file to avoid subtle state bugs @@ -1229,14 +1214,12 @@ - f4a2f27: Simplify public API Breaking changes: - - `Theme` is `SourceCode[]` instead of `{ files: Map> }` - `SourceCode` no longer has a `relativePath` property - `toSourceCode` no longer takes a `relativePath` as argument - `Config` has a `root` property - 37fc98a: Add dependencies to public API - - `fileExists(absolutePath: string): Promise` returns true when a file exists - `getDefaultTranslations(): Promise` returns the parsed JSON contents of the default translations file diff --git a/packages/theme-check-common/package.json b/packages/theme-check-common/package.json index b9a0ab1ec..d6b50812c 100644 --- a/packages/theme-check-common/package.json +++ b/packages/theme-check-common/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-check-common", - "version": "3.23.1", + "version": "3.24.0", "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -26,7 +26,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/liquid-html-parser": "2.9.1", + "@shopify/liquid-html-parser": "2.9.2", "cross-fetch": "^4.0.0", "jsonc-parser": "^3.2.0", "line-column": "^1.0.2", diff --git a/packages/theme-check-docs-updater/CHANGELOG.md b/packages/theme-check-docs-updater/CHANGELOG.md index a039daac6..5f2bbe8b2 100644 --- a/packages/theme-check-docs-updater/CHANGELOG.md +++ b/packages/theme-check-docs-updater/CHANGELOG.md @@ -1,5 +1,15 @@ # @shopify/theme-check-docs-updater +## 3.24.0 + +### Patch Changes + +- Updated dependencies [346cc150] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-check-common@3.24.0 + ## 3.23.1 ### Patch Changes @@ -417,7 +427,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -526,7 +535,6 @@ - 84f9eda: Include docset fallbacks in the theme-check-docs-updater package For when a user’s Internet connection is down or https://raw.githubusercontent.com is not accessible. - - @shopify/theme-check-common@2.0.4 ## 2.0.3 diff --git a/packages/theme-check-docs-updater/package.json b/packages/theme-check-docs-updater/package.json index 36858fe0d..c4addb494 100644 --- a/packages/theme-check-docs-updater/package.json +++ b/packages/theme-check-docs-updater/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-check-docs-updater", - "version": "3.23.1", + "version": "3.24.0", "description": "Scripts to initialize theme-check data with assets from the theme-liquid-docs repo.", "main": "dist/index.js", "author": "Albert Chu ", @@ -30,7 +30,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/theme-check-common": "^3.23.1", + "@shopify/theme-check-common": "^3.24.0", "env-paths": "^2.2.1", "node-fetch": "^2.6.11" }, diff --git a/packages/theme-check-node/CHANGELOG.md b/packages/theme-check-node/CHANGELOG.md index f303685cd..b7bbfcf06 100644 --- a/packages/theme-check-node/CHANGELOG.md +++ b/packages/theme-check-node/CHANGELOG.md @@ -1,5 +1,20 @@ # @shopify/theme-check-node +## 3.24.0 + +### Minor Changes + +- bc8002ba: New theme check to ensure translation values inside of `schema` tag are valid + +### Patch Changes + +- Updated dependencies [346cc150] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-check-common@3.24.0 + - @shopify/theme-check-docs-updater@3.24.0 + ## 3.23.1 ### Patch Changes @@ -159,14 +174,12 @@ ### Minor Changes - 4d557619: Add `content_for` argument theme checks if static block has LiquidDoc - - DuplicateContentForArguments - Ensures arguments provided for `content_for` tag are unique - MissingContentForArguments - Ensures all required arguments, as per LiquidDoc, are provided - UnrecognizedContentForArguments - Ensures arguments provided exclusively match LiquidDoc params - ValidContentForArgumentTypes - Ensures arguments match type defined in LiquidDoc - c0f42c37: Restrict LiquidDoc param names in blocks based on `content_for` tag params - - LiquidDoc inside blocks have limitations on names because `content_for` tag uses the following param names: - id - type @@ -265,7 +278,6 @@ ### Minor Changes - 8a0393a1: Theme check to ensure liquid doc param names don't collide with reserved words - - Theme check will report a warning if param name collides with global liquid objects - Theme check will report a warning if param name collides with liquid tags @@ -273,7 +285,6 @@ - a851f379: Add DuplicateRenderSnippetParams theme check Introduces a new theme check to detect and report duplicate parameters in Liquid render tags. The check: - - Identifies duplicate parameter names in render snippets - Provides suggestions to remove redundant parameters @@ -294,11 +305,9 @@ ### Minor Changes - 10493c9d: New `UnusedDocParam` theme-check rule - - Theme check will verify that parameters defined within a snippet's `doc` header are used within the body - f130a78f: Introduce a new theme check which validates the types of parameters passed to snippets against the liquidDoc header. - - Reports type mismatches - Suggests autofixes (replace with default or remove value) - Skips type checking for variable lookups @@ -306,7 +315,6 @@ - Skips type checking for unknown types - 1a4482eb: New theme checks to validate liquid doc params - - `UniqueDocParamNames` will check if param names are unique within the `doc` tag - `ValidDocParamTypes` will check if the param types defined in the `doc` tag are supported @@ -339,12 +347,10 @@ ### Minor Changes - fe84a17a: Add ValidRenderSnippetParams check which validates args passed to snippets with LiquidDoc definitions - - Checks that required parameters are provided - Checks that unknown parameters are not provided - 055cef77: Theme check verifies if setting key exists within block schemas and section schemas - - Check if the keys inside `presets.[].settings` and `default.settings` exist as `settings.[].id` in the same file - Check if the keys inside `presets.[](recursive .blocks.[]).settings` and `default.blocks.[].settings` exist as `settings.[].id` inside the referenced block's file @@ -621,7 +627,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -691,7 +696,6 @@ - d66d49c: Improve root finding of theme app extensions and zipped themes Folders for which all the following is true are considered a root: - - have a `snippets/` folder, and - don't have a `../.theme-check.yml`, - don't have a `../../.theme-check.yml`. @@ -783,7 +787,6 @@ What is is: A TypeScript rewrite of [Theme Check](https://github.com/Shopify/theme-check). But... _why_? A couple of reasons: - - To lint Liquid files, we prefer _one_ Abstract Syntax Tree (AST) per file. Not one Liquid AST _and_ one HTML AST. - Theme Check Ruby had weird duplicated checks because of that (such as `ParserBlockingJavaScript` and `ParserBlockingScriptTag`) - For that we reused the `@shopify/liquid-html-parser` we wrote for the prettier plugin. @@ -896,7 +899,6 @@ ### Minor Changes - 2cf7a11: Rename and alias a couple of checks - - `DeprecatedFilters` -> `DeprecatedFilter` - `DeprecatedTags` -> `DeprecatedTag` - Alias `LiquidHTMLSyntaxError` with `SyntaxError` and `HtmlParsingError` @@ -1080,7 +1082,6 @@ - 8e76424: Add support for `.theme-check.yml` config files **New features**: - - Developers can write their own checks and publish them to [npm](https://npmjs.com) Modules that follow the `@scope/theme-check-*` or `theme-check-*` naming conventions are automatically loaded. @@ -1097,16 +1098,13 @@ - `theme-check:theme-app-extension` for theme app extensions **Removed features**: - - `include_categories: []` - `exclude_categories: []` **Replaced features**: - - `require: []` this can be used to load unconventional (or private) `theme-check-js` checks. Ruby checks are not supported. **Breaking changes**: - - Custom checks written in Ruby won't work Theme Check in TypeScript - The `*` (star) glob in `ignore` configurations does not capture the forward slash (`/`) unless at the end of the pattern. @@ -1211,9 +1209,7 @@ - 71e6b44: Add support for fixes and suggestions **New**: `context.report` now accepts two new properties: - - `fix: Fixer`, accepts a callback that is given a corrector and produces transformations that are deemed **safe to apply without confirmation** on the initial document. - - JSON checks will receive a [`JSONCorrector` (API)](packages/common/src/fixes/correctors/json-corrector.ts) - LiquidHTML checks will receive a [`StringCorrector` (API)](packages/common/src/fixes/correctors/string-corrector) @@ -1268,7 +1264,6 @@ Under the hood, corrector calls will be converted into a list of `Fix` objects. One can implement a `FixApplicator` (a async function that takes a `SourceCode` and `Fix` objects) to apply fixes in different contexts. - - In Node.js, we'll implement a `FixApplicator` that applies the fixes to the initial file and then save the changes to disk. - In the Language Server, we'll implement `FixApplicator`s that turn the `Fix`es into `TextEdit` objects. @@ -1332,14 +1327,12 @@ - f4a2f27: Simplify public API Breaking changes: - - `Theme` is `SourceCode[]` instead of `{ files: Map> }` - `SourceCode` no longer has a `relativePath` property - `toSourceCode` no longer takes a `relativePath` as argument - `Config` has a `root` property - 37fc98a: Add dependencies to public API - - `fileExists(absolutePath: string): Promise` returns true when a file exists - `getDefaultTranslations(): Promise` returns the parsed JSON contents of the default translations file diff --git a/packages/theme-check-node/package.json b/packages/theme-check-node/package.json index 6db250750..6ffcfda48 100644 --- a/packages/theme-check-node/package.json +++ b/packages/theme-check-node/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-check-node", - "version": "3.23.1", + "version": "3.24.0", "main": "dist/index.js", "types": "dist/index.d.ts", "author": "CP Clermont ", @@ -33,8 +33,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/theme-check-common": "3.23.1", - "@shopify/theme-check-docs-updater": "3.23.1", + "@shopify/theme-check-common": "3.24.0", + "@shopify/theme-check-docs-updater": "3.24.0", "glob": "^8.0.3", "vscode-uri": "^3.0.7", "yaml": "^2.3.0" diff --git a/packages/theme-graph/CHANGELOG.md b/packages/theme-graph/CHANGELOG.md index 439fdacef..8d470d673 100644 --- a/packages/theme-graph/CHANGELOG.md +++ b/packages/theme-graph/CHANGELOG.md @@ -1,5 +1,21 @@ # shopify/theme-graph +## 0.2.3 + +### Patch Changes + +- Patch bump because it depends on: + - @shopify/liquid-html-parser + - @shopify/theme-check-common + - @shopify/theme-check-node +- Updated dependencies [346cc150] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-check-common@3.24.0 + - @shopify/theme-check-node@3.24.0 + - @shopify/liquid-html-parser@2.9.2 + ## 0.2.2 ### Patch Changes diff --git a/packages/theme-graph/package.json b/packages/theme-graph/package.json index 134f5420c..84cd2f1a3 100644 --- a/packages/theme-graph/package.json +++ b/packages/theme-graph/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-graph", - "version": "0.2.2", + "version": "0.2.3", "description": "Shopify Theme Graph as a data structure", "author": "CP Clermont ", "homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/theme-graph#readme", @@ -29,9 +29,9 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/liquid-html-parser": "^2.9.1", - "@shopify/theme-check-common": "^3.23.1", - "@shopify/theme-check-node": "^3.23.1", + "@shopify/liquid-html-parser": "^2.9.2", + "@shopify/theme-check-common": "^3.24.0", + "@shopify/theme-check-node": "^3.24.0", "acorn": "^8.14.1", "acorn-walk": "^8.3.4", "vscode-uri": "^3.0.7" diff --git a/packages/theme-language-server-browser/CHANGELOG.md b/packages/theme-language-server-browser/CHANGELOG.md index ad7d986b1..6ef663db9 100644 --- a/packages/theme-language-server-browser/CHANGELOG.md +++ b/packages/theme-language-server-browser/CHANGELOG.md @@ -1,5 +1,13 @@ # @shopify/theme-language-server-browser +## 2.20.2 + +### Patch Changes + +- Updated dependencies [bf2d6b02] +- Updated dependencies [b1bca3f9] + - @shopify/theme-language-server-common@2.20.2 + ## 2.20.1 ### Patch Changes @@ -372,18 +380,18 @@ getConnection, startServer, AbstractFileSystem, - } from '@shopify/theme-language-server-browser'; + } from "@shopify/theme-language-server-browser"; class MainThreadFileSystem implements AbstractFileSystem { constructor(private connection) {} readFile(uri) { - return this.connection.sendRequest('fs/readFile', uri); + return this.connection.sendRequest("fs/readFile", uri); } readDirectory(uri) { - return this.connection.sendRequest('fs/readDirectory', uri); + return this.connection.sendRequest("fs/readDirectory", uri); } readFile(uri) { - return this.connection.sendRequest('fs/stat', uri); + return this.connection.sendRequest("fs/stat", uri); } } @@ -488,7 +496,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -588,7 +595,6 @@ - 042f1e0: Add section schema and translation file JSON completion and hover support JSON object authoring and editing should be better in the following contexts: - - `sections/*.liquid` `{% schema %}` bodies - `locales/*.json` files @@ -876,7 +882,6 @@ ### Minor Changes - 0c50ec1: Bump theme-check to v1.6.0 - - e0c131a: Breaking: `SourceCode` can take `ast: AST[T] | Error`, where `Error` is a parsing error - 9e99728: Add `UnusedAssign` - f99c896: Add `LiquidHTMLSyntaxError` @@ -932,7 +937,6 @@ ### Minor Changes - Bump @shopify/theme-check-common to v1.4.0 - - Adds new check: `TranslationKeyExists` ### Patch Changes diff --git a/packages/theme-language-server-browser/package.json b/packages/theme-language-server-browser/package.json index 286f06b53..a78a54898 100644 --- a/packages/theme-language-server-browser/package.json +++ b/packages/theme-language-server-browser/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-language-server-browser", - "version": "2.20.1", + "version": "2.20.2", "main": "dist/index.js", "types": "dist/index.d.ts", "author": "CP Clermont ", @@ -27,7 +27,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/theme-language-server-common": "2.20.1", + "@shopify/theme-language-server-common": "2.20.2", "vscode-languageserver": "^8.0.2" } } diff --git a/packages/theme-language-server-common/CHANGELOG.md b/packages/theme-language-server-common/CHANGELOG.md index 1fb96570b..c41a9e1c0 100644 --- a/packages/theme-language-server-common/CHANGELOG.md +++ b/packages/theme-language-server-common/CHANGELOG.md @@ -1,5 +1,20 @@ # @shopify/theme-language-server-common +## 2.20.2 + +### Patch Changes + +- bf2d6b02: Fix rename not triggering when cursor is at the first character of a LiquidDoc param name +- b1bca3f9: Upgrade prettier to v3 (internal) +- Updated dependencies +- Updated dependencies [346cc150] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-graph@0.2.3 + - @shopify/theme-check-common@3.24.0 + - @shopify/liquid-html-parser@2.9.2 + ## 2.20.1 ### Patch Changes @@ -140,7 +155,6 @@ ### Patch Changes - c183dfd3: Add completion + hover support for presets/default section block settings - - Preset + Default block settings will pick up Section block for completion + hover support - If the setting label is a translation, it will be translated during hover @@ -205,7 +219,6 @@ ### Minor Changes - a1fa7376: Support LiquidDoc param array types - - LiquidDoc param types supports 1D arrays as param types - Square brackets are placed after the param type to denote arrays @@ -219,7 +232,6 @@ ``` - 19f5589b: Add `content_for` argument hover support - - Hovering over `type` argument inside `{% content_for 'block' %}` tag shows LiquidDoc inside that block - Hovering over arguments inside `{% content_for 'block' %}` shows their respective LiquidDoc parameter description @@ -283,7 +295,6 @@ ### Minor Changes - e75f896d: [Feature] Support more types for LiquidDoc param - - Support [liquid objects](https://shopify.dev/docs/api/liquid/objects) as LiquidDoc param type - Object is NOT supported if it is exclusively a global liquid variable - Object is NOT supported if it is deprecated @@ -346,7 +357,6 @@ ### Patch Changes - 9ffbe27d: Remove `brand` from list of metafield owner types being fetched - - Brand is removed from ownerType - https://shopify.dev/docs/api/admin-graphql/latest/queries/metafieldDefinitions @@ -359,7 +369,6 @@ - 1dc03172: Display completion suggestions while typing for liquiddoc annotations - d9fc9d03: Support LiquidDoc param code completion within snippet - - When a param is defined in LiquidDoc, it will appear as code completion suggestion when performing a variable lookup in the file @@ -369,7 +378,6 @@ ### Patch Changes - 110bb005: Renaming variables inside snippets also renames the LiquidDoc parameters - - You can rename doc params or variable usage in the file - 3a68fe5f: Update hover behaviour for the {% render %} tag to render new lines for multi-line descriptions @@ -412,7 +420,6 @@ ### Minor Changes - f077a9ec: Adding liquid doc param type completion - - render param completion supports default values based on param type ### Patch Changes @@ -439,12 +446,10 @@ - Support content_for param completion - e9c1d98a: Move `getSnippetDefinition` to theme-check-common - 2db3047f: Support `render` param completion based on liquid docs - - If you defined liquid doc parameters on a snippet, they will appear as completion options for parameters when rendered by a `render` tag. - 261c2958: Support liquid doc inner tags completion + hover - - `@param`, `@description`, `@example` will support code completion whenever being typed inside of `doc` tag - `@param`, `@description`, `@example` can be hovered to show their @@ -471,7 +476,6 @@ ### Minor Changes - 2ef93d17: Support completion + hover for presets blocks settings under `{% schema %}` tag - - Hover + Completion description for `presets.[].blocks.[].settings` and `default.blocks.[].settings` will be from the referenced block's setting's label - i.e. `settings.[].label` - The label will be translated if it contains a translation key @@ -503,7 +507,6 @@ - c85a6131: Cache liquidDoc fetch results - 931dc9b9: Add hover support for Liquid snippets using {% doc %} annotations - 9765bece: Support `default.settings` completion + hover - - Fix bug where `presets.[].settings` hover only worked on first setting - Fix bug where preset block completion creates an error when `blocks` isn't defined @@ -523,7 +526,6 @@ ### Minor Changes - ccc0c952: Support `content_for` block type completion + document link - - The following code will offer completion suggestions based on public blocks within the blocks folder. @@ -552,7 +554,6 @@ - c74850c8: Add "On section rename" handling When `sections/*.liquid` files are renamed, we will update all references to these files in their previous locations. This includes: - - `templates/*.json` files that referenced the old file name - `sections/*.json` files that referenced the old file name - Static section calls formatted as `{% section 'old-name' %}` @@ -560,7 +561,6 @@ - b31e0f85: Add "On theme block rename" handling Whenever a theme block gets renamed, the following will now happen: - 1. References in files with a `{% schema %}` will be updated automatically 2. References in template files will be updated automatically 3. References in section groups will be updated automatically @@ -689,7 +689,6 @@ - 8f3bc18: Add "block" or "blocks" completion for the `content_for` Liquid tag (Thanks @Smintfy) - 568d53b: Add support for the `content_for` Liquid tag - 6014dfd: Support metafield auto-completion based on .shopify/metafields.json file - - The metafield definitions can be fetched from Admin API - The format of the JSON needs to be the following: @@ -712,7 +711,6 @@ ``` The definition group needs to be one of the following: - - 'article' - 'blog' - 'brand' @@ -744,7 +742,6 @@ - 4b574c1: [Breaking] Replace absolute path concerns with URIs This implies a couple of changes: - - `Config` now holds a `rootUri` instead of `root` path. - `loadConfig` injections needs to change their return value accordingly - In checks, @@ -782,14 +779,12 @@ - 5fab0e9: Add on snippet rename automatic refactor support When `snippets/*.liquid` files are renamed, we'll change all the old references to point to the new files: - - `{% render 'oldName' %}` -> `{% render 'newName' %}` - `{% include 'oldName' %}` -> `{% include 'newName' %}` - 5fab0e9: Add on asset rename automatic refactor support When `assets/*` files are renamed, we'll change all the old references to point to the new files: - - `{{ 'oldName.js' | asset_url }}` -> `{{ 'newName.js' | asset_url }}` - `{% echo 'oldName.js' | asset_url %}` -> `{% echo 'newName.js' | asset_url %}` @@ -807,7 +802,6 @@ ### Minor Changes - a0ba46d: Add Liquid tag snippet completion - - Accept the completion item for `if` and get `{% if ${1:condition} %}\n $0\n{% endif %}` with tabulated placeholders - `${1:condition}` is the first placeholder, press tab to reach the next one - `$0` is the last one @@ -818,12 +812,10 @@ - Will not snippet complete if markup is already present in the tag definition - e36ed42: Improve HTML attribute auto-completion - - Add `=""` to attributes that should have a value when relevant - Override entire attribute even if the cursor was in the middle of it - 9bff5bd: Support renaming liquid variable names - - only renames liquid variables enclosed within liquid tags ## 1.13.1 @@ -978,7 +970,6 @@ - 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs Shopify/theme-liquid-docs now supports composable JSON schemas (with relative paths). To solve the `blocks/*.liquid` file match JSON schema overload depending on the context (`app` or `theme`), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules: - - [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) - [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json) @@ -1112,7 +1103,6 @@ - 042f1e0: Add section schema and translation file JSON completion and hover support JSON object authoring and editing should be better in the following contexts: - - `sections/*.liquid` `{% schema %}` bodies - `locales/*.json` files @@ -1192,7 +1182,6 @@ - 772a1ce: Update `translation-key-exists` check and intelligent code completion to always stay up-to-date with Shopify translation keys - b05a6a8: Add support for the following Language Server configurations: - - `themeCheck.checkOnOpen` - `themeCheck.checkOnSave` - `themeCheck.checkOnChange` @@ -1210,7 +1199,6 @@ ### Minor Changes - a120393: Add better auto-closing UX for Liquid pairs - - Type `{{` get `{{ | }}` (cursor at `|`) - Type `{{-` get `{{- | -}}` - Type `{%` get `{% | %}` @@ -1472,7 +1460,6 @@ ### Minor Changes - 0c50ec1: Bump theme-check to v1.6.0 - - e0c131a: Breaking: `SourceCode` can take `ast: AST[T] | Error`, where `Error` is a parsing error - 9e99728: Add `UnusedAssign` - f99c896: Add `LiquidHTMLSyntaxError` @@ -1513,7 +1500,6 @@ - 6f5c92c: Start listening for workspace/did{Create,Rename,Delete}Files notifications - Bump @shopify/theme-check-common to v1.4.0 - - Adds new check: `TranslationKeyExists` ## 1.2.2 @@ -1533,7 +1519,6 @@ ### Minor Changes - 19efbcf: Bump theme-check to v1.2.0 - - Adds MatchingTranslations check - Adds `{% # theme-check-disable %}` diff --git a/packages/theme-language-server-common/package.json b/packages/theme-language-server-common/package.json index 77459f14e..200b85f87 100644 --- a/packages/theme-language-server-common/package.json +++ b/packages/theme-language-server-common/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-language-server-common", - "version": "2.20.1", + "version": "2.20.2", "main": "dist/index.js", "types": "dist/index.d.ts", "author": "CP Clermont ", @@ -27,9 +27,9 @@ "type-check": "tsc --noEmit -p src/tsconfig.json" }, "dependencies": { - "@shopify/liquid-html-parser": "^2.9.1", - "@shopify/theme-check-common": "3.23.1", - "@shopify/theme-graph": "^0.2.2", + "@shopify/liquid-html-parser": "^2.9.2", + "@shopify/theme-check-common": "3.24.0", + "@shopify/theme-graph": "^0.2.3", "@vscode/web-custom-data": "^0.4.6", "vscode-json-languageservice": "^5.3.10", "vscode-languageserver": "^8.0.2", diff --git a/packages/theme-language-server-node/CHANGELOG.md b/packages/theme-language-server-node/CHANGELOG.md index e79add68a..7806e5a09 100644 --- a/packages/theme-language-server-node/CHANGELOG.md +++ b/packages/theme-language-server-node/CHANGELOG.md @@ -1,5 +1,16 @@ # @shopify/theme-language-server-node +## 2.20.2 + +### Patch Changes + +- Updated dependencies [bf2d6b02] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-language-server-common@2.20.2 + - @shopify/theme-check-node@3.24.0 + - @shopify/theme-check-docs-updater@3.24.0 + ## 2.20.1 ### Patch Changes @@ -302,7 +313,6 @@ ### Minor Changes - 2ef93d17: Support completion + hover for presets blocks settings under `{% schema %}` tag - - Hover + Completion description for `presets.[].blocks.[].settings` and `default.blocks.[].settings` will be from the referenced block's setting's label - i.e. `settings.[].label` - The label will be translated if it contains a translation key @@ -500,18 +510,18 @@ getConnection, startServer, AbstractFileSystem, - } from '@shopify/theme-language-server-browser'; + } from "@shopify/theme-language-server-browser"; class MainThreadFileSystem implements AbstractFileSystem { constructor(private connection) {} readFile(uri) { - return this.connection.sendRequest('fs/readFile', uri); + return this.connection.sendRequest("fs/readFile", uri); } readDirectory(uri) { - return this.connection.sendRequest('fs/readDirectory', uri); + return this.connection.sendRequest("fs/readDirectory", uri); } readFile(uri) { - return this.connection.sendRequest('fs/stat', uri); + return this.connection.sendRequest("fs/stat", uri); } } @@ -722,7 +732,6 @@ - d66d49c: Improve root finding of theme app extensions and zipped themes Folders for which all the following is true are considered a root: - - have a `snippets/` folder, and - don't have a `../.theme-check.yml`, - don't have a `../../.theme-check.yml`. @@ -750,7 +759,6 @@ - 042f1e0: Add section schema and translation file JSON completion and hover support JSON object authoring and editing should be better in the following contexts: - - `sections/*.liquid` `{% schema %}` bodies - `locales/*.json` files @@ -1120,7 +1128,6 @@ ### Minor Changes - 0c50ec1: Bump theme-check to v1.6.0 - - e0c131a: Breaking: `SourceCode` can take `ast: AST[T] | Error`, where `Error` is a parsing error - 9e99728: Add `UnusedAssign` - f99c896: Add `LiquidHTMLSyntaxError` @@ -1176,7 +1183,6 @@ ### Minor Changes - Bump @shopify/theme-check-common to v1.4.0 - - Adds new check: `TranslationKeyExists` ### Patch Changes diff --git a/packages/theme-language-server-node/package.json b/packages/theme-language-server-node/package.json index 0cc4cc782..89731db90 100644 --- a/packages/theme-language-server-node/package.json +++ b/packages/theme-language-server-node/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme-language-server-node", - "version": "2.20.1", + "version": "2.20.2", "main": "dist/index.js", "types": "dist/index.d.ts", "author": "CP Clermont ", @@ -27,9 +27,9 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@shopify/theme-check-docs-updater": "^3.23.1", - "@shopify/theme-check-node": "^3.23.1", - "@shopify/theme-language-server-common": "2.20.1", + "@shopify/theme-check-docs-updater": "^3.24.0", + "@shopify/theme-check-node": "^3.24.0", + "@shopify/theme-language-server-common": "2.20.2", "glob": "^8.0.3", "node-fetch": "^2.6.11", "vscode-languageserver": "^8.0.2", diff --git a/packages/vscode-extension/CHANGELOG.md b/packages/vscode-extension/CHANGELOG.md index 30887c5f2..647fa1109 100644 --- a/packages/vscode-extension/CHANGELOG.md +++ b/packages/vscode-extension/CHANGELOG.md @@ -1,5 +1,22 @@ ## theme-check-vscode +## 3.11.1 + +### Patch Changes + +- b1bca3f9: Upgrade prettier to v3 (internal) +- Updated dependencies [346cc150] +- Updated dependencies [bf2d6b02] +- Updated dependencies [2df8b65e] +- Updated dependencies [bc8002ba] +- Updated dependencies [b1bca3f9] + - @shopify/theme-check-common@3.24.0 + - @shopify/theme-language-server-common@2.20.2 + - @shopify/prettier-plugin-liquid@1.10.2 + - @shopify/liquid-html-parser@2.9.2 + - @shopify/theme-language-server-browser@2.20.2 + - @shopify/theme-language-server-node@2.20.2 + ## 3.11.0 ### Minor Changes @@ -574,7 +591,6 @@ - c74850c8: Add "On section rename" handling When `sections/*.liquid` files are renamed, we will update all references to these files in their previous locations. This includes: - - `templates/*.json` files that referenced the old file name - `sections/*.json` files that referenced the old file name - Static section calls formatted as `{% section 'old-name' %}` @@ -582,7 +598,6 @@ - b31e0f85: Add "On theme block rename" handling Whenever a theme block gets renamed, the following will now happen: - 1. References in files with a `{% schema %}` will be updated automatically 2. References in template files will be updated automatically 3. References in section groups will be updated automatically @@ -760,7 +775,6 @@ - 4b574c1: Add support for virtual file systems The Shopify Liquid VS Code extension now works in a large set of new environments: - - Remote files - Git backed files - VS Code for the Web @@ -772,14 +786,12 @@ - 5fab0e9: Add on snippet rename automatic refactor support When `snippets/*.liquid` files are renamed, we'll change all the old references to point to the new files: - - `{% render 'oldName' %}` -> `{% render 'newName' %}` - `{% include 'oldName' %}` -> `{% include 'newName' %}` - 5fab0e9: Add on asset rename automatic refactor support When `assets/*` files are renamed, we'll change all the old references to point to the new files: - - `{{ 'oldName.js' | asset_url }}` -> `{{ 'newName.js' | asset_url }}` - `{% echo 'oldName.js' | asset_url %}` -> `{% echo 'newName.js' | asset_url %}` @@ -801,7 +813,6 @@ ### Minor Changes - a0ba46d: Add Liquid tag snippet completion - - Accept the completion item for `if` and get `{% if ${1:condition} %}\n $0\n{% endif %}` with tabulated placeholders - `${1:condition}` is the first placeholder, press tab to reach the next one - `$0` is the last one @@ -1040,7 +1051,6 @@ - d66d49c: Improve root finding of theme app extensions and zipped themes Folders for which all the following is true are considered a root: - - have a `snippets/` folder, and - don't have a `../.theme-check.yml`, - don't have a `../../.theme-check.yml`. @@ -1058,7 +1068,6 @@ - 042f1e0: Add section schema and translation file JSON completion and hover support JSON object authoring and editing should be better in the following contexts: - - `sections/*.liquid` `{% schema %}` bodies - `locales/*.json` files @@ -1083,7 +1092,6 @@ - 84f9eda: Include docset fallbacks in the theme-check-docs-updater package For when a user’s Internet connection is down or https://raw.githubusercontent.com is not accessible. - - @shopify/theme-language-server-node@1.7.7 ## 2.0.3 @@ -1126,7 +1134,6 @@ It includes a re-architecture of the linter and Language Server to work on a LiquidHTML AST. **Major changes:** - - Hover documentation support - New completion providers - HTML tag, attribute and value @@ -1210,7 +1217,6 @@ ### Minor Changes - b05a6a8: Add support for the following Language Server configurations: - - `themeCheck.checkOnOpen` - `themeCheck.checkOnSave` - `themeCheck.checkOnChange` @@ -1232,7 +1238,6 @@ ### Minor Changes - a120393: Add better auto-closing UX for Liquid pairs - - Type `{{` get `{{ | }}` (cursor at `|`) - Type `{{-` get `{{- | -}}` - Type `{%` get `{% | %}` diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 8448e6fc6..505a7aef9 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -10,7 +10,7 @@ "bugs": { "url": "https://github.com/Shopify/theme-tools/issues" }, - "version": "3.11.0", + "version": "3.11.1", "publisher": "Shopify", "private": true, "license": "SEE LICENSE IN LICENSE.md", @@ -64,18 +64,18 @@ "vscode": "^1.85.0" }, "dependencies": { - "@shopify/liquid-html-parser": "^2.9.1", - "@shopify/prettier-plugin-liquid": "^1.10.1", - "@shopify/theme-check-common": "^3.23.1", - "@shopify/theme-language-server-browser": "^2.20.1", - "@shopify/theme-language-server-common": "^2.20.1", - "@shopify/theme-language-server-node": "^2.20.1", + "@shopify/liquid-html-parser": "^2.9.2", + "@shopify/prettier-plugin-liquid": "^1.10.2", + "@shopify/theme-check-common": "^3.24.0", + "@shopify/theme-language-server-browser": "^2.20.2", + "@shopify/theme-language-server-common": "^2.20.2", + "@shopify/theme-language-server-node": "^2.20.2", "prettier": "^2.6.2", "vscode-languageclient": "^8.1.0", "vscode-uri": "^3.0.8" }, "devDependencies": { - "@shopify/theme-check-docs-updater": "^3.23.1", + "@shopify/theme-check-docs-updater": "^3.24.0", "@types/glob": "^8.0.0", "@types/mocha": "^10.0.0", "@types/node": "^22",