@maizzle/framework 6.0.0-rc.22 β 6.0.0-rc.23
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/build.d.ts.map +1 -1
- package/dist/build.js +11 -0
- package/dist/build.js.map +1 -1
- package/dist/components/Heading.vue +1 -1
- package/dist/components/Img.vue +60 -10
- package/dist/components/Link.vue +1 -1
- package/dist/components/Preheader.vue +4 -2
- package/dist/components/Tailwind.vue +4 -2
- package/dist/components/Text.vue +1 -1
- package/dist/components/Vml.vue +354 -0
- package/dist/components/utils.d.ts.map +1 -1
- package/dist/components/utils.js.map +1 -1
- package/dist/composables/defineConfig.js.map +1 -1
- package/dist/composables/renderContext.d.ts.map +1 -1
- package/dist/composables/renderContext.js.map +1 -1
- package/dist/composables/useBaseUrl.d.ts.map +1 -1
- package/dist/composables/useBaseUrl.js.map +1 -1
- package/dist/composables/useConfig.d.ts.map +1 -1
- package/dist/composables/useConfig.js.map +1 -1
- package/dist/composables/useCurrentTemplate.d.ts.map +1 -1
- package/dist/composables/useCurrentTemplate.js +10 -3
- package/dist/composables/useCurrentTemplate.js.map +1 -1
- package/dist/composables/useDoctype.d.ts.map +1 -1
- package/dist/composables/useDoctype.js.map +1 -1
- package/dist/composables/useEvent.js.map +1 -1
- package/dist/composables/useFont.d.ts.map +1 -1
- package/dist/composables/useFont.js.map +1 -1
- package/dist/composables/useOutlookFallback.d.ts.map +1 -1
- package/dist/composables/useOutlookFallback.js.map +1 -1
- package/dist/composables/usePlaintext.d.ts.map +1 -1
- package/dist/composables/usePlaintext.js.map +1 -1
- package/dist/composables/usePreheader.d.ts.map +1 -1
- package/dist/composables/usePreheader.js.map +1 -1
- package/dist/composables/useTransformers.d.ts.map +1 -1
- package/dist/composables/useTransformers.js.map +1 -1
- package/dist/composables/useUrlQuery.d.ts.map +1 -1
- package/dist/composables/useUrlQuery.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.js +12 -0
- package/dist/config/index.js.map +1 -1
- package/dist/events/index.d.ts +5 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -0
- package/dist/events/index.js.map +1 -1
- package/dist/plaintext.d.ts.map +1 -1
- package/dist/plaintext.js.map +1 -1
- package/dist/plugin.js.map +1 -1
- package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -1
- package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -1
- package/dist/plugins/postcss/pruneVars.d.ts.map +1 -1
- package/dist/plugins/postcss/pruneVars.js.map +1 -1
- package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -1
- package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -1
- package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -1
- package/dist/plugins/postcss/removeDeclarations.js.map +1 -1
- package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -1
- package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -1
- package/dist/plugins/postcss/resolveProps.d.ts.map +1 -1
- package/dist/plugins/postcss/resolveProps.js +14 -0
- package/dist/plugins/postcss/resolveProps.js.map +1 -1
- package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -1
- package/dist/plugins/postcss/tailwindCleanup.js.map +1 -1
- package/dist/prepare.d.ts.map +1 -1
- package/dist/prepare.js.map +1 -1
- package/dist/render/active.d.ts.map +1 -1
- package/dist/render/active.js.map +1 -1
- package/dist/render/createRenderer.d.ts.map +1 -1
- package/dist/render/createRenderer.js +89 -1
- package/dist/render/createRenderer.js.map +1 -1
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +6 -0
- package/dist/render/index.js.map +1 -1
- package/dist/render/injectFonts.js.map +1 -1
- package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -1
- package/dist/render/plugins/codeBlockExtract.js +4 -0
- package/dist/render/plugins/codeBlockExtract.js.map +1 -1
- package/dist/render/plugins/markdownExtract.d.ts.map +1 -1
- package/dist/render/plugins/markdownExtract.js.map +1 -1
- package/dist/render/plugins/rawExtract.d.ts.map +1 -1
- package/dist/render/plugins/rawExtract.js.map +1 -1
- package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -1
- package/dist/render/plugins/rowSourceLocation.js.map +1 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +48 -15
- package/dist/serve.js.map +1 -1
- package/dist/server/compatibility.d.ts.map +1 -1
- package/dist/server/compatibility.js +48 -0
- package/dist/server/compatibility.js.map +1 -1
- package/dist/server/email.js.map +1 -1
- package/dist/server/linter.js +6 -0
- package/dist/server/linter.js.map +1 -1
- package/dist/server/sfc-utils.d.ts.map +1 -1
- package/dist/server/sfc-utils.js.map +1 -1
- package/dist/server/ui/App.vue +17 -16
- package/dist/server/ui/components/Markdown.vue +17 -0
- package/dist/server/ui/components/SidebarClose.vue +1 -1
- package/dist/server/ui/components/ui/checkbox/Checkbox.vue +1 -1
- package/dist/server/ui/components/ui/command/CommandInput.vue +2 -2
- package/dist/server/ui/components/ui/dialog/DialogContent.vue +1 -1
- package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -1
- package/dist/server/ui/components/ui/sheet/SheetContent.vue +1 -1
- package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +1 -1
- package/dist/server/ui/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
- package/dist/server/ui/lib/emulated-dark-mode.ts +25 -10
- package/dist/server/ui/pages/Home.vue +1 -1
- package/dist/server/ui/pages/Preview.vue +32 -18
- package/dist/tests/render/_helpers.js.map +1 -1
- package/dist/transformers/addAttributes.d.ts.map +1 -1
- package/dist/transformers/addAttributes.js.map +1 -1
- package/dist/transformers/attributeToStyle.d.ts.map +1 -1
- package/dist/transformers/attributeToStyle.js.map +1 -1
- package/dist/transformers/base.d.ts.map +1 -1
- package/dist/transformers/base.js +4 -0
- package/dist/transformers/base.js.map +1 -1
- package/dist/transformers/columnWidth.d.ts.map +1 -1
- package/dist/transformers/columnWidth.js.map +1 -1
- package/dist/transformers/entities.d.ts.map +1 -1
- package/dist/transformers/entities.js.map +1 -1
- package/dist/transformers/filters/defaults.d.ts.map +1 -1
- package/dist/transformers/filters/defaults.js.map +1 -1
- package/dist/transformers/filters/index.d.ts.map +1 -1
- package/dist/transformers/filters/index.js.map +1 -1
- package/dist/transformers/format.d.ts.map +1 -1
- package/dist/transformers/format.js.map +1 -1
- package/dist/transformers/index.d.ts.map +1 -1
- package/dist/transformers/index.js +26 -0
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/inlineCss.d.ts.map +1 -1
- package/dist/transformers/inlineCss.js +25 -2
- package/dist/transformers/inlineCss.js.map +1 -1
- package/dist/transformers/inlineLink.d.ts.map +1 -1
- package/dist/transformers/inlineLink.js.map +1 -1
- package/dist/transformers/minify.d.ts.map +1 -1
- package/dist/transformers/minify.js.map +1 -1
- package/dist/transformers/minifyCodeInline.d.ts.map +1 -1
- package/dist/transformers/minifyCodeInline.js.map +1 -1
- package/dist/transformers/msoPlaceholders.d.ts.map +1 -1
- package/dist/transformers/msoPlaceholders.js.map +1 -1
- package/dist/transformers/purgeCss.d.ts.map +1 -1
- package/dist/transformers/purgeCss.js +29 -3
- package/dist/transformers/purgeCss.js.map +1 -1
- package/dist/transformers/removeAttributes.d.ts.map +1 -1
- package/dist/transformers/removeAttributes.js.map +1 -1
- package/dist/transformers/replaceStrings.d.ts.map +1 -1
- package/dist/transformers/replaceStrings.js.map +1 -1
- package/dist/transformers/safeSelectors.d.ts.map +1 -1
- package/dist/transformers/safeSelectors.js +13 -1
- package/dist/transformers/safeSelectors.js.map +1 -1
- package/dist/transformers/shorthandCss.d.ts.map +1 -1
- package/dist/transformers/shorthandCss.js.map +1 -1
- package/dist/transformers/sixHex.d.ts.map +1 -1
- package/dist/transformers/sixHex.js.map +1 -1
- package/dist/transformers/tailwindComponent.js +9 -0
- package/dist/transformers/tailwindComponent.js.map +1 -1
- package/dist/transformers/tailwindcss.d.ts.map +1 -1
- package/dist/transformers/tailwindcss.js +22 -0
- package/dist/transformers/tailwindcss.js.map +1 -1
- package/dist/transformers/urlQuery.d.ts.map +1 -1
- package/dist/transformers/urlQuery.js.map +1 -1
- package/dist/types/config.d.ts +4 -8
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/ast/parser.d.ts.map +1 -1
- package/dist/utils/ast/parser.js.map +1 -1
- package/dist/utils/ast/serializer.d.ts.map +1 -1
- package/dist/utils/ast/serializer.js.map +1 -1
- package/dist/utils/ast/walker.d.ts.map +1 -1
- package/dist/utils/ast/walker.js.map +1 -1
- package/dist/utils/compileTailwindCss.d.ts.map +1 -1
- package/dist/utils/compileTailwindCss.js.map +1 -1
- package/dist/utils/componentSources.d.ts.map +1 -1
- package/dist/utils/componentSources.js.map +1 -1
- package/dist/utils/cssBox.d.ts.map +1 -1
- package/dist/utils/cssBox.js.map +1 -1
- package/dist/utils/decodeStyleEntities.d.ts.map +1 -1
- package/dist/utils/decodeStyleEntities.js.map +1 -1
- package/dist/utils/detect.d.ts.map +1 -1
- package/dist/utils/detect.js.map +1 -1
- package/dist/utils/output-markers.d.ts.map +1 -1
- package/dist/utils/output-markers.js.map +1 -1
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/watchPaths.js.map +1 -1
- package/node_modules/@clack/core/CHANGELOG.md +6 -0
- package/node_modules/@clack/core/dist/index.d.mts +1 -1
- package/node_modules/@clack/core/dist/index.mjs +8 -8
- package/node_modules/@clack/core/dist/index.mjs.map +1 -1
- package/node_modules/@clack/core/package.json +1 -1
- package/node_modules/@clack/prompts/CHANGELOG.md +13 -0
- package/node_modules/@clack/prompts/README.md +2 -2
- package/node_modules/@clack/prompts/dist/index.d.mts +98 -0
- package/node_modules/@clack/prompts/dist/index.mjs +122 -121
- package/node_modules/@clack/prompts/dist/index.mjs.map +1 -1
- package/node_modules/@clack/prompts/package.json +2 -2
- package/node_modules/fast-wrap-ansi/lib/main.js +0 -1
- package/node_modules/fast-wrap-ansi/package.json +10 -10
- package/node_modules/maizzle/dist/commands/make/config.mjs +7 -6
- package/node_modules/maizzle/dist/commands/new.mjs +15 -84
- package/node_modules/maizzle/package.json +2 -2
- package/node_modules/tinyexec/README.md +8 -0
- package/node_modules/tinyexec/dist/main.d.mts +16 -1
- package/node_modules/tinyexec/dist/main.mjs +163 -457
- package/node_modules/tinyexec/package.json +12 -14
- package/package.json +3 -4
- package/node_modules/fast-wrap-ansi/lib/main.js.map +0 -1
- package/node_modules/tinyexec/dist/LICENSES.txt +0 -83
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clack/prompts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.mjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"fast-string-width": "^3.0.2",
|
|
54
54
|
"fast-wrap-ansi": "^0.2.0",
|
|
55
55
|
"sisteransi": "^1.0.5",
|
|
56
|
-
"@clack/core": "1.3.
|
|
56
|
+
"@clack/core": "1.3.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"is-unicode-supported": "^1.3.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fast-wrap-ansi",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib"
|
|
6
6
|
],
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"test": "vitest run"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@eslint/js": "^
|
|
37
|
-
"@types/node": "^
|
|
38
|
-
"eslint": "^
|
|
36
|
+
"@eslint/js": "^10.0.1",
|
|
37
|
+
"@types/node": "^25.8.0",
|
|
38
|
+
"eslint": "^10.4.0",
|
|
39
39
|
"fast-wrap-ansi-prod": "npm:fast-wrap-ansi@*",
|
|
40
40
|
"picocolors": "^1.1.1",
|
|
41
|
-
"prettier": "^3.
|
|
42
|
-
"tinybench": "^
|
|
43
|
-
"typescript": "^
|
|
44
|
-
"typescript-eslint": "^8.
|
|
45
|
-
"vitest": "^
|
|
46
|
-
"wrap-ansi": "^
|
|
41
|
+
"prettier": "^3.8.3",
|
|
42
|
+
"tinybench": "^6.0.2",
|
|
43
|
+
"typescript": "^6.0.3",
|
|
44
|
+
"typescript-eslint": "^8.59.3",
|
|
45
|
+
"vitest": "^4.1.6",
|
|
46
|
+
"wrap-ansi": "^10.0.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"fast-string-width": "^3.0.2"
|
|
@@ -4,18 +4,19 @@ import * as p from "@clack/prompts";
|
|
|
4
4
|
//#region src/commands/make/config.ts
|
|
5
5
|
async function makeConfig(name) {
|
|
6
6
|
if (name) {
|
|
7
|
-
await scaffold(
|
|
7
|
+
await scaffold(name, "config.ts");
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
p.intro(`${color.bgCyan(color.black(" maizzle make:config "))}`);
|
|
11
|
-
await scaffold(
|
|
12
|
-
message: "
|
|
13
|
-
placeholder: "
|
|
11
|
+
await scaffold((await p.group({ name: () => p.text({
|
|
12
|
+
message: "File name",
|
|
13
|
+
placeholder: "i.e. maizzle.config.ts",
|
|
14
14
|
validate: (value) => {
|
|
15
|
-
if (!value) return "Please enter a
|
|
15
|
+
if (!value) return "Please enter a file name.";
|
|
16
16
|
if (value.includes(" ")) return "Use - or . instead of spaces.";
|
|
17
|
+
if (!/\.(js|ts)$/.test(value)) return "File must end in .js or .ts";
|
|
17
18
|
}
|
|
18
|
-
}) }, { onCancel })).name
|
|
19
|
+
}) }, { onCancel })).name, "config.ts");
|
|
19
20
|
}
|
|
20
21
|
//#endregion
|
|
21
22
|
export { makeConfig as default };
|
|
@@ -6,53 +6,6 @@ import { existsSync } from "node:fs";
|
|
|
6
6
|
import { execSync } from "node:child_process";
|
|
7
7
|
import { installDependencies } from "nypm";
|
|
8
8
|
//#region src/commands/new.ts
|
|
9
|
-
const starters = [
|
|
10
|
-
{
|
|
11
|
-
label: "Default",
|
|
12
|
-
value: "maizzle/maizzle",
|
|
13
|
-
path: "gh:maizzle/maizzle#master"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
label: "v4.x",
|
|
17
|
-
value: "maizzle/starter-v4",
|
|
18
|
-
path: "gh:maizzle/starter-v4#master"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
label: "API",
|
|
22
|
-
value: "maizzle/starter-api",
|
|
23
|
-
path: "gh:maizzle/starter-api#main"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
label: "AMP4Email",
|
|
27
|
-
value: "maizzle/starter-amp4email",
|
|
28
|
-
path: "gh:maizzle/starter-amp4email#master"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
label: "Liquid",
|
|
32
|
-
value: "maizzle/starter-liquid",
|
|
33
|
-
path: "gh:maizzle/starter-liquid#master"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
label: "Mailchimp",
|
|
37
|
-
value: "maizzle/starter-mailchimp",
|
|
38
|
-
path: "gh:maizzle/starter-mailchimp#main"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: "Markdown",
|
|
42
|
-
value: "maizzle/starter-markdown",
|
|
43
|
-
path: "gh:maizzle/starter-markdown#main"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
label: "RSS",
|
|
47
|
-
value: "maizzle/starter-rss",
|
|
48
|
-
path: "gh:maizzle/starter-rss#master"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: "WordPress API",
|
|
52
|
-
value: "maizzle/starter-wordpress-api",
|
|
53
|
-
path: "gh:maizzle/starter-wordpress-api#master"
|
|
54
|
-
}
|
|
55
|
-
];
|
|
56
9
|
function renderHeader() {
|
|
57
10
|
const lines = [
|
|
58
11
|
" ββββ ββββ ββββββ βββ ββββββββ ββββββββ βββ ββββββββ",
|
|
@@ -169,41 +122,21 @@ async function newProject(starterArg, dirArg, options = {}) {
|
|
|
169
122
|
starter: async () => {
|
|
170
123
|
const starter = await p.select({
|
|
171
124
|
message: "Select a Starter",
|
|
172
|
-
initialValue: "maizzle/maizzle",
|
|
173
|
-
options: [
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
]
|
|
125
|
+
initialValue: "maizzle/maizzle#next",
|
|
126
|
+
options: [{
|
|
127
|
+
value: "maizzle/maizzle#next",
|
|
128
|
+
label: "Default"
|
|
129
|
+
}, {
|
|
130
|
+
value: "custom",
|
|
131
|
+
label: "Custom"
|
|
132
|
+
}]
|
|
133
|
+
});
|
|
134
|
+
if (starter === "custom") return p.text({
|
|
135
|
+
message: "Enter a GitHub `user/repo` path or a full Git repository URL.",
|
|
136
|
+
validate: (value) => {
|
|
137
|
+
if (!value) return "Please enter a value.";
|
|
138
|
+
}
|
|
187
139
|
});
|
|
188
|
-
if (starter === "maizzle6-beta") return "maizzle/maizzle#next";
|
|
189
|
-
if (starter === "custom") {
|
|
190
|
-
const customStarter = await p.select({
|
|
191
|
-
message: "Select a custom Starter",
|
|
192
|
-
initialValue: "maizzle/maizzle",
|
|
193
|
-
options: [...starters, {
|
|
194
|
-
value: "git",
|
|
195
|
-
label: "Git",
|
|
196
|
-
hint: "user/repo"
|
|
197
|
-
}]
|
|
198
|
-
});
|
|
199
|
-
if (customStarter === "git") return p.text({
|
|
200
|
-
message: "Enter a `user/repo` path or a full Git repository URL.",
|
|
201
|
-
validate: (value) => {
|
|
202
|
-
if (!value) return "Please enter a value.";
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
return customStarter;
|
|
206
|
-
}
|
|
207
140
|
return starter;
|
|
208
141
|
},
|
|
209
142
|
install: () => p.confirm({
|
|
@@ -216,8 +149,6 @@ async function newProject(starterArg, dirArg, options = {}) {
|
|
|
216
149
|
process.exit(0);
|
|
217
150
|
} });
|
|
218
151
|
}
|
|
219
|
-
const starter = starters.find((s) => s.value === project.starter);
|
|
220
|
-
const source = starter ? starter.path : project.starter;
|
|
221
152
|
if (project.install) try {
|
|
222
153
|
execSync(`${project.pm} --version`, { stdio: "ignore" });
|
|
223
154
|
} catch {
|
|
@@ -227,7 +158,7 @@ async function newProject(starterArg, dirArg, options = {}) {
|
|
|
227
158
|
await p.tasks([{
|
|
228
159
|
title: "Creating project",
|
|
229
160
|
task: async () => {
|
|
230
|
-
await downloadTemplate(
|
|
161
|
+
await downloadTemplate(project.starter.includes(":") ? project.starter : `gh:${project.starter}`, { dir: project.path });
|
|
231
162
|
await rm(`${project.path}/.github`, {
|
|
232
163
|
recursive: true,
|
|
233
164
|
force: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maizzle",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "CLI tool for the Maizzle Email Framework",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^25.2.3",
|
|
37
37
|
"@vitest/coverage-v8": "^4.1.3",
|
|
38
|
-
"tsdown": "^0.
|
|
38
|
+
"tsdown": "^0.22.0",
|
|
39
39
|
"typescript": "^6.0.2",
|
|
40
40
|
"vitest": "^4.1.3"
|
|
41
41
|
},
|
|
@@ -63,6 +63,7 @@ The options object can have the following properties:
|
|
|
63
63
|
- `stdin` - `string` or another `Result` that will be used as the input to the process
|
|
64
64
|
- `nodeOptions` - any valid options to node's underlying `spawn` function
|
|
65
65
|
- `throwOnError` - if true, non-zero exit codes will throw an error
|
|
66
|
+
- `nodePath` - if `false`, `node_modules/.bin` directories and the current node executable's directory will not be prepended to `PATH` (defaults to `true`)
|
|
66
67
|
|
|
67
68
|
### Passing a string to stdin
|
|
68
69
|
|
|
@@ -123,6 +124,13 @@ await x('eslint', ['.']);
|
|
|
123
124
|
|
|
124
125
|
In this example, `eslint` will come from the locally installed `node_modules`.
|
|
125
126
|
|
|
127
|
+
If you'd rather not have `node_modules/.bin` (or the directory of the current
|
|
128
|
+
`node` executable) prepended to `PATH`, pass `nodePath: false`:
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
await x('eslint', ['.'], {nodePath: false});
|
|
132
|
+
```
|
|
133
|
+
|
|
126
134
|
### Using an abort signal
|
|
127
135
|
|
|
128
136
|
An abort signal can be passed to a process in order to abort it at a later
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { ChildProcess, SpawnOptions, SpawnSyncOptions } from "node:child_process";
|
|
2
2
|
import { Readable } from "node:stream";
|
|
3
3
|
|
|
4
|
+
//#region src/normalize.d.ts
|
|
5
|
+
interface NormalizedSpawnCommand {
|
|
6
|
+
command: string;
|
|
7
|
+
args: readonly string[];
|
|
8
|
+
options: SpawnOptions;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Normalizes the command and arguments to work cross-platform.
|
|
12
|
+
* On Windows, this basically handles things like shebangs, calling
|
|
13
|
+
* `node_modules/.bin` commands, and escaping meta characters.
|
|
14
|
+
* On other platforms, it just returns the command and arguments as-is.
|
|
15
|
+
*/
|
|
16
|
+
declare function normalizeSpawnCommand(command: string, args?: readonly string[], options?: SpawnOptions): NormalizedSpawnCommand;
|
|
17
|
+
//#endregion
|
|
4
18
|
//#region src/non-zero-exit-error.d.ts
|
|
5
19
|
declare class NonZeroExitError extends Error {
|
|
6
20
|
readonly result: CommonOutputApi;
|
|
@@ -34,6 +48,7 @@ type SyncResult = Output & OutputApiSync;
|
|
|
34
48
|
interface CommonOptions {
|
|
35
49
|
timeout: number;
|
|
36
50
|
throwOnError: boolean;
|
|
51
|
+
nodePath: boolean;
|
|
37
52
|
}
|
|
38
53
|
interface Options extends CommonOptions {
|
|
39
54
|
signal: AbortSignal;
|
|
@@ -79,4 +94,4 @@ declare const x: TinyExec;
|
|
|
79
94
|
declare const exec: TinyExec;
|
|
80
95
|
declare const execSync: typeof xSync;
|
|
81
96
|
//#endregion
|
|
82
|
-
export { CommonOptions, CommonOutputApi, ExecProcess, KillSignal, NonZeroExitError, Options, Output, OutputApi, OutputApiSync, PipeOptions, Result, SyncOptions, SyncResult, TinyExec, exec, execSync, x, xSync };
|
|
97
|
+
export { CommonOptions, CommonOutputApi, ExecProcess, KillSignal, NonZeroExitError, Options, Output, OutputApi, OutputApiSync, PipeOptions, Result, SyncOptions, SyncResult, TinyExec, exec, execSync, normalizeSpawnCommand, x, xSync };
|