ezx 0.0.6 → 0.0.7

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 CHANGED
@@ -4,7 +4,36 @@ An enhanced version of zx with markdown preprocessing features to solve common a
4
4
 
5
5
  ## Features
6
6
 
7
- ### 1. Directory Context Persistence
7
+ ### 1. Markdown Parsing Fixes (Indentation Issues)
8
+
9
+ ezx fixes known markdown parsing issues in zx related to indentation:
10
+
11
+ - **Indented code blocks within lists** - Code blocks indented within list items (e.g., ` ```bash` after a bullet point) are now correctly recognized and executed
12
+ - **Indented prose** - List item continuations and other indented prose won't be misinterpreted as code
13
+
14
+ These issues are tracked in the zx project:
15
+ - [Issue #1388 - Indented code blocks in lists not executed](https://github.com/google/zx/issues/1388)
16
+ - [Issue #1389 - Indented prose after empty line causes parsing error](https://github.com/google/zx/issues/1389)
17
+
18
+ **Example that works in ezx but not in zx:**
19
+
20
+ ```markdown
21
+ ### deploy your contract
22
+
23
+ - on localhost
24
+
25
+ ```bash
26
+ pnpm run contracts:deploy localhost
27
+ ```
28
+
29
+ - on a network of your choice
30
+
31
+ ```bash
32
+ pnpm run contracts:deploy <network>
33
+ ```
34
+ ```
35
+
36
+ ### 2. Directory Context Persistence
8
37
 
9
38
  In standard zx, each bash code block runs in a fresh context, so `cd` commands don't persist across blocks. ezx solves this with a special comment syntax:
10
39
 
@@ -23,7 +52,7 @@ pwd
23
52
 
24
53
  **Note:** The directory context also affects file extraction blocks. Files created after `# set the current directory` will have their paths relative to the original directory, but the command will prepend `cd` to create them in the correct location.
25
54
 
26
- ### 2. File Extraction
55
+ ### 3. File Extraction
27
56
 
28
57
  Extract code blocks to files using a preceding blockquote with the file path. The file path is wrapped in backticks within the blockquote, and an optional emoji can be added for visual clarity.
29
58
 
@@ -185,7 +214,7 @@ const result = preprocessFile('./script.md', {
185
214
 
186
215
  ## Example
187
216
 
188
- Here's a complete example showing both features:
217
+ Here's a complete example showing all three features:
189
218
 
190
219
  ```markdown
191
220
  # Setup a new project
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAwDD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE5G;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvG;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjH;AAGD,cAAc,IAAI,CAAC;AAGnB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAwDD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE5G;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvG;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjH;AAGD,cAAc,IAAI,CAAC;AAGnB,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { transformMarkdown } from 'zx/cli';
2
2
  import { $, fs, path } from 'zx';
3
3
  import { randomBytes } from 'node:crypto';
4
4
  import { pathToFileURL } from 'node:url';
5
- import { preprocessMarkdown } from './preprocessor.js';
5
+ import { preprocessMarkdown, sanitizeMarkdownForZx } from './preprocessor.js';
6
6
  // Import zx globals to make $, path, fs, etc. available globally
7
7
  await import('zx/globals');
8
8
  /**
@@ -101,8 +101,11 @@ export async function runMarkdown(markdown, options = {}) {
101
101
  const { preprocessedMarkdown } = preprocessMarkdown(markdownContent, {
102
102
  cwd: options.cwd || process.cwd(),
103
103
  });
104
+ // Sanitize markdown to prevent zx from misinterpreting indented prose as code
105
+ // This handles edge cases like indented code blocks within list items
106
+ const sanitizedMarkdown = sanitizeMarkdownForZx(preprocessedMarkdown);
104
107
  // Transform markdown to JavaScript
105
- let jsCode = transformMarkdown(preprocessedMarkdown);
108
+ let jsCode = transformMarkdown(sanitizedMarkdown);
106
109
  // Resolve the absolute path to zx/globals using Node's module resolution
107
110
  // This will work regardless of where ezx is installed (local, global, or as a dependency)
108
111
  const zxGlobalsPath = await import.meta.resolve('zx/globals');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,18 @@ export interface PreprocessResult {
15
15
  preprocessedMarkdown: string;
16
16
  extractedFiles: FileExtraction[];
17
17
  }
18
+ /**
19
+ * Sanitize markdown to prevent zx's parser from misinterpreting
20
+ * indented prose as code blocks.
21
+ *
22
+ * zx treats lines starting with 2+ spaces after an empty line as code.
23
+ * We use marked to identify actual code blocks and rebuild the markdown
24
+ * with only headings and code blocks (stripping all prose).
25
+ *
26
+ * This also handles the edge case of indented code blocks within list items
27
+ * (e.g., " ```bash" within a list), which zx's regex parser cannot handle.
28
+ */
29
+ export declare function sanitizeMarkdownForZx(markdown: string): string;
18
30
  /**
19
31
  * Preprocess markdown file
20
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"AAEA,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;AA8GD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAwKlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAGlB"}
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;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC9D;AAoGD;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAwKlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CAGlB"}
@@ -1,4 +1,50 @@
1
1
  import { readFileSync } from 'node:fs';
2
+ import { Lexer } from 'marked';
3
+ /**
4
+ * Sanitize markdown to prevent zx's parser from misinterpreting
5
+ * indented prose as code blocks.
6
+ *
7
+ * zx treats lines starting with 2+ spaces after an empty line as code.
8
+ * We use marked to identify actual code blocks and rebuild the markdown
9
+ * with only headings and code blocks (stripping all prose).
10
+ *
11
+ * This also handles the edge case of indented code blocks within list items
12
+ * (e.g., " ```bash" within a list), which zx's regex parser cannot handle.
13
+ */
14
+ export function sanitizeMarkdownForZx(markdown) {
15
+ const tokens = Lexer.lex(markdown);
16
+ const output = [];
17
+ // Recursively process tokens to extract code blocks and headings
18
+ function processTokens(tokenArray, depth = 0) {
19
+ for (const token of tokenArray) {
20
+ if (token.type === 'code') {
21
+ // Keep fenced code blocks - marked handles indentation correctly
22
+ const fence = '```';
23
+ output.push(`${fence}${token.lang || ''}`);
24
+ output.push(token.text);
25
+ output.push(fence);
26
+ output.push(''); // Empty line after for readability
27
+ }
28
+ else if (token.type === 'heading') {
29
+ // Keep headings (useful for section extraction in ezx)
30
+ output.push(`${'#'.repeat(token.depth)} ${token.text}`);
31
+ output.push('');
32
+ }
33
+ else if (token.type === 'list' && token.items) {
34
+ // Process list items to find nested code blocks
35
+ for (const item of token.items) {
36
+ if (item.tokens) {
37
+ processTokens(item.tokens, depth + 1);
38
+ }
39
+ }
40
+ }
41
+ // Other content (paragraphs, lists, blockquotes, etc.) is dropped
42
+ // since it's not executable and could confuse zx's parser
43
+ }
44
+ }
45
+ processTokens(tokens);
46
+ return output.join('\n');
47
+ }
2
48
  /**
3
49
  * Extract file path from a blockquote line
4
50
  * Supports: > `path/to/file.json` or > 📄 `path/to/file.json`
@@ -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,7 +1,7 @@
1
1
  {
2
2
  "name": "ezx",
3
- "version": "0.0.6",
4
- "description": "Enhanced zx - Write better shell scripts with markdown preprocessing features including directory context persistence and file extraction",
3
+ "version": "0.0.7",
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",
7
7
  "shell",
@@ -52,6 +52,7 @@
52
52
  ],
53
53
  "dependencies": {
54
54
  "commander": "^14.0.2",
55
+ "marked": "^17.0.1",
55
56
  "zx": "^8.8.5"
56
57
  },
57
58
  "devDependencies": {