ezx 0.0.3 → 0.0.4
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 +24 -13
- package/dist/preprocessor.d.ts +1 -0
- package/dist/preprocessor.d.ts.map +1 -1
- package/dist/preprocessor.js +15 -57
- package/dist/preprocessor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,30 +25,43 @@ pwd
|
|
|
25
25
|
|
|
26
26
|
### 2. File Extraction
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
**Note:** zx executes all code blocks in markdown files. If you have code blocks that are for documentation only (examples to show users, not to run or write as files), add the `no-eval` flag to prevent execution:
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
```typescript
|
|
32
|
-
|
|
30
|
+
```markdown
|
|
31
|
+
```typescript no-eval
|
|
32
|
+
interface User {
|
|
33
|
+
name: string;
|
|
34
|
+
age: number;
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Extract code blocks to files using the info string syntax on the code fence. The file directive is specified after the language identifier using `file:` or `file=`. The file path is always relative to the original working directory (not affected by `# set the current directory`).
|
|
40
|
+
|
|
41
|
+
**JSON:**
|
|
42
|
+
```json file:my-project/package.json
|
|
33
43
|
{
|
|
34
44
|
"name": "my-project",
|
|
35
45
|
"version": "1.0.0"
|
|
36
46
|
}
|
|
37
47
|
```
|
|
38
48
|
|
|
49
|
+
**TypeScript/JavaScript:**
|
|
50
|
+
```typescript file:my-project/index.ts
|
|
51
|
+
console.log("Hello world")
|
|
52
|
+
```
|
|
53
|
+
|
|
39
54
|
**Bash/Shell:**
|
|
40
|
-
```bash
|
|
41
|
-
# file: my-project/.npmrc
|
|
55
|
+
```bash file:my-project/.npmrc
|
|
42
56
|
shared-workspace-lockfile=false
|
|
43
57
|
```
|
|
44
58
|
|
|
45
59
|
**Markdown:**
|
|
46
|
-
```markdown
|
|
47
|
-
<!-- file: my-project/README.md -->
|
|
60
|
+
```markdown file:my-project/README.md
|
|
48
61
|
# My Project
|
|
49
62
|
```
|
|
50
63
|
|
|
51
|
-
**Any language:** The file directive works with any language, including unknown languages,
|
|
64
|
+
**Any language:** The file directive works with any language, including unknown languages, because it's specified in the code fence info string, not inside the code content.
|
|
52
65
|
|
|
53
66
|
File extraction blocks are transformed to bash heredoc commands that execute in order with the rest of the markdown. If a directory context is active, the heredoc command will prepend `cd`:
|
|
54
67
|
|
|
@@ -136,8 +149,7 @@ cd my-app
|
|
|
136
149
|
npm init -y
|
|
137
150
|
\`\`\`
|
|
138
151
|
|
|
139
|
-
\`\`\`
|
|
140
|
-
// file: my-app/package.json
|
|
152
|
+
\`\`\`json file:my-app/package.json
|
|
141
153
|
{
|
|
142
154
|
"name": "my-app",
|
|
143
155
|
"version": "1.0.0",
|
|
@@ -147,8 +159,7 @@ npm init -y
|
|
|
147
159
|
}
|
|
148
160
|
\`\`\`
|
|
149
161
|
|
|
150
|
-
\`\`\`typescript
|
|
151
|
-
// file: my-app/index.ts
|
|
162
|
+
\`\`\`typescript file:my-app/index.ts
|
|
152
163
|
console.log('Hello from ezx!')
|
|
153
164
|
\`\`\`
|
|
154
165
|
|
package/dist/preprocessor.d.ts
CHANGED
|
@@ -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;
|
|
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;CAClB;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;AA6ED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAC1B,gBAAgB,CA6JlB;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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
/**
|
|
3
3
|
* Parse markdown and extract all code blocks with their line numbers
|
|
4
|
+
* Also extracts file path from info string if present (e.g., ```json file:path/to/file.json)
|
|
4
5
|
*/
|
|
5
6
|
function parseCodeBlocks(markdown) {
|
|
6
7
|
const codeBlocks = [];
|
|
@@ -11,12 +12,15 @@ function parseCodeBlocks(markdown) {
|
|
|
11
12
|
for (let i = 0; i < lines.length; i++) {
|
|
12
13
|
const line = lines[i];
|
|
13
14
|
// Check for code block start
|
|
14
|
-
if (line.match(
|
|
15
|
+
if (line.match(/^```/)) {
|
|
15
16
|
if (!inCodeBlock) {
|
|
16
17
|
// Starting a new code block
|
|
17
|
-
|
|
18
|
+
// Parse language and optional file directive from info string
|
|
19
|
+
// Formats: ```json, ```json file:path, ```json file=path
|
|
20
|
+
const match = line.match(/^```(\w*)\s*(?:file[:=](\S+))?/i);
|
|
18
21
|
currentBlock = {
|
|
19
|
-
language:
|
|
22
|
+
language: match?.[1] || '',
|
|
23
|
+
filePath: match?.[2] || undefined,
|
|
20
24
|
content: '',
|
|
21
25
|
startLine: i,
|
|
22
26
|
};
|
|
@@ -33,6 +37,7 @@ function parseCodeBlocks(markdown) {
|
|
|
33
37
|
content: currentBlock.content,
|
|
34
38
|
startLine: currentBlock.startLine,
|
|
35
39
|
endLine: i,
|
|
40
|
+
filePath: currentBlock.filePath,
|
|
36
41
|
});
|
|
37
42
|
}
|
|
38
43
|
inCodeBlock = false;
|
|
@@ -53,50 +58,6 @@ function isDirectorySetCommand(line) {
|
|
|
53
58
|
const trimmed = line.trim().toLowerCase();
|
|
54
59
|
return trimmed === '# set the current directory';
|
|
55
60
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Check if a line contains a file extraction comment
|
|
58
|
-
*/
|
|
59
|
-
function isFileExtractionComment(line, commentToken) {
|
|
60
|
-
const trimmed = line.trim();
|
|
61
|
-
// For HTML/XML style comments, we need to remove the closing -->
|
|
62
|
-
let searchLine = trimmed;
|
|
63
|
-
if (commentToken === '<!--') {
|
|
64
|
-
searchLine = trimmed.replace(/-->.*$/, '');
|
|
65
|
-
}
|
|
66
|
-
const filePattern = new RegExp(`^${escapeRegExp(commentToken)}\\s*file:\\s*(.+)$`, 'i');
|
|
67
|
-
const match = searchLine.match(filePattern);
|
|
68
|
-
if (match) {
|
|
69
|
-
return match[1].trim();
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Escape special regex characters
|
|
75
|
-
*/
|
|
76
|
-
function escapeRegExp(string) {
|
|
77
|
-
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Try to extract file path from a line using multiple comment patterns
|
|
81
|
-
*/
|
|
82
|
-
function tryExtractFilePath(line) {
|
|
83
|
-
// Common comment patterns to try, in order of preference
|
|
84
|
-
const commentPatterns = [
|
|
85
|
-
'//', // Most common
|
|
86
|
-
'#', // Shell/Python
|
|
87
|
-
'<!--', // HTML/XML/Markdown
|
|
88
|
-
'--', // SQL/Lua
|
|
89
|
-
';', // Assembly
|
|
90
|
-
];
|
|
91
|
-
const trimmed = line.trim();
|
|
92
|
-
for (const pattern of commentPatterns) {
|
|
93
|
-
const filePath = isFileExtractionComment(trimmed, pattern);
|
|
94
|
-
if (filePath) {
|
|
95
|
-
return filePath;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
61
|
/**
|
|
101
62
|
* Preprocess markdown file
|
|
102
63
|
*/
|
|
@@ -114,24 +75,20 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
114
75
|
// Process each code block
|
|
115
76
|
for (let i = 0; i < codeBlocks.length; i++) {
|
|
116
77
|
const block = codeBlocks[i];
|
|
117
|
-
const blockLines = block.content.split('\n');
|
|
118
78
|
const isBash = block.language === 'bash' || block.language === 'sh' || block.language === 'shell';
|
|
119
|
-
// Check if this is a file extraction block
|
|
120
|
-
|
|
121
|
-
const filePath = tryExtractFilePath(firstLine);
|
|
122
|
-
if (filePath) {
|
|
79
|
+
// Check if this is a file extraction block (file path in info string)
|
|
80
|
+
if (block.filePath) {
|
|
123
81
|
// This is a file extraction block - transform to heredoc
|
|
124
|
-
|
|
125
|
-
const fileContent = blockLines.slice(1).join('\n').trim();
|
|
82
|
+
const fileContent = block.content.trim();
|
|
126
83
|
extractedFiles.push({
|
|
127
|
-
filePath: filePath,
|
|
84
|
+
filePath: block.filePath,
|
|
128
85
|
content: fileContent,
|
|
129
86
|
language: block.language,
|
|
130
87
|
});
|
|
131
88
|
// Mark this block for transformation to heredoc
|
|
132
89
|
// If we have a current directory, prepend it to the heredoc command
|
|
133
90
|
blocksToHeredoc.set(i, {
|
|
134
|
-
filePath: filePath,
|
|
91
|
+
filePath: block.filePath,
|
|
135
92
|
content: fileContent,
|
|
136
93
|
directoryPrefix: currentDirectory || undefined,
|
|
137
94
|
});
|
|
@@ -139,6 +96,7 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
139
96
|
}
|
|
140
97
|
// Check for directory set command in bash blocks
|
|
141
98
|
if (isBash) {
|
|
99
|
+
const blockLines = block.content.split('\n');
|
|
142
100
|
let justSetDirectory = false;
|
|
143
101
|
// First, check if this block has a directory set command
|
|
144
102
|
const hasDirectorySet = blockLines.some((line) => isDirectorySetCommand(line));
|
|
@@ -186,7 +144,7 @@ export function preprocessMarkdown(input, options = {}) {
|
|
|
186
144
|
for (let i = 0; i < lines.length; i++) {
|
|
187
145
|
const line = lines[i];
|
|
188
146
|
// Check if this is the start of a code block
|
|
189
|
-
if (line.match(
|
|
147
|
+
if (line.match(/^```/)) {
|
|
190
148
|
const blockIndex = codeBlocks.findIndex((b) => b.startLine === i);
|
|
191
149
|
if (blockIndex !== -1) {
|
|
192
150
|
const block = codeBlocks[blockIndex];
|
package/dist/preprocessor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../src/preprocessor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED