Changelog
0.1.53
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.53 @eastsideco/salvo-ts-build@0.1.53
npm install --save @eastsideco/salvo-ts@0.1.53 @eastsideco/salvo-ts-build@0.1.53
- Fixed issue where build variant would be included in the automatically generated section classname, leading to a validation error.
0.1.52
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.52 @eastsideco/salvo-ts-build@0.1.52
npm install --save @eastsideco/salvo-ts@0.1.52 @eastsideco/salvo-ts-build@0.1.52
- Build variants are now supported for
@importdirectives in SCSS files. The import must be suffixed with~if a default-build-variant (unsuffixed filename) version of the file exists (https://github.com/sass/dart-sass/issues/574)
0.1.51
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.51 @eastsideco/salvo-ts-build@0.1.51
npm install --save @eastsideco/salvo-ts@0.1.51 @eastsideco/salvo-ts-build@0.1.51
- Build variants are now supported for
@importdirectives in SCSS files.
0.1.50
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.50 @eastsideco/salvo-ts-build@0.1.50
npm install --save @eastsideco/salvo-ts@0.1.50 @eastsideco/salvo-ts-build@0.1.50
- Build variants are now supported for
static/assets.
0.1.49
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.49 @eastsideco/salvo-ts-build@0.1.49
npm install --save @eastsideco/salvo-ts@0.1.49 @eastsideco/salvo-ts-build@0.1.49
- Added support for build variants (docs pending).
- Add
buildVariant: nullin your project'ssalvo.config.js. - Change the
registerComponentscall insrc/main.tstoregisterComponents(require.context('./components/', true), process.env.SALVO_BUILD_VARIANT);
0.1.48
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.48 @eastsideco/salvo-ts-build@0.1.48
npm install --save @eastsideco/salvo-ts@0.1.48 @eastsideco/salvo-ts-build@0.1.48
- Re-enable prod minification.
- Add warning when
output.themeJssetting ends in only.js(rather than.min.js) to help avoid theme JS being mangled by Shopify.
- Change
output.themeJsfromtheme.jstotheme.min.jsin your project'ssalvo.config.js.
0.1.47
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.47 @eastsideco/salvo-ts-build@0.1.47
npm install --save @eastsideco/salvo-ts@0.1.47 @eastsideco/salvo-ts-build@0.1.47
- Temporarily disable minification in prod builds.
0.1.46
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.46 @eastsideco/salvo-ts-build@0.1.46
npm install --save @eastsideco/salvo-ts@0.1.46 @eastsideco/salvo-ts-build@0.1.46
- Disabled all symbol mangling in production builds to workaround unwanted component class name mangling.
0.1.45
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.45 @eastsideco/salvo-ts-build@0.1.45
npm install --save @eastsideco/salvo-ts@0.1.45 @eastsideco/salvo-ts-build@0.1.45
- Fix Liquid schema error when a section's schema tags are formatted unusually.
0.1.44
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.44 @eastsideco/salvo-ts-build@0.1.44
npm install --save @eastsideco/salvo-ts@0.1.44 @eastsideco/salvo-ts-build@0.1.44
- Fix Liquid schema error when a section has a schema which doesn't define a class.
0.1.43
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.43 @eastsideco/salvo-ts-build@0.1.43
npm install --save @eastsideco/salvo-ts@0.1.43 @eastsideco/salvo-ts-build@0.1.43
- Fixed webpack schema error when running
npm run prod.
0.1.40 - 0.1.42
Versions skipped.
0.1.39
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.39 @eastsideco/salvo-ts-build@0.1.39
npm install --save @eastsideco/salvo-ts@0.1.39 @eastsideco/salvo-ts-build@0.1.39
- Added experimental locale auditing. Use
npm run dev -- --audit-localesto opt-in. - Fixed section metadata classes.
0.1.38
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.38 @eastsideco/salvo-ts-build@0.1.38
npm install --save @eastsideco/salvo-ts@0.1.38 @eastsideco/salvo-ts-build@0.1.38
- Temporarily disable section metadata classes due to Shopify errors.
0.1.37
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.37 @eastsideco/salvo-ts-build@0.1.37
npm install --save @eastsideco/salvo-ts@0.1.37 @eastsideco/salvo-ts-build@0.1.37
- Added
featured_imagetoShopify.Liquid.Variant. - Fixed links in docs.
0.1.36
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.36 @eastsideco/salvo-ts-build@0.1.36
npm install --save @eastsideco/salvo-ts@0.1.36 @eastsideco/salvo-ts-build@0.1.36
- Added auto-generated typings for Shopify Liquid objects (docs).
0.1.35
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.35 @eastsideco/salvo-ts-build@0.1.35npm install --save typescript@4.5
npm install --save @eastsideco/salvo-ts@0.1.35 @eastsideco/salvo-ts-build@0.1.35npm install --save typescript@4.5
- Updated Typescript to 4.5 (from 4.3). More details:
- Added more linting rules based on eslint/typescript-eslint recommendations.
- Fixed unintentional generation of
dist/tmp_src/...files.
- Some changes may be required to support Typescript 4.5. Note that if you use VSCode's typescript support it's possibly that your editor was already making suggestions based on 4.5 rules, so you may have already made this changes.
- Many of the new linting rules are auto-fix, but some changes may be required to your code for some of the rules. (Suggestion: If you are unsure how to resolve a lint error, google the error name and look at the description of the rule. There will usually be example solutions provided.)
0.1.34
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.34 @eastsideco/salvo-ts-build@0.1.34
npm install --save @eastsideco/salvo-ts@0.1.34 @eastsideco/salvo-ts-build@0.1.34
- Added --noclear option for debugging fatal compiler errors.
- Expose error messages when fatal compiler errors occur.
0.1.33
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.33 @eastsideco/salvo-ts-build@0.1.33
npm install --save @eastsideco/salvo-ts@0.1.33 @eastsideco/salvo-ts-build@0.1.33
- Improve error messages for project config validation errors.
0.1.32
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.32 @eastsideco/salvo-ts-build@0.1.32
npm install --save @eastsideco/salvo-ts@0.1.32 @eastsideco/salvo-ts-build@0.1.32
- Fixed "module not found" errors during manifest generation when importing (s)css files.
- Updated docs, improved docs homepage.
0.1.30 - 0.1.31
Versions skipped.
0.1.29
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.29 @eastsideco/salvo-ts-build@0.1.29
npm install --save @eastsideco/salvo-ts@0.1.29 @eastsideco/salvo-ts-build@0.1.29
- Added changelog.
0.1.28
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.28 @eastsideco/salvo-ts-build@0.1.28
npm install --save @eastsideco/salvo-ts@0.1.28 @eastsideco/salvo-ts-build@0.1.28
- Your
salvo.config.jsis now validated andnpm run devwill throw validation errors if it doesn't match the expected structure. - The compiler will now validate that the versions of
@eastsideco/salvo-tsand@eastsideco/salvo-ts-buildyou have installed match. If they don't,npm run devwill throw an error and give you a command to run to upgrade.
0.1.23 - 0.1.27
Versions skipped.
0.1.22
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.22 @eastsideco/salvo-ts-build@0.1.22
npm install --save @eastsideco/salvo-ts@0.1.22 @eastsideco/salvo-ts-build@0.1.22
- Removed manifest polyfill for
document. - Added ability to exclude specified packages from manifest generation. By adding a package to
manifest.ignorePackages, it will be replaced withmodule.exports = {}when manifest generation happens. This should allow you to effectively avoid manifest generation errors related to using browser-only packages (as long as your module doesn't have side-effects that touch it, which is discouraged anyway.)
To clarify the limitation regarding using an ignored package in a module with side-effects (and how it relates to decorators especially):
Assuming that 'foo' is in your manifest.ignoredPackages, these are okay:
tsimport { doFoo } from 'foo'export class MyComponent extends ThemeComponent {init() {doFoo();}}orimport { doFoo } from 'foo';export function helpfulUtilityFunction() {// do a bunch of thingsdoFoo();}
tsimport { doFoo } from 'foo'export class MyComponent extends ThemeComponent {init() {doFoo();}}orimport { doFoo } from 'foo';export function helpfulUtilityFunction() {// do a bunch of thingsdoFoo();}
When you import either of these modules, doFoo from foo is never actually touched, only when those classes/functions are used.
These would NOT be okay:
tsimport { doFoo } from 'foo';export class MyComponent extends ThemeComponent {@Prop({ default: doFoo() }) thing: string;}orimport { doFoo } from 'foo';doFoo();
tsimport { doFoo } from 'foo';export class MyComponent extends ThemeComponent {@Prop({ default: doFoo() }) thing: string;}orimport { doFoo } from 'foo';doFoo();
Because in both of these cases, doFoo from foo is touched immediately when these modules are imported. When the manifest generation is running, foo will be replaced with an empty module, so doFoo won't exist and this will throw an error. (Reminder: Prop and other decorators are evaluated when your class is defined [i.e. on import], not when it's used, which is why using it in a decorator argument is problematic.)
- Add the following section to your
salvo.config.js(inside themodule.exports = {...}):
jsmanifest: {// Packages added here will be replaced with a no-op module during manifest generation.// Add any misbehaving packages which expect a browser environment to be available on import.ignorePackages: []},
jsmanifest: {// Packages added here will be replaced with a no-op module during manifest generation.// Add any misbehaving packages which expect a browser environment to be available on import.ignorePackages: []},
- Add the name of any packages which depended on the document polyfill to
manifest.ignorePackageslike this:
jsmanifest: {ignorePackages: ['plyr',]},
jsmanifest: {ignorePackages: ['plyr',]},
0.1.21
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.21 @eastsideco/salvo-ts-build@0.1.21
npm install --save @eastsideco/salvo-ts@0.1.21 @eastsideco/salvo-ts-build@0.1.21
- Fix: Added minimal polyfill for
window.documentduring manifest generation.
0.1.20
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.20 @eastsideco/salvo-ts-build@0.1.20
npm install --save @eastsideco/salvo-ts@0.1.20 @eastsideco/salvo-ts-build@0.1.20
- Added minimal polyfill for
window.documentduring manifest generation.
0.1.19
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.19 @eastsideco/salvo-ts-build@0.1.19
npm install --save @eastsideco/salvo-ts@0.1.19 @eastsideco/salvo-ts-build@0.1.19
- Resolved
booleanProp values always resolving totrue
0.1.18
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.18 @eastsideco/salvo-ts-build@0.1.18
npm install --save @eastsideco/salvo-ts@0.1.18 @eastsideco/salvo-ts-build@0.1.18
- variables.scss will now be included in all Component SCSS files automatically by the compiler (it will update your source files to include it if missing.) (This can be configured in
salvo.config.js) [#7]
- Add the following section to your
salvo.config.js(inside themodule.exports = {...}):
jscomponents: {sass: {// These imports will be added to every Component SCSS filedefaultImports: ['./assets/styles/variables.scss',],},},
jscomponents: {sass: {// These imports will be added to every Component SCSS filedefaultImports: ['./assets/styles/variables.scss',],},},
- Add a
assets/styles/variables.scssfile to your project.
0.1.17
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.17 @eastsideco/salvo-ts-build@0.1.17
npm install --save @eastsideco/salvo-ts@0.1.17 @eastsideco/salvo-ts-build@0.1.17
- Multiple Component SCSS files in the same directory will no longer cause a compile error. [#13])
0.1.16
Install/upgrade:
npm install --save @eastsideco/salvo-ts@0.1.16 @eastsideco/salvo-ts-build@0.1.16
npm install --save @eastsideco/salvo-ts@0.1.16 @eastsideco/salvo-ts-build@0.1.16
requiredis no longer allowed in@Prop({})options. Usedefaultinstead. Any prop with adefaultspecified is non-required.defaultmay be any value of the appropriate type, exceptundefined(usedefault: nullfor a 'value not set' default instead.) [#2]- Incorrect validation messages will no longer be shown in these situations:
booleanprops; props with multiple words in name; falsey prop values other thanundefined. [#1]