- d9b58157: Make theme preload fs.readFile error resilient
- Updated dependencies [d42ed610]
- Updated dependencies [d9b58157]
- Updated dependencies [86f2c25e]
- Updated dependencies [ea9f2451]
- Updated dependencies [6268e838]
- @shopify/[email protected]
- Updated dependencies [9ffbe27d]
- @shopify/[email protected]
- Updated dependencies [110bb005]
- Updated dependencies [3a68fe5f]
- Updated dependencies [1dc03172]
- Updated dependencies [d9fc9d03]
- Updated dependencies [dafba833]
- Updated dependencies [cb2b2f45]
- Updated dependencies [17cf30de]
- Updated dependencies [85579bcb]
- Updated dependencies [22dd956a]
- @shopify/[email protected]
- Updated dependencies [754f7f66]
- Updated dependencies [8be77897]
- @shopify/[email protected]
- Updated dependencies [f077a9ec]
- @shopify/[email protected]
- Updated dependencies [2e4613b8]
- Updated dependencies [d9dbc265]
- Updated dependencies [e3e1dfdf]
- Updated dependencies [e9c1d98a]
- Updated dependencies [2db3047f]
- Updated dependencies [261c2958]
- Updated dependencies [5eaf2950]
- @shopify/[email protected]
- Updated dependencies [2ef93d17]
- Updated dependencies [5312283e]
- Updated dependencies [77c2536f]
- @shopify/[email protected]
- 841ca6d1: Update repository URL for all packages to be case sensitive
- Updated dependencies [841ca6d1]
- @shopify/[email protected]
- Updated dependencies [c85a6131]
- Updated dependencies [931dc9b9]
- Updated dependencies [02b8967f]
- Updated dependencies [9765bece]
- Updated dependencies [dd0cd4d2]
- @shopify/[email protected]
- Updated dependencies [ccc0c952]
- Updated dependencies [ac55577a]
- @shopify/[email protected]
- Updated dependencies [68e1b44b]
- Updated dependencies [dc9c6da6]
- Updated dependencies [c60e61ba]
- Updated dependencies [4a429e15]
- Updated dependencies [68e1b44b]
- Updated dependencies [c74850c8]
- Updated dependencies [b31e0f85]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [2bd19d66]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [d1658353]
- Updated dependencies [528127bd]
- Updated dependencies [4b2dec31]
- Updated dependencies [b2bad1f4]
- Updated dependencies [2228b3d9]
- Updated dependencies [05b928ea]
- Updated dependencies [b2bad1f4]
- Updated dependencies [5916a6ec]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [add2445]
- Updated dependencies [f09c923]
- Updated dependencies [0b7534b]
- Updated dependencies [9a07208]
- @shopify/[email protected]
- Updated dependencies [b431db7]
- Updated dependencies [04a3275]
- Updated dependencies [8f3bc18]
- Updated dependencies [568d53b]
- Updated dependencies [6014dfd]
- @shopify/[email protected]
-
4b574c1: [Breaking] Replace fs-based dependency injection by an AbstractFileSystem injection
+ class FileSystemImpl implements AbstractFileSystem { + /* ... */ + } startServer(worker, { - findRootURI, - fileExists, - fileSize, - getDefaultTranslationsFactory, - getDefaultLocaleFactory, - getDefaultSchemaTranslationsFactory, - getDefaultSchemaLocaleFactory, - getThemeSettingsSchemaForRootURI, + fs: new FileSystemImpl(), loadConfig, log, themeDocset, jsonValidationSet, })
-
4b574c1: Expose language server connection in Public API
This lets you send non-standard LSP messages to the client.
import { getConnection, startServer, AbstractFileSystem, } from '@shopify/theme-language-server-browser'; class MainThreadFileSystem implements AbstractFileSystem { constructor(private connection) {} readFile(uri) { return this.connection.sendRequest('fs/readFile', uri); } readDirectory(uri) { return this.connection.sendRequest('fs/readDirectory', uri); } readFile(uri) { return this.connection.sendRequest('fs/stat', uri); } } const worker = self as any as Worker; const connection = getConnection(worker); const fs = new MainThreadFileSystem(connection); const dependencies = { /* ... */ }; startServer(worker, dependencies, connection);
- Updated dependencies [5fab0e9]
- Updated dependencies [4b574c1]
- Updated dependencies [5fab0e9]
- Updated dependencies [4b574c1]
- @shopify/[email protected]
- Updated dependencies [a0ba46d]
- Updated dependencies [e36ed42]
- Updated dependencies [9bff5bd]
- @shopify/[email protected]
- Updated dependencies [c664d52]
- @shopify/[email protected]
- Updated dependencies [28a5d31]
- Updated dependencies [b5a2fbc]
- Updated dependencies [474b859]
- Updated dependencies [264321f]
- Updated dependencies [d1f9fef]
- Updated dependencies [f0f9ec2]
- Updated dependencies [a946a4e]
- Updated dependencies [f96425e]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [d7c6204]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [ec1fbd7]
- @shopify/[email protected]
-
03b41e1: Breaking:
jsonValidationSet
's schemas public API changeNow takes a function of the following signature:
interface JsonValidationSet = { schemas: (context: 'theme' | 'app') => Promise<SchemaDefinition[]> }
Reason being we want to support
fileMatch
overloading ofblocks/*.liquid
files and we needed a way to identify which context you're in.Unfortunately, the JSON schema for
blocks/*.liquid
files in theme app extensions isn't the same one we have in themes. There doesn't seem to be a way to unify them either. -
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
ortheme
), we defined two manifests that describe the schemas required by your solution and define the fileMatch rules:@shopify/theme-check-docs-updater
now reads those manifests and downloads the tree of dependency that they require. We will no longer need to make new theme-tools releases whenever we add new schemas. We'll be able to dev them and their file associations directly from Shopify/theme-liquid-docs and have downstream consumers updated automatically (the same way docs are automatically updated).
- Updated dependencies [03b41e1]
- Updated dependencies [03b41e1]
- Updated dependencies [03b41e1]
- @shopify/[email protected]
-
767d223: Breaking: Redesign
jsonValidationSet
public API(Only breaking for in-browser packages, node packages are still batteries-included)
Before:
type JsonValidationSet = { sectionSchema(): Promise<string>; translationSchema(): Promise<string>; validateSectionSchema(): Promise<ValidateFunction>; };
After:
type URI = string; type SchemaDefinition = { uri: string; fileMatch?: string[]; schema: Promise<string>; }; type JsonValidationSet = { schemas: SchemaDefinition[]; };
We’re getting rid of ajv and we’ll use vscode-json-languageservice in Theme Check instead. That dependency is required by the language server anyway, might as well reuse it instead of depending on a totally different solution for validation. We'll also get better reporting of Syntax Errors because the parser used by
vscode-json-languageservice
is better.Moreover, this new design leaves space for
$ref
support.
- Updated dependencies [767d223]
- @shopify/[email protected]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
-
042f1e0: Breaking: internal rename of
schemaValidators
tojsonValidationSet
This breaks the browser dependencies public API (for
startServer
andrunChecks
) and will thus require some code changes in those contexts.The node packages absorb the dependency injection and are not breaking.
-
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 %}
bodieslocales/*.json
files
Hovering over any key in any translation file will show the path of the translation key (for easy copy and paste).
Pluralized strings and
_html
support is baked into the feature.
- Updated dependencies [042f1e0]
- Updated dependencies [042f1e0]
- Updated dependencies [a9ae65f]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- 617b766: Add parser support for trailing commas at the end of Liquid tags and filters
- Updated dependencies [617b766]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [7459e14]
- @shopify/[email protected]
- 8451075:
package.json
and README cleanups - Updated dependencies [8451075]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [772a1ce]
- Updated dependencies [b05a6a8]
- @shopify/[email protected]
- Updated dependencies [a120393]
- @shopify/[email protected]
- Updated dependencies [79b0549]
- @shopify/[email protected]
- Updated dependencies [78813ea]
- Updated dependencies [78813ea]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [aa33c5f]
- @shopify/[email protected]
- Updated dependencies [dacdd9f]
- @shopify/[email protected]
- Updated dependencies [dbd5fb0]
- @shopify/[email protected]
- Updated dependencies [54a9075]
- @shopify/[email protected]
- Updated dependencies [23c84af]
- Updated dependencies [73a65e0]
- Updated dependencies [b27d8c7]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [8d35241]
- Updated dependencies [201f30c]
- Updated dependencies [c0298e7]
- Updated dependencies [6fad756]
- Updated dependencies [fc86c91]
- @shopify/[email protected]
- Updated dependencies [f35feb4]
- Updated dependencies [d71a5e2]
- @shopify/[email protected]
- Updated dependencies [eb630b1]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [380b273]
- @shopify/[email protected]
- Updated dependencies [7457f2c]
- Updated dependencies [7457f2c]
- @shopify/[email protected]
- @shopify/[email protected]
- 14b9ee2: Fixup package.json configs
- Updated dependencies [14b9ee2]
- @shopify/[email protected]
- 319bcf1:
@shopify/theme-language-server
initial release
- acfac68: Rename
liquid-language-server-*
packages totheme-language-server-*
- Updated dependencies [8cd0b54]
- Updated dependencies [25b79f0]
- Updated dependencies [f3cda64]
- Updated dependencies [acfac68]
- Updated dependencies [319bcf1]
- Updated dependencies [4bb4b8d]
- @shopify/[email protected]
- e8d569d: Subscribe to open/close notifications
- Updated dependencies [e8d569d]
- @shopify/[email protected]
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- @shopify/[email protected]
- 8f2270f: Fixed: type of docset entry data rendered
- 6bad30d: Introduce Intelligent Code Completion foundations + Liquid tags completion provider
- 57f28a6: Bump
@shopify/theme-check-common
to v1.9.0
- f369925: Add ObjectCompletionProvider
- Updated dependencies [8f2270f]
- Updated dependencies [f369925]
- Updated dependencies [6bad30d]
- Updated dependencies [57f28a6]
- @shopify/[email protected]
- 57f28a6: Bump
@shopify/theme-check-common
to v1.9.0
- Updated dependencies [57f28a6]
- @shopify/[email protected]
- 28c8f88: Bump theme-check-common to v1.7.1
- Updated dependencies [28c8f88]
- @shopify/[email protected]
-
0c50ec1: Bump theme-check to v1.6.0
- e0c131a: Breaking:
SourceCode
can takeast: AST[T] | Error
, whereError
is a parsing error - 9e99728: Add
UnusedAssign
- f99c896: Add
LiquidHTMLSyntaxError
- e0c131a: Add
JSONSyntaxError
- ccd5146: Add
DeprecatedLazysizes
- c715fbe: Add
ImgWidthAndHeight
- 9e99728: Add
RequiredLayoutThemeObject
- edd8925: Add
DeprecateBgsizes
- e0c131a: Breaking:
-
08003be: Add support for Document Links
-
17668ba: Add suggestion quickfix support
-
b2b0d5f: Add link to diagnostic documentation when available
-
17668ba: Add fix quickfix support
-
4e9d7c6: Add a "autofix"
source.fixAll
code action provider -
2f86338: Add
themeCheck/runChecks
ExecuteCommandProvider
- Updated dependencies [0c50ec1]
- Updated dependencies [08003be]
- Updated dependencies [17668ba]
- Updated dependencies [b2b0d5f]
- Updated dependencies [17668ba]
- Updated dependencies [4e9d7c6]
- Updated dependencies [2f86338]
- @shopify/[email protected]
- 81ec8c2: Normalize paths and URIs across platforms
- Updated dependencies [81ec8c2]
- @shopify/[email protected]
- d16de84: Bump theme-check-common to v1.5.1
- Updated dependencies [d16de84]
- @shopify/[email protected]
- Updated dependencies [d63cadb]
- @shopify/[email protected]
-
Bump @shopify/theme-check-common to v1.4.0
- Adds new check:
TranslationKeyExists
- Adds new check:
- Updated dependencies [6f5c92c]
- Updated dependencies
- @shopify/[email protected]
- Use buffer value of default translations before the injected value
- Updated dependencies
- @shopify/[email protected]
- d4682a6: Reexport theme-check-common interfaces
- Updated dependencies [d4682a6]
- @shopify/[email protected]
- Updated dependencies [19efbcf]
- @shopify/[email protected]
- a35a0b1: Add Basic TextDocumentSync + PublishDiagnostic support
- Updated dependencies [a35a0b1]
- @shopify/[email protected]
- ed0e93e: Initial release
- Updated dependencies [ed0e93e]
- @shopify/[email protected]