Skip to content

Commit 82c7b11

Browse files
Theme Tools Release — 2026-02-06
1 parent 85a319a commit 82c7b11

27 files changed

Lines changed: 178 additions & 199 deletions

File tree

.changeset/fix-remote-asset-false-positives.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/loud-hotels-teach.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/sweet-needles-fetch.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

packages/codemirror-language-client/CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @shopify/codemirror-language-client
22

3+
## 0.7.5
4+
5+
### Patch Changes
6+
7+
- b1bca3f9: Upgrade prettier to v3 (internal)
8+
39
## 0.7.4
410

511
### Patch Changes
@@ -80,7 +86,6 @@
8086
### Minor Changes
8187

8288
- 73a65e0: Add `{ shouldLint, shouldComplete }` optional params to CodeMirrorLanguageClient's .extension method
83-
8489
- This way linting and completions become optional features that can be turned off / experimented on
8590

8691
- 0ca7963: Add `diagnosticRenderer` and option overrides to public API of CodeMirrorLanguageClient

packages/codemirror-language-client/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shopify/codemirror-language-client",
3-
"version": "0.7.4",
3+
"version": "0.7.5",
44
"description": "A Language Client for CodeMirror",
55
"author": "CP Clermont <cp.clermont@shopify.com>",
66
"homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/codemirror-language-client#readme",
@@ -51,8 +51,8 @@
5151
"@codemirror/theme-one-dark": "^6.1.2",
5252
"@codemirror/view": "^6.9.2",
5353
"@replit/codemirror-vim": "^6.2.1",
54-
"@shopify/theme-check-docs-updater": "^3.14.0",
55-
"@shopify/theme-language-server-browser": "^2.13.0",
54+
"@shopify/theme-check-docs-updater": "^3.24.0",
55+
"@shopify/theme-language-server-browser": "^2.20.2",
5656
"@shopify/lang-jsonc": "^1.0.1",
5757
"@types/markdown-it": "^13.0.4",
5858
"codemirror": "^6.0.1",

packages/liquid-html-parser/CHANGELOG.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @shopify/liquid-html-parser
22

3+
## 2.9.2
4+
5+
### Patch Changes
6+
7+
- b1bca3f9: Upgrade prettier to v3 (internal)
8+
39
## 2.9.1
410

511
### Patch Changes
@@ -59,12 +65,10 @@
5965
- d9dbc265: - Support parsing incomplete content_for tags in completion context
6066
- Support content_for param completion
6167
- 2db3047f: Support `render` param completion based on liquid docs
62-
6368
- If you defined liquid doc parameters on a snippet, they will appear as completion options
6469
for parameters when rendered by a `render` tag.
6570

6671
- 261c2958: Support liquid doc inner tags completion + hover
67-
6872
- `@param`, `@description`, `@example` will support code completion
6973
whenever being typed inside of `doc` tag
7074
- `@param`, `@description`, `@example` can be hovered to show their
@@ -181,17 +185,17 @@
181185
- 636895f: Add support for unclosed HTML Element nodes inside branching code
182186

183187
**Breaking changes**
184-
185188
- `HtmlDanglingMarkerOpen` nodes are folded into `HtmlElement` nodes
186-
187189
- You can identify a node without its closing tag by looking at `blockEndPosition`
188190

189191
```js
190-
node.source.slice(node.blockEndPosition.start, node.blockEndPosition.end) === '';
192+
node.source.slice(
193+
node.blockEndPosition.start,
194+
node.blockEndPosition.end,
195+
) === "";
191196
```
192197

193198
**Why the change**?
194-
195199
- `HtmlDanglingMarkerOpen` nodes did not have children, since we added support for nodes without closing markers, we removed that node type entirely.
196200

197201
### Minor Changes
@@ -209,7 +213,6 @@
209213
### Minor Changes
210214

211215
- 0d71145: Add `nodes` property to RawMarkupKind to allow for subtree visiting
212-
213216
- Partially breaking in the sense where Liquid (not LiquidHTML) syntax errors will be reported from within scripts, styles, and JSON blobs
214217

215218
## 1.0.0

packages/liquid-html-parser/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shopify/liquid-html-parser",
3-
"version": "2.9.1",
3+
"version": "2.9.2",
44
"description": "Liquid HTML parser by Shopify",
55
"author": "CP Clermont <cp.clermont@shopify.com>",
66
"homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/liquid-html-parser#readme",

packages/prettier-plugin-liquid/CHANGELOG.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# @shopify/prettier-plugin-liquid
22

3+
## 1.10.2
4+
5+
### Patch Changes
6+
7+
- b1bca3f9: Upgrade prettier to v3 (internal)
8+
- Updated dependencies [b1bca3f9]
9+
- @shopify/liquid-html-parser@2.9.2
10+
311
## 1.10.1
412

513
### Patch Changes
@@ -55,7 +63,6 @@
5563
### Minor Changes
5664

5765
- 8ff89592: Adjust LiquidDoc formatting rules for single-line and multi-line examples and descriptions
58-
5966
- Multi-line content starts on a new line
6067
- Single-line content is kept on the same line or a new line as it was provided
6168

@@ -200,7 +207,6 @@
200207
### Minor Changes
201208

202209
- a07a064: Add `captureWhitespaceSensitivity` configuration option.
203-
204210
- When `strict` (default), behaves as before: treats the child nodes of `{% capture var %}` child nodes as strictly whitespace sensitive, therefore does not reformat contents.
205211
- 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.
206212

@@ -367,7 +373,6 @@
367373
```
368374

369375
The heuristic we're going for is the following:
370-
371376
- Only supported inside a LiquidBranch (if,else,when)
372377
- At most 2 of the same type (2 dangling open, or 2 dangling close)
373378

packages/prettier-plugin-liquid/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shopify/prettier-plugin-liquid",
3-
"version": "1.10.1",
3+
"version": "1.10.2",
44
"description": "Prettier Liquid/HTML plugin by Shopify",
55
"author": "CP Clermont <cp.clermont@shopify.com>",
66
"homepage": "https://github.com/Shopify/theme-tools/tree/main/packages/prettier-plugin-liquid#readme",
@@ -59,7 +59,7 @@
5959
"tsconfig-paths": "^3.14.1"
6060
},
6161
"dependencies": {
62-
"@shopify/liquid-html-parser": "^2.9.1",
62+
"@shopify/liquid-html-parser": "^2.9.2",
6363
"html-styles": "^1.0.0"
6464
}
6565
}

packages/theme-check-browser/CHANGELOG.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# @shopify/theme-check-browser
22

3+
## 3.24.0
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [346cc150]
8+
- Updated dependencies [bc8002ba]
9+
- Updated dependencies [b1bca3f9]
10+
- @shopify/theme-check-common@3.24.0
11+
312
## 3.23.1
413

514
### Patch Changes
@@ -442,7 +451,6 @@
442451
- 03b41e1: Add support for the schemas manifest on Shopify/theme-liquid-docs
443452

444453
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:
445-
446454
- [manifest_theme.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json)
447455
- [manifest_theme_app_extension.json](https://github.com/Shopify/theme-liquid-docs/blob/main/schemas/manifest_theme.json)
448456

@@ -544,7 +552,6 @@
544552
What is is: A TypeScript rewrite of [Theme Check](https://github.com/Shopify/theme-check).
545553

546554
But... _why_? A couple of reasons:
547-
548555
- To lint Liquid files, we prefer _one_ Abstract Syntax Tree (AST) per file. Not one Liquid AST _and_ one HTML AST.
549556
- Theme Check Ruby had weird duplicated checks because of that (such as `ParserBlockingJavaScript` and `ParserBlockingScriptTag`)
550557
- For that we reused the `@shopify/liquid-html-parser` we wrote for the prettier plugin.
@@ -638,7 +645,6 @@
638645
### Minor Changes
639646

640647
- 2cf7a11: Rename and alias a couple of checks
641-
642648
- `DeprecatedFilters` -> `DeprecatedFilter`
643649
- `DeprecatedTags` -> `DeprecatedTag`
644650
- Alias `LiquidHTMLSyntaxError` with `SyntaxError` and `HtmlParsingError`
@@ -808,7 +814,6 @@
808814
- 8e76424: Add support for `.theme-check.yml` config files
809815

810816
**New features**:
811-
812817
- Developers can write their own checks and publish them to [npm](https://npmjs.com)
813818

814819
Modules that follow the `@scope/theme-check-*` or `theme-check-*` naming conventions are automatically loaded.
@@ -825,16 +830,13 @@
825830
- `theme-check:theme-app-extension` for theme app extensions
826831

827832
**Removed features**:
828-
829833
- `include_categories: []`
830834
- `exclude_categories: []`
831835

832836
**Replaced features**:
833-
834837
- `require: []` this can be used to load unconventional (or private) `theme-check-js` checks. Ruby checks are not supported.
835838

836839
**Breaking changes**:
837-
838840
- Custom checks written in Ruby won't work Theme Check in TypeScript
839841
- The `*` (star) glob in `ignore` configurations does not capture the forward slash (`/`) unless at the end of the pattern.
840842

@@ -939,9 +941,7 @@
939941
- 71e6b44: Add support for fixes and suggestions
940942

941943
**New**: `context.report` now accepts two new properties:
942-
943944
- `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.
944-
945945
- JSON checks will receive a [`JSONCorrector` (API)](packages/common/src/fixes/correctors/json-corrector.ts)
946946
- LiquidHTML checks will receive a [`StringCorrector` (API)](packages/common/src/fixes/correctors/string-corrector)
947947

@@ -996,7 +996,6 @@
996996
Under the hood, corrector calls will be converted into a list of `Fix` objects.
997997

998998
One can implement a `FixApplicator` (a async function that takes a `SourceCode` and `Fix` objects) to apply fixes in different contexts.
999-
1000999
- In Node.js, we'll implement a `FixApplicator` that applies the fixes to the initial file and then save the changes to disk.
10011000
- In the Language Server, we'll implement `FixApplicator`s that turn the `Fix`es into `TextEdit` objects.
10021001

@@ -1059,14 +1058,12 @@
10591058
- f4a2f27: Simplify public API
10601059
10611060
Breaking changes:
1062-
10631061
- `Theme` is `SourceCode<S>[]` instead of `{ files: Map<string, SourceCode<S>> }`
10641062
- `SourceCode` no longer has a `relativePath` property
10651063
- `toSourceCode` no longer takes a `relativePath` as argument
10661064
- `Config` has a `root` property
10671065
10681066
- 37fc98a: Add dependencies to public API
1069-
10701067
- `fileExists(absolutePath: string): Promise<boolean>` returns true when a file exists
10711068
- `getDefaultTranslations(): Promise<JSONObject>` returns the parsed JSON contents of the default translations file
10721069

0 commit comments

Comments
 (0)