@loopress/cli 0.32.1 → 0.33.0
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/README.md +511 -154
- package/dist/commands/acf/list.d.ts +1 -1
- package/dist/commands/acf/list.js +3 -4
- package/dist/commands/acf/pull.d.ts +1 -1
- package/dist/commands/acf/pull.js +9 -6
- package/dist/commands/acf/push.d.ts +1 -1
- package/dist/commands/acf/push.js +5 -4
- package/dist/commands/api/publish.js +2 -1
- package/dist/commands/app/pull.js +2 -1
- package/dist/commands/app/push.js +5 -4
- package/dist/commands/app/{remove.d.ts → rm.d.ts} +1 -0
- package/dist/commands/app/{remove.js → rm.js} +2 -1
- package/dist/commands/block/diff.d.ts +2 -0
- package/dist/commands/block/diff.js +5 -0
- package/dist/commands/block/list.d.ts +8 -0
- package/dist/commands/block/list.js +23 -0
- package/dist/commands/block/pull.d.ts +21 -0
- package/dist/commands/block/pull.js +67 -0
- package/dist/commands/block/push.d.ts +20 -0
- package/dist/commands/block/push.js +48 -0
- package/dist/commands/block/rm.d.ts +23 -0
- package/dist/commands/block/rm.js +69 -0
- package/dist/commands/block/rollback.d.ts +2 -0
- package/dist/commands/block/rollback.js +5 -0
- package/dist/commands/composer/init.js +1 -0
- package/dist/commands/composer/push.js +5 -4
- package/dist/commands/content/copy.d.ts +3 -0
- package/dist/commands/content/copy.js +79 -2
- package/dist/commands/dev.js +4 -3
- package/dist/commands/diff.d.ts +1 -0
- package/dist/commands/diff.js +33 -3
- package/dist/commands/doctor.d.ts +4 -2
- package/dist/commands/doctor.js +37 -23
- package/dist/commands/form/pull.js +7 -5
- package/dist/commands/form/push.js +4 -3
- package/dist/commands/init.js +4 -3
- package/dist/commands/menu/push.js +8 -8
- package/dist/commands/option/list.js +5 -2
- package/dist/commands/option/push.js +2 -1
- package/dist/commands/option/{remove.d.ts → rm.d.ts} +1 -0
- package/dist/commands/option/{remove.js → rm.js} +2 -1
- package/dist/commands/page/push.js +2 -1
- package/dist/commands/plugin/audit.d.ts +4 -4
- package/dist/commands/plugin/audit.js +35 -15
- package/dist/commands/plugin/pull.js +3 -2
- package/dist/commands/plugin/push.js +2 -2
- package/dist/commands/plugin/status.js +3 -1
- package/dist/commands/project/config.js +7 -6
- package/dist/commands/project/pull.js +3 -1
- package/dist/commands/project/push.js +6 -4
- package/dist/commands/project/{remove.d.ts → rm.d.ts} +1 -0
- package/dist/commands/project/{remove.js → rm.js} +3 -2
- package/dist/commands/project/switch.js +6 -4
- package/dist/commands/promote.js +7 -2
- package/dist/commands/pull.d.ts +2 -0
- package/dist/commands/pull.js +42 -18
- package/dist/commands/push.d.ts +2 -1
- package/dist/commands/push.js +69 -25
- package/dist/commands/snippet/publish.js +9 -5
- package/dist/commands/snippet/push.d.ts +1 -1
- package/dist/commands/snippet/push.js +15 -12
- package/dist/commands/status.js +1 -0
- package/dist/commands/theme/activate.d.ts +21 -0
- package/dist/commands/theme/activate.js +44 -0
- package/dist/commands/theme/pull.js +2 -1
- package/dist/commands/theme/push.js +7 -3
- package/dist/commands/theme/style/push.js +7 -2
- package/dist/commands/theme/template/push.js +25 -6
- package/dist/config/auth.manager.d.ts +10 -7
- package/dist/config/auth.manager.js +5 -1
- package/dist/config/json-file.d.ts +1 -1
- package/dist/config/project-config.manager.d.ts +2 -2
- package/dist/config/project-config.manager.js +13 -21
- package/dist/lib/api-client.js +16 -21
- package/dist/lib/app-build.js +6 -2
- package/dist/lib/app-manifest.js +6 -6
- package/dist/lib/base.d.ts +2 -1
- package/dist/lib/base.js +10 -8
- package/dist/lib/bootstrap-full-install.js +8 -6
- package/dist/lib/capabilities.d.ts +44 -0
- package/dist/lib/capabilities.js +85 -0
- package/dist/lib/declared-type-command.js +4 -2
- package/dist/lib/dev-watch.js +5 -5
- package/dist/lib/diff-command.d.ts +2 -3
- package/dist/lib/diff-command.js +9 -7
- package/dist/lib/diff-state.js +2 -3
- package/dist/lib/load-files.js +2 -1
- package/dist/lib/load-snippets.js +37 -42
- package/dist/lib/local-callback-server.js +7 -1
- package/dist/lib/narrow.d.ts +5 -0
- package/dist/lib/narrow.js +26 -0
- package/dist/lib/php-files-command.js +8 -5
- package/dist/lib/plugin-detection.d.ts +0 -1
- package/dist/lib/plugin-detection.js +2 -4
- package/dist/lib/push-command.d.ts +1 -1
- package/dist/lib/push-command.js +19 -7
- package/dist/lib/put-or-create.d.ts +2 -2
- package/dist/lib/readdir-tolerant.js +3 -1
- package/dist/lib/resource-state.d.ts +1 -1
- package/dist/lib/resource-state.js +58 -19
- package/dist/lib/rollback-command.d.ts +1 -1
- package/dist/lib/rollback-command.js +3 -2
- package/dist/lib/rollback-materialize.js +28 -8
- package/dist/lib/rotate-app-password.js +1 -0
- package/dist/lib/sentry.js +2 -2
- package/dist/lib/snapshot-store.d.ts +10 -7
- package/dist/lib/snapshot-store.js +21 -5
- package/dist/lib/spinner.js +4 -0
- package/dist/lib/validate-local.js +35 -20
- package/dist/lib/wp-client.d.ts +6 -1
- package/dist/lib/wp-client.js +54 -69
- package/dist/lib/wp-site-diagnostic.js +3 -5
- package/dist/types/global-config.generated.d.ts +1 -1
- package/dist/types/plugin.d.ts +7 -5
- package/dist/types/plugin.js +6 -1
- package/dist/types/project-config.generated.d.ts +9 -1
- package/dist/types/snippet.d.ts +2 -2
- package/dist/types/snippet.js +1 -1
- package/dist/utils/acf-format.d.ts +1 -0
- package/dist/utils/acf-format.js +11 -3
- package/dist/utils/block-format.d.ts +27 -0
- package/dist/utils/block-format.js +93 -0
- package/dist/utils/composer.d.ts +7 -15
- package/dist/utils/composer.js +43 -16
- package/dist/utils/declared-type-format.js +26 -19
- package/dist/utils/form-format.js +2 -2
- package/dist/utils/loopress-config.js +9 -1
- package/dist/utils/menu-format.d.ts +3 -1
- package/dist/utils/menu-format.js +5 -0
- package/dist/utils/option-format.d.ts +2 -2
- package/dist/utils/option-format.js +15 -25
- package/dist/utils/page-format.js +7 -6
- package/dist/utils/php-top-level.js +15 -4
- package/dist/utils/plugin-sync.d.ts +7 -7
- package/dist/utils/plugin-sync.js +11 -11
- package/dist/utils/plugins.js +9 -6
- package/dist/utils/resource-dirs.d.ts +2 -0
- package/dist/utils/resource-dirs.js +9 -1
- package/dist/utils/snippet-format.d.ts +1 -1
- package/dist/utils/snippet-format.js +5 -3
- package/dist/utils/template-format.js +2 -2
- package/dist/utils/theme-css.js +14 -6
- package/dist/utils/theme-styles-format.d.ts +3 -0
- package/dist/utils/theme-styles-format.js +44 -6
- package/dist/utils/version.js +1 -1
- package/oclif.manifest.json +1588 -1043
- package/package.json +42 -17
- package/schemas/global-config.schema.json +1 -1
- package/schemas/project-config.schema.json +11 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopress/cli",
|
|
3
3
|
"description": "Build, review and ship WordPress, in one loop: pull, diff, push and roll back a site's code and config from git",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.33.0",
|
|
5
5
|
"author": "jean-smaug",
|
|
6
6
|
"bin": {
|
|
7
7
|
"loopress": "bin/run.js",
|
|
@@ -11,38 +11,40 @@
|
|
|
11
11
|
"url": "https://github.com/loopress/loopress/issues"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@inquirer/prompts": "^8.7.
|
|
15
|
-
"@oclif/core": "^5.1.
|
|
16
|
-
"@oclif/plugin-help": "^7.0.
|
|
17
|
-
"@oclif/plugin-warn-if-update-available": "^4.0.
|
|
18
|
-
"@sentry/node": "^11.
|
|
14
|
+
"@inquirer/prompts": "^8.7.4",
|
|
15
|
+
"@oclif/core": "^5.1.9",
|
|
16
|
+
"@oclif/plugin-help": "^7.0.5",
|
|
17
|
+
"@oclif/plugin-warn-if-update-available": "^4.0.5",
|
|
18
|
+
"@sentry/node": "^11.9.0",
|
|
19
19
|
"chokidar": "^5.0.0",
|
|
20
20
|
"compare-versions": "^6.1.1",
|
|
21
21
|
"diff": "^9.0.0",
|
|
22
22
|
"esbuild": "0.28.2",
|
|
23
|
-
"got": "^16.
|
|
24
|
-
"listr2": "^11.
|
|
23
|
+
"got": "^16.1.0",
|
|
24
|
+
"listr2": "^11.4.0",
|
|
25
25
|
"microdiff": "^1.6.0",
|
|
26
26
|
"open": "^11.0.4",
|
|
27
|
-
"playwright-core": "^1.64.
|
|
27
|
+
"playwright-core": "^1.64.1",
|
|
28
28
|
"slugify": "^1.6.9",
|
|
29
29
|
"tty-table": "^5.0.0",
|
|
30
|
-
"write-file-atomic": "^8.0.0"
|
|
30
|
+
"write-file-atomic": "^8.0.0",
|
|
31
|
+
"zod": "^4.6.7"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
|
-
"@oclif/prettier-config": "^0.2.
|
|
34
|
-
"@stryker-mutator/core": "^10.
|
|
35
|
-
"@stryker-mutator/vitest-runner": "^10.
|
|
34
|
+
"@oclif/prettier-config": "^0.2.2",
|
|
35
|
+
"@stryker-mutator/core": "^10.1.1",
|
|
36
|
+
"@stryker-mutator/vitest-runner": "^10.1.1",
|
|
36
37
|
"@types/node": "26.6.5",
|
|
37
38
|
"@types/write-file-atomic": "^4.0.3",
|
|
38
39
|
"@vitest/coverage-v8": "^4.1.11",
|
|
39
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
40
|
-
"eslint": "^10.
|
|
40
|
+
"@vitest/eslint-plugin": "^1.6.28",
|
|
41
|
+
"eslint": "^10.13.0",
|
|
41
42
|
"eslint-config-oclif": "^7.1.10",
|
|
42
43
|
"eslint-config-prettier": "^10",
|
|
44
|
+
"eslint-plugin-regexp": "^3.3.1",
|
|
43
45
|
"eslint-plugin-sonarjs": "^4.2.2",
|
|
44
46
|
"json-schema-to-typescript": "^16.0.0",
|
|
45
|
-
"oclif": "^6.0.
|
|
47
|
+
"oclif": "^6.0.10",
|
|
46
48
|
"prettier": "3.9.10",
|
|
47
49
|
"shx": "^0.4.0",
|
|
48
50
|
"ts-node": "10.9.2",
|
|
@@ -61,6 +63,11 @@
|
|
|
61
63
|
],
|
|
62
64
|
"homepage": "https://github.com/loopress/loopress",
|
|
63
65
|
"keywords": [
|
|
66
|
+
"wordpress",
|
|
67
|
+
"git",
|
|
68
|
+
"deploy",
|
|
69
|
+
"acf",
|
|
70
|
+
"cli",
|
|
64
71
|
"oclif"
|
|
65
72
|
],
|
|
66
73
|
"license": "MPL-2.0",
|
|
@@ -104,6 +111,9 @@
|
|
|
104
111
|
"api": {
|
|
105
112
|
"description": "Manage custom WordPress REST API routes"
|
|
106
113
|
},
|
|
114
|
+
"app": {
|
|
115
|
+
"description": "Build and ship single-page app bundles (Vue, React, Svelte...), mounted with a shortcode"
|
|
116
|
+
},
|
|
107
117
|
"content": {
|
|
108
118
|
"description": "Copy an environment's content (posts, pages, terms) into the local site, never the reverse"
|
|
109
119
|
},
|
|
@@ -113,6 +123,21 @@
|
|
|
113
123
|
"composer": {
|
|
114
124
|
"description": "Sync composer.json and composer.lock between your project and WordPress"
|
|
115
125
|
},
|
|
126
|
+
"form": {
|
|
127
|
+
"description": "Manage WPForms forms"
|
|
128
|
+
},
|
|
129
|
+
"hook": {
|
|
130
|
+
"description": "Manage hook files: WordPress actions, filters and cron events"
|
|
131
|
+
},
|
|
132
|
+
"menu": {
|
|
133
|
+
"description": "Manage nav menus and their theme locations"
|
|
134
|
+
},
|
|
135
|
+
"option": {
|
|
136
|
+
"description": "Manage the wp_options rows the project tracks, only the ones added with lps option add"
|
|
137
|
+
},
|
|
138
|
+
"page": {
|
|
139
|
+
"description": "Manage static HTML pages rendered inside the theme's header and footer"
|
|
140
|
+
},
|
|
116
141
|
"plugin": {
|
|
117
142
|
"description": "Manage WordPress.org plugins tracked in loopress.json"
|
|
118
143
|
},
|
|
@@ -123,7 +148,7 @@
|
|
|
123
148
|
"description": "Manage WordPress code snippets"
|
|
124
149
|
},
|
|
125
150
|
"theme": {
|
|
126
|
-
"description": "Manage everything theme related: versions, block templates and parts, Global Styles
|
|
151
|
+
"description": "Manage everything theme related: versions, block templates and parts, Global Styles, and activating the Loopress child theme"
|
|
127
152
|
},
|
|
128
153
|
"theme:template": {
|
|
129
154
|
"description": "Manage block templates and template parts, written as the files of the <parent>-loopress child theme"
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
},
|
|
92
92
|
"token": {
|
|
93
93
|
"type": "string",
|
|
94
|
-
"description": "
|
|
94
|
+
"description": "WordPress Application Password credentials for this environment, as \"user:password\". Not the Loopress account token."
|
|
95
95
|
},
|
|
96
96
|
"url": {
|
|
97
97
|
"type": "string",
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
"description": "Directory where custom API route files are read from and written to, relative to rootDir.",
|
|
35
35
|
"default": "api"
|
|
36
36
|
},
|
|
37
|
+
"blockDir": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Directory of dynamic blocks, one <slug>/ folder holding block.json and render.php, registered as loopress/<slug>, relative to rootDir.",
|
|
40
|
+
"default": "blocks"
|
|
41
|
+
},
|
|
37
42
|
"hooksDir": {
|
|
38
43
|
"type": "string",
|
|
39
44
|
"description": "Directory where hook files (WordPress actions, filters, and scheduled tasks) are read from and written to, relative to rootDir.",
|
|
@@ -138,9 +143,14 @@
|
|
|
138
143
|
}
|
|
139
144
|
]
|
|
140
145
|
},
|
|
146
|
+
"activateChildTheme": {
|
|
147
|
+
"type": "boolean",
|
|
148
|
+
"description": "Keep the Loopress child theme (<parent>-loopress) active: `lps theme template push`, and so `lps push`, activates it when it isn't. Off by default, a theme switch changes the settings WordPress stores per theme.",
|
|
149
|
+
"default": false
|
|
150
|
+
},
|
|
141
151
|
"themes": {
|
|
142
152
|
"type": "object",
|
|
143
|
-
"description": "WordPress.org themes managed by Loopress, installed via Composer + WPackagist on the site. Keys are theme slugs; values are an exact version or \"latest\". Loopress manages installed theme versions only, it never switches the active theme. Ignored when a composer.json exists in rootDir.",
|
|
153
|
+
"description": "WordPress.org themes managed by Loopress, installed via Composer + WPackagist on the site. Keys are theme slugs; values are an exact version or \"latest\". Loopress manages installed theme versions only, it never switches the active theme (see activateChildTheme and `lps theme activate`). Ignored when a composer.json exists in rootDir.",
|
|
144
154
|
"additionalProperties": {
|
|
145
155
|
"type": "string",
|
|
146
156
|
"examples": ["3.4.0", "latest"]
|