@syncify/cli 0.2.1-beta → 0.2.3-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs.js +49 -49
- package/dist/cli.js +3 -3
- package/hot.js.liquid +1 -2236
- package/package.json +3 -1
- package/pnpm-lock.yaml +14 -0
- package/readme.md +13 -43
- package/types/cli.d.ts +18 -4
- package/types/internal/index.d.ts +4 -0
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@syncify/cli",
|
3
3
|
"description": "The next generation build tool for Shopify theme development.",
|
4
|
-
"version": "0.2.
|
4
|
+
"version": "0.2.3-beta",
|
5
5
|
"license": "MIT",
|
6
6
|
"homepage": "https://github.com/panoply/syncify",
|
7
7
|
"bugs": "https://github.com/panoply/syncify/issues",
|
@@ -72,10 +72,12 @@
|
|
72
72
|
"fs-extra": "^11.1.1",
|
73
73
|
"gray-matter": "^4.0.3",
|
74
74
|
"html-minifier-terser": "7.2.0",
|
75
|
+
"html-to-image": "^1.11.11",
|
75
76
|
"load-tsconfig": "^0.2.5",
|
76
77
|
"markdown-it": "^13.0.1",
|
77
78
|
"mime-types": "^2.1.35",
|
78
79
|
"minimist": "^1.2.8",
|
80
|
+
"morphdom": "^2.7.0",
|
79
81
|
"node-notifier": "^10.0.1",
|
80
82
|
"p-map": "^6.0.0",
|
81
83
|
"prompts": "^2.4.2",
|
package/pnpm-lock.yaml
CHANGED
@@ -41,6 +41,9 @@ importers:
|
|
41
41
|
html-minifier-terser:
|
42
42
|
specifier: 7.2.0
|
43
43
|
version: 7.2.0
|
44
|
+
html-to-image:
|
45
|
+
specifier: ^1.11.11
|
46
|
+
version: 1.11.11
|
44
47
|
load-tsconfig:
|
45
48
|
specifier: ^0.2.5
|
46
49
|
version: 0.2.5
|
@@ -53,6 +56,9 @@ importers:
|
|
53
56
|
minimist:
|
54
57
|
specifier: ^1.2.8
|
55
58
|
version: 1.2.8
|
59
|
+
morphdom:
|
60
|
+
specifier: ^2.7.0
|
61
|
+
version: 2.7.0
|
56
62
|
node-notifier:
|
57
63
|
specifier: ^10.0.1
|
58
64
|
version: 10.0.1
|
@@ -2976,6 +2982,10 @@ packages:
|
|
2976
2982
|
terser: 5.18.1
|
2977
2983
|
dev: false
|
2978
2984
|
|
2985
|
+
/html-to-image@1.11.11:
|
2986
|
+
resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==}
|
2987
|
+
dev: false
|
2988
|
+
|
2979
2989
|
/http-errors@2.0.0:
|
2980
2990
|
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
2981
2991
|
engines: {node: '>= 0.8'}
|
@@ -3558,6 +3568,10 @@ packages:
|
|
3558
3568
|
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
3559
3569
|
dev: true
|
3560
3570
|
|
3571
|
+
/morphdom@2.7.0:
|
3572
|
+
resolution: {integrity: sha512-8L8DwbdjjWwM/aNqj7BSoSn4G7SQLNiDcxCnMWbf506jojR6lNQ5YOmQqXEIE8u3C492UlkN4d0hQwz97+M1oQ==}
|
3573
|
+
dev: false
|
3574
|
+
|
3561
3575
|
/ms@2.0.0:
|
3562
3576
|
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
3563
3577
|
dev: false
|
package/readme.md
CHANGED
@@ -6,7 +6,10 @@
|
|
6
6
|
|
7
7
|
A lightening fast, extensible and superior alternative Shopify CLI (Theme Development) tool. Syncify provides developers with a powerful CLI and employs an intuitive approach for creating Shopify themes.
|
8
8
|
|
9
|
-
|
9
|
+
### Demos
|
10
|
+
|
11
|
+
- [Syncify Dawn Basic](https://github.com/panoply/syncify-dawn-basic)
|
12
|
+
- [Syncify Dawn Advanced](https://github.com/panoply/syncify-dawn-advanced)
|
10
13
|
|
11
14
|
### Key Features
|
12
15
|
|
@@ -164,48 +167,13 @@ process.env['YOUR-SHOP-NAME_API_KEY'] = 'abcdefghijklmnopqrstuvwz';
|
|
164
167
|
process.env['YOUR-SHOP-NAME_API_SECRET'] = 'abcdefghijklmnopqrstuvwz';
|
165
168
|
```
|
166
169
|
|
167
|
-
# Package Schema
|
168
|
-
|
169
|
-
Syncify exposes a large set of configuration options. If you are using a text editor like [VS Code](https://code.visualstudio.com/) or one which supports [JSON Schema Specs](https://json-schema.org/specification.html) then you can extend `package.json` schemas. JSON schema specs provide features like hover descriptions, validations, auto-completion and intellisense for JSON file types. Extending the package schema will enable these capabilities be provided to the `syncify` field.
|
170
|
-
|
171
|
-
> It is **highly recommended** that you extend the `package.json` json specifications.
|
172
|
-
|
173
|
-
### Generate Schemas (vscode users)
|
174
|
-
|
175
|
-
Syncify can automatically generate the `package.json` schema specs for developers using the VSCode text editor. The settings reference will be written within the `.vscode` directory relative to root. Use the following command:
|
176
|
-
|
177
|
-
```
|
178
|
-
syncify --vsc
|
179
|
-
```
|
180
|
-
|
181
|
-
### Provide Manually
|
182
|
-
|
183
|
-
If you wish to provide the specs manually you will need to create a `.vscode` directory and `settings.json` file within. The `settings.json` should contain the following configuration settings:
|
184
|
-
|
185
|
-
```json
|
186
|
-
{
|
187
|
-
"files.associations": {
|
188
|
-
".syncifyrc": "json"
|
189
|
-
},
|
190
|
-
"json.schemas": [
|
191
|
-
{
|
192
|
-
"fileMatch": ["package.json"],
|
193
|
-
"url": "https://unpkg.com/@syncify/schema/package.json"
|
194
|
-
},
|
195
|
-
{
|
196
|
-
"fileMatch": [".syncifyrc", ".syncifyrc.json"],
|
197
|
-
"url": "https://unpkg.com/@syncify/schema/syncify.json"
|
198
|
-
}
|
199
|
-
]
|
200
|
-
}
|
201
|
-
```
|
202
|
-
|
203
170
|
# Configuration
|
204
171
|
|
205
172
|
Syncify supports `syncify.config.js` and `package.json` configurations. Depending on your preference, either option suffices and no restrictions are imposed. If you are defining options within your projects `package.json` file you can assign options on the `syncify` property.
|
206
173
|
|
207
174
|
### Supported Files
|
208
175
|
|
176
|
+
- `syncify.config.ts`
|
209
177
|
- `syncify.config.js`
|
210
178
|
- `syncify.config.ts`
|
211
179
|
- `syncify.config.mjs`
|
@@ -319,7 +287,7 @@ export default defineConfig({
|
|
319
287
|
// sprite: {},
|
320
288
|
// sharp: {},
|
321
289
|
},
|
322
|
-
|
290
|
+
terser: {
|
323
291
|
json: {
|
324
292
|
assets: true,
|
325
293
|
config: true,
|
@@ -345,7 +313,7 @@ export default defineConfig({
|
|
345
313
|
|
346
314
|
# Getting Started
|
347
315
|
|
348
|
-
It is relatively easy to get started developing Shopify themes using Syncify. If you are converting an existing project and using Theme Kit or another build environment you can progressively adapt it into your workflow by manually configuring how Syncify should behave. Whatever the case, have a look at the [Syncify
|
316
|
+
It is relatively easy to get started developing Shopify themes using Syncify. If you are converting an existing project and using Theme Kit or another build environment you can progressively adapt it into your workflow by manually configuring how Syncify should behave. Whatever the case, have a look at the [Syncify Strap](https://github.com/panoply/syncify-strap) repository.
|
349
317
|
|
350
318
|
### Pre-requisites
|
351
319
|
|
@@ -660,8 +628,8 @@ export default defineConfig({
|
|
660
628
|
snippets: 'snippets/*.liquid',
|
661
629
|
templates: 'templates/*.liquid',
|
662
630
|
customers: 'templates/customers/*',
|
663
|
-
pages: 'pages/*',
|
664
|
-
redirects: 'redirects.yaml',
|
631
|
+
// pages: 'pages/*',
|
632
|
+
// redirects: 'redirects.yaml',
|
665
633
|
}
|
666
634
|
})
|
667
635
|
```
|
@@ -1101,7 +1069,7 @@ Syncify provides SCSS/SASS transform support for `.scss` and `.sass` file types
|
|
1101
1069
|
pnpm add sass -D
|
1102
1070
|
```
|
1103
1071
|
|
1104
|
-
### Tailwind Support
|
1072
|
+
### Tailwind Support ~ COMING SOON
|
1105
1073
|
|
1106
1074
|
Syncify supports TailwindCSS for CSS processing. If you require transform support for Tailwind, you need to install the TailwindCSS module as a development dependency in your project. Syncify will ignore Tailwind class name occurrences without the module installed.
|
1107
1075
|
|
@@ -1745,7 +1713,7 @@ When we are talking about Liquid syntax specifically, there is no real measurabl
|
|
1745
1713
|
|
1746
1714
|
### Usage
|
1747
1715
|
|
1748
|
-
Produce terse output by passing `--terse`
|
1716
|
+
Produce terse output by passing `--terse` command flag. The `--prod` flag will also produce terse output. You can pass a boolean `false` to options to skip minification.
|
1749
1717
|
|
1750
1718
|
### Terse Options
|
1751
1719
|
|
@@ -1812,6 +1780,8 @@ If you are using a package manager like [pnpm](https://pnpm.js.org/en/cli/instal
|
|
1812
1780
|
|
1813
1781
|
### Commands
|
1814
1782
|
|
1783
|
+
### PARTIALLY INCOMPLETE - NOT ALL COMMANDS WORK
|
1784
|
+
|
1815
1785
|
The Syncify CLI supports the following commands.
|
1816
1786
|
|
1817
1787
|
```bash
|
package/types/cli.d.ts
CHANGED
@@ -468,6 +468,20 @@ export interface Commands {
|
|
468
468
|
* ```
|
469
469
|
*/
|
470
470
|
bump?: string;
|
471
|
+
/**
|
472
|
+
* Runs view transforms only (i.e: `.liquid` and `.json` files)
|
473
|
+
* ---
|
474
|
+
*
|
475
|
+
* Example:
|
476
|
+
*
|
477
|
+
* ```bash
|
478
|
+
* $ syncify --views # executes build
|
479
|
+
* $ syncify -w --views # executes in watch mode
|
480
|
+
* $ syncify --views --prod # executes build with minify
|
481
|
+
* $ syncify --views --terse # executes build with minify
|
482
|
+
* ```
|
483
|
+
*/
|
484
|
+
views?: boolean;
|
471
485
|
/**
|
472
486
|
* Runs the script transform only
|
473
487
|
* ---
|
@@ -478,7 +492,7 @@ export interface Commands {
|
|
478
492
|
* $ syncify --script # executes build
|
479
493
|
* $ syncify -w --script # executes in watch mode
|
480
494
|
* $ syncify --script --prod # executes build with minify
|
481
|
-
* $ syncify --script --
|
495
|
+
* $ syncify --script --terse # executes build with minify
|
482
496
|
* ```
|
483
497
|
*/
|
484
498
|
script?: boolean;
|
@@ -492,7 +506,7 @@ export interface Commands {
|
|
492
506
|
* $ syncify --style # executes build
|
493
507
|
* $ syncify -w --style # executes in watch mode
|
494
508
|
* $ syncify --style --prod # executes build with minify
|
495
|
-
* $ syncify --style --
|
509
|
+
* $ syncify --style --terse # executes build with minify
|
496
510
|
* ```
|
497
511
|
*/
|
498
512
|
style?: boolean;
|
@@ -506,7 +520,7 @@ export interface Commands {
|
|
506
520
|
* $ syncify --svg # executes build
|
507
521
|
* $ syncify -w --svg # executes in watch mode
|
508
522
|
* $ syncify --svg --prod # executes build with minify
|
509
|
-
* $ syncify --svg --
|
523
|
+
* $ syncify --svg --terse # executes build with minify
|
510
524
|
* ```
|
511
525
|
*/
|
512
526
|
svg?: boolean;
|
@@ -520,7 +534,7 @@ export interface Commands {
|
|
520
534
|
* $ syncify --image # executes build
|
521
535
|
* $ syncify -w --image # executes in watch mode
|
522
536
|
* $ syncify --image --prod # executes build with minify
|
523
|
-
* $ syncify --image --
|
537
|
+
* $ syncify --image --terse # executes build with minify
|
524
538
|
* ```
|
525
539
|
*/
|
526
540
|
image?: boolean;
|