qtex 1.1.20 → 1.1.22

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/index.js CHANGED
@@ -19,7 +19,8 @@ const optionsSchema = {
19
19
  server: { type: 'string', short: 's' },
20
20
  help: { type: 'boolean', short: 'h' },
21
21
  update: { type: 'boolean', short: 'u' },
22
- version: { type: 'boolean', short: 'v' }
22
+ version: { type: 'boolean', short: 'v' },
23
+ verify: { type: 'boolean' }
23
24
  };
24
25
 
25
26
  async function main() {
@@ -45,6 +46,7 @@ ${colors.bold}OPTIONS:${colors.reset}
45
46
  -s, --server <url> Specify Tachyon-Tex server URL
46
47
  -u, --update Update to the latest version
47
48
  -v, --version Show version information
49
+ --verify Only verify LaTeX without compiling
48
50
  -h, --help Show this help message
49
51
  `);
50
52
  process.exit(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qtex",
3
- "version": "1.1.20",
3
+ "version": "1.1.22",
4
4
  "description": "Ultra-fast cloud LaTeX compiler. Compile .tex documents in milliseconds without installing TeXLive or MikTeX. Zero config, sub-second builds, live watch mode.",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/compiler.js CHANGED
@@ -50,7 +50,13 @@ export async function compile(dir, options) {
50
50
 
51
51
  for (const fileObj of allFiles) {
52
52
  const ext = extname(fileObj.path).toLowerCase();
53
- const allowedExts = ['.tex', '.bib', '.sty', '.cls', '.pdf', '.png', '.jpg', '.jpeg', '.csv'];
53
+ const allowedExts = [
54
+ '.tex', '.bib', '.sty', '.cls', '.bst', // LaTeX & BibTeX
55
+ '.pdf', '.png', '.jpg', '.jpeg', '.eps', // Images
56
+ '.csv', '.dat', '.tsv', '.txt', // Data
57
+ '.tikz', // TikZ
58
+ '.otf', '.ttf' // Fonts
59
+ ];
54
60
 
55
61
  if (allowedExts.includes(ext)) {
56
62
  // Skip the output file to avoid re-uploading it in subsequent runs
@@ -101,6 +107,11 @@ export async function compile(dir, options) {
101
107
  // Validation service unavailable, proceed anyway
102
108
  }
103
109
 
110
+ if (options.verify) {
111
+ spinner.succeed(`${colors.green}Validation complete!${colors.reset}`);
112
+ return;
113
+ }
114
+
104
115
  // Phase 2: Compilation
105
116
  spinner.update(`${colors.cyan}Compiling via Tachyon-Tex API...`);
106
117