- 449d1623: Fix false positives when running theme check on theme app extensions
- Updated dependencies [d42ed610]
- Updated dependencies [ea9f2451]
- Updated dependencies [6268e838]
- @shopify/[email protected]
- @shopify/[email protected]
- 5a5b7592: [Bug fix] Fix file URI handling for Windows platforms
- Updated dependencies [9ffbe27d]
- @shopify/[email protected]
- @shopify/[email protected]
-
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
-
c55077e7: Split ValidRenderSnippetParams theme check into MissingRenderSnippetParams and UnrecognizedRenderSnippetParams. This allows them to be disabled independantly.
-
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
- Updated dependencies [8a0393a1]
- Updated dependencies [0d96194e]
- Updated dependencies [21354237]
- Updated dependencies [dafba833]
- Updated dependencies [c55077e7]
- Updated dependencies [48d4d79e]
- Updated dependencies [a851f379]
- @shopify/[email protected]
- @shopify/[email protected]
-
10493c9d: New
UnusedDocParam
theme-check rule- Theme check will verify that parameters defined within a snippet's
doc
header are used within the body
- Theme check will verify that parameters defined within a snippet's
-
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
- Skips type checking for unknown parameters
- Skips type checking for unknown types
-
1a4482eb: New theme checks to validate liquid doc params
UniqueDocParamNames
will check if param names are unique within thedoc
tagValidDocParamTypes
will check if the param types defined in thedoc
tag are supported
-
754f7f66: New theme check to ensure
doc
tag is only used in snippet files
- Updated dependencies [10493c9d]
- Updated dependencies [f130a78f]
- Updated dependencies [1a4482eb]
- Updated dependencies [5ad43a8c]
- Updated dependencies [79c9f773]
- Updated dependencies [754f7f66]
- Updated dependencies [dc8c9fda]
- Updated dependencies [beccb69e]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [f077a9ec]
- Updated dependencies [0bb780de]
- @shopify/[email protected]
- @shopify/[email protected]
-
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
anddefault.settings
exist assettings.[].id
in the same file - Check if the keys inside
presets.[](recursive .blocks.[]).settings
anddefault.blocks.[].settings
exist assettings.[].id
inside the referenced block's file
- Check if the keys inside
- Updated dependencies [fe84a17a]
- Updated dependencies [055cef77]
- Updated dependencies [e9c1d98a]
- Updated dependencies [d32afb7f]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [2ef93d17]
- @shopify/[email protected]
- @shopify/[email protected]
- 841ca6d1: Update repository URL for all packages to be case sensitive
- Updated dependencies [841ca6d1]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [c85a6131]
- Updated dependencies [913d5386]
- Updated dependencies [931dc9b9]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [c74850c8]
- Updated dependencies [c60e61ba]
- Updated dependencies [b31e0f85]
- Updated dependencies [34c2268a]
- @shopify/[email protected]
- @shopify/[email protected]
- d7436b4a: Add
JsonMissingBlock
check - 6f1862c8: Add
SchemaPresetsStaticBlocks
check
- Updated dependencies [8e909870]
- Updated dependencies [d7436b4a]
- Updated dependencies [6f1862c8]
- Updated dependencies [d01e657b]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [8912fab8]
- Updated dependencies [51ec6a7a]
- @shopify/[email protected]
- @shopify/[email protected]
- 05ae5ea8: Added MissingSchema theme check to identify missing schemas in theme app extensions.
- 26215724: Add EmptyBlockContent Check
- 73758ba1: Add LiquidFreeSettings check
- 5e8a2bfe: Add
SchemaPresetsBlockOrder
check - 1083b2bc: Refactor ValidBlockTarget and ValidLocalBlocks.
- Updated dependencies [05ae5ea8]
- Updated dependencies [3e69d732]
- Updated dependencies [26215724]
- Updated dependencies [73758ba1]
- Updated dependencies [5e8a2bfe]
- Updated dependencies [05b928ea]
- Updated dependencies [1083b2bc]
- Updated dependencies [a579d59e]
- Updated dependencies [5a2caaee]
- Updated dependencies [d2b5942a]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [16e2f37]
- @shopify/[email protected]
- @shopify/[email protected]
- 4a18a78: Temporarily disable ValidBlockTarget
- Updated dependencies [4a18a78]
- @shopify/[email protected]
- @shopify/[email protected]
- 3f7680e: Add the
ValidBlockTarget
Check - add2445: [Internal] Add better building blocks for dealing with
{% schema %}
content - 8a0bf78: Add the
ValidLocalBlocks
Check - c4813ff: Add the
BlockIdUsage
check
- 7a6dfe8: Fix weird root URI loading bug
- Updated dependencies [3f7680e]
- Updated dependencies [add2445]
- Updated dependencies [8a0bf78]
- Updated dependencies [7a6dfe8]
- Updated dependencies [7317830]
- Updated dependencies [c4813ff]
- Updated dependencies [b558bfe]
- Updated dependencies [9a07208]
- Updated dependencies [f09c923]
- @shopify/[email protected]
- @shopify/[email protected]
- b431db7: Add
ValidateSchemaName
check - 568d53b: Add the
ValidContentForArguments
check
- Updated dependencies [b431db7]
- Updated dependencies [568d53b]
- Updated dependencies [6014dfd]
- @shopify/[email protected]
- @shopify/[email protected]
-
4b574c1: [Breaking] Replace fs-based dependency injections with AbstractFileSystem injection
runChecks(theme, { - getDefaultTranslations, - getDefaultLocale, - getDefaultSchemaLocale, - getDefaultSchemaTranslations, - fileExists, - fileSize, + fs: new FileSystemImpl(), themeDocset, jsonValidationSet, })
- Updated dependencies [4b574c1]
- Updated dependencies [4b574c1]
- Updated dependencies [5fab0e9]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- @shopify/[email protected]
- 457f9cb: Add CaptureOnContentForBlock check
- Updated dependencies [457f9cb]
- Updated dependencies [edb7f2e]
- @shopify/[email protected]
- @shopify/[email protected]
- bb79d83: Add VariableName check
- Updated dependencies [bb79d83]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [ff78229]
- @shopify/[email protected]
- @shopify/[email protected]
- 0dc03a9: Prevent loading the same plugin more than once
- 312d804: Add logging support to the docs loader
- Updated dependencies [ec1fbd7]
- Updated dependencies [312d804]
- @shopify/[email protected]
- @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: Theme Check Config files now accept the
context
propertyIn your
.theme-check.yml
files, you can set thecontext
property totheme
orapp
. By default, it'stheme
. Thetheme-check:theme-app-extension
config sets it toapp
.You shouldn't need to care about this. It's there so we can do contextual things internally.
-
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]
- @shopify/[email protected]
- Updated dependencies [767d223]
- Updated dependencies [767d223]
- Updated dependencies [767d223]
- @shopify/[email protected]
- @shopify/[email protected]
-
8e3c7e2: Breaking: add
getDefaultSchema{Locale,Translations}(Factory)?
dependenciesTo be used to power
MatchingTranslations
for Schema translations.To be used to power Schema translations code completion and hover in section and theme block
{% schema %}
JSON blobs.
- 8e3c7e2: Unify parseJSON usage
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- Updated dependencies [8e3c7e2]
- @shopify/[email protected]
- @shopify/[email protected]
- 08ca661: Fix theme file glob on Windows (CLI issue)
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [8710bde]
- @shopify/[email protected]
- @shopify/[email protected]
- d66d49c: Add
{findRoot, reusableFindRoot, PathHandler}
to the public API
-
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
.
No config file or
.git
folder required. - have a
-
d66d49c: Unify root finding algorithm for node LS and TC packages
- @shopify/[email protected]
- @shopify/[email protected]
-
042f1e0: internal rename of
schemaValidators
tojsonValidationSet
The node packages absorbs this change and the dependency injection is not breaking.
-
402f151: Improve YAML parsing error messages caused by YAML aliases
ignore: # this causes an error because * at the start of a statement in YAML # is used for aliases to anchors such as `&.code-workspaces` - *.code-workspaces # what you want is this - '*.code-worksapces'
It’s a pretty obscure error for the non-initiated, so now we’ll instead throw an error like this:
YAML parsing error: Unresolved alias *.code-workspaces Did you forget to wrap it in quotes? '*.code-workspaces'
-
Updated dependencies [042f1e0]
-
Updated dependencies [a9ae65f]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [84f9eda]
- @shopify/[email protected]
- @shopify/[email protected]
- e5022ee: Fix loadConfig export to automatically select .theme-check.yml if present
- @shopify/[email protected]
- @shopify/[email protected]
- 0990c47: Fix config validation problem that required optional settings
- 617b766: Add parser support for trailing commas at the end of Liquid tags and filters
- Updated dependencies [0990c47]
- Updated dependencies [617b766]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [8f19b87]
- @shopify/[email protected]
- @shopify/[email protected]
-
8451075: Theme Check 2.0
Our official release of the next iteration of Theme Check, the linter for Shopify themes.
What is is: A TypeScript rewrite of 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
andParserBlockingScriptTag
) - For that we reused the
@shopify/liquid-html-parser
we wrote for the prettier plugin. - One tree, two languages.
- Theme Check Ruby had weird duplicated checks because of that (such as
- We wanted to run the linter in the Online Store Code Editor and—unlike WASM or WebSockets—there is no overhead or latency cost to running a TypeScript-based Language Server in a Web Worker.
- Theme developers are Front End developers. If we were to make a Venn diagram, we'd observe that the intersection of Ruby and Theme developers is much smaller than that of JavaScript and Theme developers.
- This makes the TypeScript codebase easier to contribute to.
- This makes the plugin ecosystem more accessible (you're more likely to have a
package.json
file in a theme than aGemfile
).
- The
@shopify/cli
was rewritten in TypeScript. This made the Ruby integration very problematic.- Windows performance was terrible
- Installation setup was weird, often problematic and complicated
- The VS Code extension required a secondary installation step, and thus lost the ability to automatically self-update
With the move to TypeScript, we believe that it will make it easier for us to ship more robust features faster.
- To lint Liquid files, we prefer one Abstract Syntax Tree (AST) per file. Not one Liquid AST and one HTML AST.
- 8451075:
package.json
and README cleanups - Updated dependencies [8451075]
- Updated dependencies [8451075]
- @shopify/[email protected]
- @shopify/[email protected]
- 636895f: Make LiquidHTMLSyntaxError more tolerant to unclosed nodes in branching code
- aeb9b3f: Add
UnclosedHTMLElement
check
- Updated dependencies [636895f]
- Updated dependencies [aeb9b3f]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [772a1ce]
- Updated dependencies [b05a6a8]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [79b0549]
- Updated dependencies [ac1deb4]
- @shopify/[email protected]
- @shopify/[email protected]
- 78813ea: Export config types (modern identifiers, legacy identifiers, etc.)
- 78813ea: Fix root finding for theme app extensions without a config file
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [d9f3063]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [fe54680]
- Updated dependencies [e00c319]
- @shopify/[email protected]
- @shopify/[email protected]
- Updated dependencies [aa33c5f]
- Updated dependencies [0d71145]
- @shopify/[email protected]
- @shopify/[email protected]
- 96d4d5e: Re-add
ignoreMissing
support toMissingTemplate
- 84aa24c: Superfluous settings as warnings not errors
- Updated dependencies [96d4d5e]
- Updated dependencies [dacdd9f]
- @shopify/[email protected]
- @shopify/[email protected]
-
2cf7a11: Rename and alias a couple of checks
DeprecatedFilters
->DeprecatedFilter
DeprecatedTags
->DeprecatedTag
- Alias
LiquidHTMLSyntaxError
withSyntaxError
andHtmlParsingError
- Alias
ParserBlockingJavaScript
withParserBlockingScriptTag
- Alias
JSONSyntaxError
withValidJson
- Alias
AssetSizeCSS
withAssetSizeCSSStylesheetTag
- Alias
RemoteAsset
withAssetUrlFilters
- Updated dependencies [2cf7a11]
- Updated dependencies [2cf7a11]
- @shopify/[email protected]
- @shopify/[email protected]
- b3bd123: Fix backward compatibility with legacy
{include,exclude}_categories
settings - Updated dependencies [8d35241]
- Updated dependencies [201f30c]
- Updated dependencies [c0298e7]
- Updated dependencies [6fad756]
- Updated dependencies [fc86c91]
- @shopify/[email protected]
- @shopify/[email protected]
- 279a464: Add
RemoteAsset
check
- Updated dependencies [279a464]
- Updated dependencies [d71a5e2]
- @shopify/[email protected]
- @shopify/[email protected]
- f8b4e05: Runs theme check with external docs
- Updated dependencies [6c2c00f]
- Updated dependencies [f1a642f]
- @shopify/[email protected]
- @shopify/[email protected]
- b7514f4: Fixup UndefinedObject for sections
- Updated dependencies [b7514f4]
- @shopify/[email protected]
- a05aebb: Add
AssetSizeJavascript
check
- Updated dependencies [beeb85f]
- Updated dependencies [a05aebb]
- @shopify/[email protected]
- 14b9ee2: Fixup package.json configs
- Updated dependencies [14b9ee2]
- @shopify/[email protected]
- 441a8c5: Remove
ImgLazyLoading
- 12c794a: Add
DeprecatedTags
check - 38f549b: Add .theme-check.yml support to the new Language Server in VS Code
- c00e929: Bug fix for
AssetSizeCSS
: Fixes redundant messages. - 7838869: Remove unused dep in theme-check-node
- c00e929: Bug fix for
AssetSizeAppBlockCSS
: Corrects underlining issues. - c00e929: Bug fix for
AssetUrlFilters
: Reports better messaging. - b1b8366: Fix the recommended and severity values
- c00e929: Bug fix for
AssetSizeAppBlockJavascript
: Corrects underlining issues. - Updated dependencies [441a8c5]
- Updated dependencies [c00e929]
- Updated dependencies [972c26c]
- Updated dependencies [25b79f0]
- Updated dependencies [f3cda64]
- Updated dependencies [b1b8366]
- Updated dependencies [c00e929]
- Updated dependencies [c00e929]
- Updated dependencies [12c794a]
- Updated dependencies [b1b8366]
- Updated dependencies [b1b8366]
- Updated dependencies [c00e929]
- @shopify/[email protected]
- Patch bump because it depends on @shopify/prettier-plugin-liquid
- Updated dependencies
- Updated dependencies [5479a63]
- Updated dependencies [5479a63]
- @shopify/[email protected]
- @shopify/[email protected]
- 5ba20bd: Fixed bug for
AssetUrlFilters
check - 5ba20bd: Add
ContentForHeaderModification
check - 5ba20bd: Add
AssetSizeCSS
check - 5ba20bd: Add
AssetSizeAppBlockJavascript
check - 5ba20bd: Add
AssetSizeAppBlockCSS
check
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- Updated dependencies [5ba20bd]
- @shopify/[email protected]
- 2e73166: Fix the
DocsetEntry
types to better match the theme-liquid-docs json files - Updated dependencies [2e73166]
- @shopify/[email protected]
- e67a16d: Breaking: Dependency injected json schema validators
- Updated dependencies [e67a16d]
- @shopify/[email protected]
- 4db7c7e: Add
UnknownFilter
check - a94f23c: Bump prettier-plugin-liquid to v1.2.1
- Updated dependencies [4db7c7e]
- Updated dependencies [a94f23c]
- @shopify/[email protected]
-
b3ed3b9: Add
ValidSchema
check -
d19500f: Add
AppBlockValidTags
check -
8e76424: Add support for
.theme-check.yml
config filesNew features:
-
Developers can write their own checks and publish them to npm
Modules that follow the
@scope/theme-check-*
ortheme-check-*
naming conventions are automatically loaded.The
require
property of the configuration file can be used to load checks that do not follow the naming convention.See Creating a Theme Check extension for more info.
-
extends
can be an array -
extends
can refer to node module dependencies -
extends
also accepts "modern" config identifiers:theme-check:all
for all the checks and with default settingstheme-check:recommended
for the recommended checks and settingstheme-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 inignore
configurations does not capture the forward slash (/
) unless at the end of the pattern.Fix: replace
*
by**
.This comes from a difference between how
minimatch
and Ruby handles file globs.
Extra care has been placed to make the transition as smooth as possible.
-
-
3096e53: Add
ValidHTMLTranslation
check -
daf5189: Add
AssetPreload
check -
6fb9db9: Add
ImgLazyLoading
check
- Updated dependencies [b3ed3b9]
- Updated dependencies [d19500f]
- Updated dependencies [8e76424]
- Updated dependencies [3096e53]
- Updated dependencies [daf5189]
- Updated dependencies [6fb9db9]
- @shopify/[email protected]
- 2f0f941: Add
MissingAsset
check - fd3fc3c: Add
AssetUrlFilters
- 5ae97c9: Add
PaginationSize
check - 85cf8f3: Add
CdnPreconnect
- 051aff1: Introduce
ThemeDocset
andThemeSchemas
dependencies to support core checks
- Updated dependencies [2f0f941]
- Updated dependencies [fd3fc3c]
- Updated dependencies [5ae97c9]
- Updated dependencies [85cf8f3]
- Updated dependencies [051aff1]
- @shopify/[email protected]
- Bump prettier-plugin-liquid to v1.1.0
- Updated dependencies
- @shopify/[email protected]
- 502bad8: Add documentation URLs to checks
- Updated dependencies [502bad8]
- @shopify/[email protected]
- 9e99728: Add
UnusedAssign
- f99c896: Add
LiquidHTMLSyntaxError
- e0c131a: Add
JSONSyntaxError
- e0c131a: Breaking:
SourceCode
can takeast: AST[T] | Error
, whereError
is a parsing error - ccd5146: Add
DeprecatedLazysizes
- c715fbe: Add
ImgWidthAndHeight
- 9e99728: Add
RequiredLayoutThemeObject
- edd8925: Add
DeprecateBgsizes
- 9d3d557: Fix RequiredLayoutThemeObject bugs
- Updated dependencies [cad8e17]
- Updated dependencies [9e99728]
- Updated dependencies [f99c896]
- Updated dependencies [e0c131a]
- Updated dependencies [e0c131a]
- Updated dependencies [ccd5146]
- Updated dependencies [c715fbe]
- Updated dependencies [9e99728]
- Updated dependencies [9d3d557]
- Updated dependencies [edd8925]
- @shopify/[email protected]
- 60c92be: Fix unhandled TranslationKeyExists error
- Updated dependencies [60c92be]
- @shopify/[email protected]
-
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) - LiquidHTML checks will receive a
StringCorrector
(API)
type Fixer<S> = (corrector: Corrector<S>) => void;
- JSON checks will receive a
-
suggest: Suggestion[]
, accepts an array of Suggestion. Those are like fixes but are not considered safe either because there's multiple ways to fix the problem or because the change requires care.type Suggestion<S> = { message: String; fix: Fixer<S>; };
Example usage:
// A safe change, add a "TODO" translation key context.report({ message: `The translation for '${path}' is missing`, startIndex: closest.loc!.start.offset, endIndex: closest.loc!.end.offset, fix(corrector) { // corrector is inferred to be a JSONCorrector corrector.add(path, 'TODO'); }, }); // An unsafe change, add `defer` or `async` attributes on the script tag context.report({ message: 'Avoid parser blocking scripts by adding `defer` or `async` on this tag', startIndex: node.position.start, endIndex: node.position.end, suggest: [{ message: 'Add defer attribute', fix: corrector => { // corrector is inferred to be a StringCorrector corrector.insert(node.blockStartPosition.end, ' defer') }, }, { message: 'Add async attribute', fix: corrector => { // corrector is inferred to be a StringCorrector corrector.insert(node.blockStartPosition.end, ' async') }; }], })
Under the hood, corrector calls will be converted into a list of
Fix
objects.One can implement a
FixApplicator
(a async function that takes aSourceCode
andFix
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 theFix
es intoTextEdit
objects.
New: the top level API now offers the
autofix
function, one that takes aFixApplicator
as argument.This
autofix
function applies all the safe changes (and ignores suggestions). -
- Updated dependencies [71e6b44]
- @shopify/[email protected]
- a8cda19: Add TranslationKeyExists to allChecks array
- Updated dependencies [9f8d47f]
- Updated dependencies [a8cda19]
- @shopify/[email protected]
- 9d419ca: Breaking: change dependency
get defaultLocale
togetDefaultLocale(): Promise<string>
- Updated dependencies [9d419ca]
- @shopify/[email protected]
- 72a9330: Breaking: Add
defaultLocale
dependency - 72a9330: Add check TranslationKeyExists
- 5329963: Breaking: change signature of
getDefaultTranslations
to return aPromise<Translations>
- Updated dependencies [72a9330]
- Updated dependencies [5329963]
- Updated dependencies [72a9330]
- Updated dependencies [5329963]
- @shopify/[email protected]
- Updated dependencies [4c099d5]
- Updated dependencies [4c099d5]
- @shopify/[email protected]
-
f4a2f27: Simplify public API
Breaking changes:
Theme
isSourceCode<S>[]
instead of{ files: Map<string, SourceCode<S>> }
SourceCode
no longer has arelativePath
propertytoSourceCode
no longer takes arelativePath
as argumentConfig
has aroot
property
-
37fc98a: Add dependencies to public API
fileExists(absolutePath: string): Promise<boolean>
returns true when a file existsgetDefaultTranslations(): Promise<JSONObject>
returns the parsed JSON contents of the default translations file
These dependencies are now added to the
context
object and are usable by checks.Those exists as a lean way to get rid of the assumptions that all files are in the
Theme
object. We should be able to go a long way with these.
- Updated dependencies [f4a2f27]
- Updated dependencies [37fc98a]
- @shopify/[email protected]
- d206674: Move toSourceCode to common for use in language-server-common
- Updated dependencies [d206674]
- @shopify/[email protected]
- 233f00f: Initial release