ezx 0.0.7 → 0.0.8
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 +81 -16
- package/dist/preprocessor.d.ts +13 -0
- package/dist/preprocessor.d.ts.map +1 -1
- package/dist/preprocessor.js +104 -27
- package/dist/preprocessor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,10 +54,12 @@ pwd
|
|
|
54
54
|
|
|
55
55
|
### 3. File Extraction
|
|
56
56
|
|
|
57
|
-
Extract code blocks to files using
|
|
57
|
+
Extract code blocks to files using the `file:` directive in a preceding blockquote. The file path can optionally be wrapped in backticks.
|
|
58
|
+
|
|
59
|
+
> ⚠️ **Breaking Change**: The `file:` prefix is now **required**. The old syntax `> `filename`` without the prefix no longer works.
|
|
58
60
|
|
|
59
61
|
```markdown
|
|
60
|
-
> `package.json`
|
|
62
|
+
> file: `package.json`
|
|
61
63
|
|
|
62
64
|
```json
|
|
63
65
|
{
|
|
@@ -67,10 +69,10 @@ Extract code blocks to files using a preceding blockquote with the file path. Th
|
|
|
67
69
|
```
|
|
68
70
|
```
|
|
69
71
|
|
|
70
|
-
Or
|
|
72
|
+
Or without backticks:
|
|
71
73
|
|
|
72
74
|
```markdown
|
|
73
|
-
>
|
|
75
|
+
> file: package.json
|
|
74
76
|
|
|
75
77
|
```json
|
|
76
78
|
{
|
|
@@ -80,7 +82,7 @@ Or with an optional emoji:
|
|
|
80
82
|
```
|
|
81
83
|
|
|
82
84
|
**JSON:**
|
|
83
|
-
> `my-project/package.json`
|
|
85
|
+
> file: `my-project/package.json`
|
|
84
86
|
|
|
85
87
|
```json
|
|
86
88
|
{
|
|
@@ -90,21 +92,21 @@ Or with an optional emoji:
|
|
|
90
92
|
```
|
|
91
93
|
|
|
92
94
|
**TypeScript/JavaScript:**
|
|
93
|
-
> `my-project/index.ts`
|
|
95
|
+
> file: `my-project/index.ts`
|
|
94
96
|
|
|
95
97
|
```typescript
|
|
96
98
|
console.log("Hello world")
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
**Bash/Shell:**
|
|
100
|
-
> `my-project/.npmrc`
|
|
102
|
+
> file: `my-project/.npmrc`
|
|
101
103
|
|
|
102
104
|
```bash
|
|
103
105
|
shared-workspace-lockfile=false
|
|
104
106
|
```
|
|
105
107
|
|
|
106
108
|
**Markdown:**
|
|
107
|
-
> `my-project/README.md`
|
|
109
|
+
> file: `my-project/README.md`
|
|
108
110
|
|
|
109
111
|
```markdown
|
|
110
112
|
# My Project
|
|
@@ -139,6 +141,57 @@ EZXEOF
|
|
|
139
141
|
|
|
140
142
|
This means if a parent directory doesn't exist, the command will fail (as expected). You should create directories first using `mkdir -p` in a bash block.
|
|
141
143
|
|
|
144
|
+
### 4. Async Bash Execution
|
|
145
|
+
|
|
146
|
+
Run bash commands asynchronously using the `async:` directive. This is useful for starting background processes like development servers.
|
|
147
|
+
|
|
148
|
+
> 💡 zx doesn't support background bash tasks with `&`. The `async:` directive solves this by transforming the bash block to a JavaScript `$` template that runs without `await`.
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
> async: `start dev server`
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run dev
|
|
155
|
+
```
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The text after `async:` is optional and serves as documentation only. Both formats work:
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
> async: `start dev server`
|
|
162
|
+
> async: start dev server
|
|
163
|
+
> async:
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Example:** Running a server in the background while continuing with other tasks:
|
|
167
|
+
|
|
168
|
+
```markdown
|
|
169
|
+
> async: `start server`
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
npm run dev
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# This runs immediately, doesn't wait for the server
|
|
177
|
+
echo "Server starting in background..."
|
|
178
|
+
sleep 2
|
|
179
|
+
curl http://localhost:3000
|
|
180
|
+
```
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**How it works:** The async directive transforms bash blocks into JavaScript blocks using zx's `$` template literal:
|
|
184
|
+
|
|
185
|
+
```javascript
|
|
186
|
+
// Input: async bash block with "npm run dev"
|
|
187
|
+
// Output: JavaScript block
|
|
188
|
+
$`npm run dev`
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The command runs without `await`, so execution continues immediately. zx automatically awaits all pending promises at the end of the script.
|
|
192
|
+
|
|
193
|
+
**Important:** The `async:` directive only works with bash/sh/shell blocks. Using it with other languages will result in an error.
|
|
194
|
+
|
|
142
195
|
## Installation
|
|
143
196
|
|
|
144
197
|
```bash
|
|
@@ -214,7 +267,7 @@ const result = preprocessFile('./script.md', {
|
|
|
214
267
|
|
|
215
268
|
## Example
|
|
216
269
|
|
|
217
|
-
Here's a complete example showing all
|
|
270
|
+
Here's a complete example showing all features:
|
|
218
271
|
|
|
219
272
|
```markdown
|
|
220
273
|
# Setup a new project
|
|
@@ -226,27 +279,39 @@ cd my-app
|
|
|
226
279
|
npm init -y
|
|
227
280
|
\`\`\`
|
|
228
281
|
|
|
229
|
-
> `my-app/package.json`
|
|
282
|
+
> file: `my-app/package.json`
|
|
230
283
|
|
|
231
284
|
\`\`\`json
|
|
232
285
|
{
|
|
233
286
|
"name": "my-app",
|
|
234
287
|
"version": "1.0.0",
|
|
235
288
|
"scripts": {
|
|
236
|
-
"start": "node index.js"
|
|
289
|
+
"start": "node index.js",
|
|
290
|
+
"dev": "node --watch index.js"
|
|
237
291
|
}
|
|
238
292
|
}
|
|
239
293
|
\`\`\`
|
|
240
294
|
|
|
241
|
-
> `my-app/index.
|
|
295
|
+
> file: `my-app/index.js`
|
|
242
296
|
|
|
243
|
-
\`\`\`
|
|
244
|
-
|
|
297
|
+
\`\`\`javascript
|
|
298
|
+
const http = require('http');
|
|
299
|
+
const server = http.createServer((req, res) => {
|
|
300
|
+
res.end('Hello from ezx!');
|
|
301
|
+
});
|
|
302
|
+
server.listen(3000, () => console.log('Server running on port 3000'));
|
|
245
303
|
\`\`\`
|
|
246
304
|
|
|
305
|
+
> async: `start dev server`
|
|
306
|
+
|
|
247
307
|
\`\`\`bash
|
|
248
|
-
npm
|
|
249
|
-
|
|
308
|
+
npm run dev
|
|
309
|
+
\`\`\`
|
|
310
|
+
|
|
311
|
+
\`\`\`bash
|
|
312
|
+
# This runs immediately while server starts in background
|
|
313
|
+
sleep 2
|
|
314
|
+
curl http://localhost:3000
|
|
250
315
|
\`\`\`
|
|
251
316
|
|
|
252
317
|
\`\`\`bash
|
package/dist/preprocessor.d.ts
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directive types supported in blockquotes
|
|
3
|
+
*/
|
|
4
|
+
export type DirectiveType = 'file' | 'async';
|
|
5
|
+
/**
|
|
6
|
+
* Parsed directive from a blockquote line
|
|
7
|
+
*/
|
|
8
|
+
export interface Directive {
|
|
9
|
+
type: DirectiveType;
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
1
12
|
export interface CodeBlock {
|
|
2
13
|
language: string;
|
|
3
14
|
content: string;
|
|
4
15
|
startLine: number;
|
|
5
16
|
endLine: number;
|
|
6
17
|
filePath?: string;
|
|
18
|
+
isAsync?: boolean;
|
|
19
|
+
asyncDescription?: string;
|
|
7
20
|
precedingBlockquoteLine?: number;
|
|
8
21
|
}
|
|
9
22
|
export interface FileExtraction {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;CACjC;AAqBD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC9D;AAiJD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAoNlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAGlB"}
|
package/dist/preprocessor.js
CHANGED
|
@@ -46,27 +46,51 @@ export function sanitizeMarkdownForZx(markdown) {
|
|
|
46
46
|
return output.join('\n');
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
* Supports: > `path/to/file.json` or > 📄 `path/to/file.json`
|
|
49
|
+
* Check if a language is a bash/shell language
|
|
51
50
|
*/
|
|
52
|
-
function
|
|
51
|
+
function isBashLanguage(language) {
|
|
52
|
+
const lang = language.toLowerCase();
|
|
53
|
+
return lang === 'bash' || lang === 'sh' || lang === 'shell';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Extract directive from a blockquote line
|
|
57
|
+
*
|
|
58
|
+
* Supports:
|
|
59
|
+
* - file: directive: > file: `path/to/file.json` or > file: path/to/file.json
|
|
60
|
+
* - async: directive: > async: `description` or > async: description or > async:
|
|
61
|
+
*
|
|
62
|
+
* Note: The old syntax `> `filename`` without a directive prefix is NO LONGER supported.
|
|
63
|
+
* This is a breaking change - use `> file: `filename`` instead.
|
|
64
|
+
*/
|
|
65
|
+
function extractDirectiveFromBlockquote(line) {
|
|
53
66
|
const trimmed = line.trim();
|
|
54
|
-
// Match
|
|
55
|
-
// e.g., >
|
|
56
|
-
const
|
|
57
|
-
if (match) {
|
|
58
|
-
return match[1].trim();
|
|
59
|
-
}
|
|
60
|
-
// Also support: > file: package.json (for backward compatibility with comment style)
|
|
61
|
-
const fileMatch = trimmed.match(/^>\s*(?:[\p{Emoji}]?\s*)?file[:=]\s*(.+)$/iu);
|
|
67
|
+
// Match file: directive with optional backticks
|
|
68
|
+
// e.g., > file: `package.json` or > file: package.json
|
|
69
|
+
const fileMatch = trimmed.match(/^>\s*file:\s*(?:`([^`]+)`|(\S.*?))\s*$/i);
|
|
62
70
|
if (fileMatch) {
|
|
63
|
-
|
|
71
|
+
const value = (fileMatch[1] || fileMatch[2] || '').trim();
|
|
72
|
+
if (!value) {
|
|
73
|
+
return null; // file: requires a path
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
type: 'file',
|
|
77
|
+
value,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Match async: directive with optional backticks
|
|
81
|
+
// e.g., > async: `start server` or > async: start server or > async:
|
|
82
|
+
const asyncMatch = trimmed.match(/^>\s*async:\s*(?:`([^`]*)`|(.*))?\s*$/i);
|
|
83
|
+
if (asyncMatch) {
|
|
84
|
+
return {
|
|
85
|
+
type: 'async',
|
|
86
|
+
value: (asyncMatch[1] || asyncMatch[2] || '').trim(),
|
|
87
|
+
};
|
|
64
88
|
}
|
|
65
89
|
return null;
|
|
66
90
|
}
|
|
67
91
|
/**
|
|
68
92
|
* Parse markdown and extract all code blocks with their line numbers
|
|
69
|
-
* Also extracts file
|
|
93
|
+
* Also extracts directives (file: or async:) from preceding blockquote if present
|
|
70
94
|
*/
|
|
71
95
|
function parseCodeBlocks(markdown) {
|
|
72
96
|
const codeBlocks = [];
|
|
@@ -75,17 +99,30 @@ function parseCodeBlocks(markdown) {
|
|
|
75
99
|
let currentBlock = {};
|
|
76
100
|
let blockStartLine = 0;
|
|
77
101
|
let precedingBlockquoteLine;
|
|
78
|
-
let
|
|
102
|
+
let pendingDirective;
|
|
79
103
|
for (let i = 0; i < lines.length; i++) {
|
|
80
104
|
const line = lines[i];
|
|
81
105
|
// Check for code block start
|
|
82
106
|
if (line.match(/^```/)) {
|
|
83
107
|
if (!inCodeBlock) {
|
|
84
|
-
// Starting a new code block
|
|
108
|
+
// Starting a new code block
|
|
85
109
|
const languageMatch = line.match(/^```(\w*)/);
|
|
110
|
+
const language = languageMatch?.[1] || '';
|
|
111
|
+
// Validate async directive is only used with bash blocks
|
|
112
|
+
if (pendingDirective?.type === 'async' && !isBashLanguage(language)) {
|
|
113
|
+
throw new Error(`[ezx] async: directive error at line ${(precedingBlockquoteLine ?? 0) + 1}\n` +
|
|
114
|
+
`The async: directive can only be used with bash, sh, or shell code blocks.\n` +
|
|
115
|
+
`Found: \`\`\`${language || '(no language specified)'}\n` +
|
|
116
|
+
`\n` +
|
|
117
|
+
`To fix this, either:\n` +
|
|
118
|
+
`1. Change the code block language to bash, sh, or shell\n` +
|
|
119
|
+
`2. Remove the async: directive from the preceding blockquote`);
|
|
120
|
+
}
|
|
86
121
|
currentBlock = {
|
|
87
|
-
language
|
|
88
|
-
filePath:
|
|
122
|
+
language,
|
|
123
|
+
filePath: pendingDirective?.type === 'file' ? pendingDirective.value : undefined,
|
|
124
|
+
isAsync: pendingDirective?.type === 'async',
|
|
125
|
+
asyncDescription: pendingDirective?.type === 'async' ? pendingDirective.value : undefined,
|
|
89
126
|
precedingBlockquoteLine: precedingBlockquoteLine,
|
|
90
127
|
content: '',
|
|
91
128
|
startLine: i,
|
|
@@ -93,7 +130,7 @@ function parseCodeBlocks(markdown) {
|
|
|
93
130
|
inCodeBlock = true;
|
|
94
131
|
blockStartLine = i;
|
|
95
132
|
precedingBlockquoteLine = undefined;
|
|
96
|
-
|
|
133
|
+
pendingDirective = undefined; // Reset for next block
|
|
97
134
|
}
|
|
98
135
|
else {
|
|
99
136
|
// Ending the current code block
|
|
@@ -106,6 +143,8 @@ function parseCodeBlocks(markdown) {
|
|
|
106
143
|
startLine: currentBlock.startLine,
|
|
107
144
|
endLine: i,
|
|
108
145
|
filePath: currentBlock.filePath,
|
|
146
|
+
isAsync: currentBlock.isAsync,
|
|
147
|
+
asyncDescription: currentBlock.asyncDescription,
|
|
109
148
|
precedingBlockquoteLine: currentBlock.precedingBlockquoteLine,
|
|
110
149
|
});
|
|
111
150
|
}
|
|
@@ -114,11 +153,11 @@ function parseCodeBlocks(markdown) {
|
|
|
114
153
|
}
|
|
115
154
|
}
|
|
116
155
|
else if (!inCodeBlock) {
|
|
117
|
-
// Look for blockquote with
|
|
118
|
-
const
|
|
119
|
-
if (
|
|
156
|
+
// Look for blockquote with directive (only outside code blocks)
|
|
157
|
+
const directive = extractDirectiveFromBlockquote(line);
|
|
158
|
+
if (directive) {
|
|
120
159
|
precedingBlockquoteLine = i;
|
|
121
|
-
|
|
160
|
+
pendingDirective = directive;
|
|
122
161
|
}
|
|
123
162
|
}
|
|
124
163
|
else if (inCodeBlock && currentBlock.content !== undefined) {
|
|
@@ -149,11 +188,23 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
149
188
|
const blocksToTransform = new Map();
|
|
150
189
|
// Map of block indices to transform to heredoc
|
|
151
190
|
const blocksToHeredoc = new Map();
|
|
191
|
+
// Map of block indices to transform to async JS
|
|
192
|
+
const blocksToAsync = new Map();
|
|
152
193
|
// Process each code block
|
|
153
194
|
for (let i = 0; i < codeBlocks.length; i++) {
|
|
154
195
|
const block = codeBlocks[i];
|
|
155
|
-
const isBash = block.language
|
|
156
|
-
// Check if this is
|
|
196
|
+
const isBash = isBashLanguage(block.language);
|
|
197
|
+
// Check if this is an async block
|
|
198
|
+
if (block.isAsync) {
|
|
199
|
+
// Transform to async JS block
|
|
200
|
+
blocksToAsync.set(i, {
|
|
201
|
+
content: block.content.trim(),
|
|
202
|
+
directoryPrefix: currentDirectory || undefined,
|
|
203
|
+
description: block.asyncDescription,
|
|
204
|
+
});
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
// Check if this is a file extraction block (file path from file: directive)
|
|
157
208
|
if (block.filePath) {
|
|
158
209
|
// This is a file extraction block - transform to heredoc
|
|
159
210
|
const fileContent = block.content.trim();
|
|
@@ -217,16 +268,16 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
217
268
|
}
|
|
218
269
|
// Build preprocessed markdown
|
|
219
270
|
const preprocessedLines = [];
|
|
220
|
-
// Track lines to skip (blockquote lines that contained
|
|
271
|
+
// Track lines to skip (blockquote lines that contained directives)
|
|
221
272
|
const linesToSkip = new Set();
|
|
222
273
|
for (const block of codeBlocks) {
|
|
223
|
-
if (block.precedingBlockquoteLine !== undefined && block.filePath) {
|
|
274
|
+
if (block.precedingBlockquoteLine !== undefined && (block.filePath || block.isAsync)) {
|
|
224
275
|
linesToSkip.add(block.precedingBlockquoteLine);
|
|
225
276
|
}
|
|
226
277
|
}
|
|
227
278
|
for (let i = 0; i < lines.length; i++) {
|
|
228
279
|
const line = lines[i];
|
|
229
|
-
// Skip blockquote lines that contained
|
|
280
|
+
// Skip blockquote lines that contained directives (they were consumed)
|
|
230
281
|
if (linesToSkip.has(i)) {
|
|
231
282
|
continue;
|
|
232
283
|
}
|
|
@@ -235,6 +286,32 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
235
286
|
const blockIndex = codeBlocks.findIndex((b) => b.startLine === i);
|
|
236
287
|
if (blockIndex !== -1) {
|
|
237
288
|
const block = codeBlocks[blockIndex];
|
|
289
|
+
// Check if this block should be transformed to async JS
|
|
290
|
+
if (blocksToAsync.has(blockIndex)) {
|
|
291
|
+
const asyncBlock = blocksToAsync.get(blockIndex);
|
|
292
|
+
// Transform to JS block with $ template literal
|
|
293
|
+
preprocessedLines.push('```js');
|
|
294
|
+
// Join multiple lines with ; to execute as a single command chain
|
|
295
|
+
// Filter out empty lines and comments that start with #
|
|
296
|
+
const commandLines = asyncBlock.content
|
|
297
|
+
.split('\n')
|
|
298
|
+
.map(line => line.trim())
|
|
299
|
+
.filter(line => line && !line.startsWith('#'));
|
|
300
|
+
let command = commandLines.join('; ');
|
|
301
|
+
// Add cd prefix if we have a directory context
|
|
302
|
+
if (asyncBlock.directoryPrefix) {
|
|
303
|
+
command = `cd ${asyncBlock.directoryPrefix} && ${command}`;
|
|
304
|
+
}
|
|
305
|
+
// Escape backticks in the command for the template literal
|
|
306
|
+
const escapedCommand = command.replace(/`/g, '\\`');
|
|
307
|
+
// Output the $ template literal (fire-and-forget, no await)
|
|
308
|
+
// zx will await all pending promises at the end
|
|
309
|
+
preprocessedLines.push(`$\`${escapedCommand}\``);
|
|
310
|
+
preprocessedLines.push('```');
|
|
311
|
+
// Skip to the closing ```
|
|
312
|
+
i = block.endLine;
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
238
315
|
// Check if this block should be transformed to heredoc
|
|
239
316
|
if (blocksToHeredoc.has(blockIndex)) {
|
|
240
317
|
const heredoc = blocksToHeredoc.get(blockIndex);
|
package/dist/preprocessor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ezx",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Enhanced zx - Write better shell scripts with markdown preprocessing features including directory context persistence, file extraction, and fixes for zx's indentation parsing issues",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"zx",
|