Cleanup to help me debug build errors
This commit is contained in:
parent
13bfa0b0d0
commit
2fc152e96f
|
@ -5382,7 +5382,6 @@
|
|||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
|
||||
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"array-union": "^2.1.0",
|
||||
"dir-glob": "^3.0.1",
|
||||
|
@ -7938,6 +7937,66 @@
|
|||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-dynamic-import-variables/-/rollup-plugin-dynamic-import-variables-1.1.0.tgz",
|
||||
"integrity": "sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw==",
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^3.0.9",
|
||||
"estree-walker": "^2.0.1",
|
||||
"globby": "^11.0.0",
|
||||
"magic-string": "^0.25.7"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables/node_modules/@rollup/pluginutils": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
|
||||
"integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
|
||||
"dependencies": {
|
||||
"@types/estree": "0.0.39",
|
||||
"estree-walker": "^1.0.1",
|
||||
"picomatch": "^2.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^1.20.0||^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables/node_modules/@rollup/pluginutils/node_modules/estree-walker": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
|
||||
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg=="
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables/node_modules/@types/estree": {
|
||||
"version": "0.0.39",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
|
||||
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw=="
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables/node_modules/magic-string": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
|
||||
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
|
||||
"dependencies": {
|
||||
"sourcemap-codec": "^1.4.8"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup-plugin-dynamic-import-variables/node_modules/rollup": {
|
||||
"version": "2.79.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
|
||||
"integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||
|
@ -8246,6 +8305,12 @@
|
|||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sourcemap-codec": {
|
||||
"version": "1.4.8",
|
||||
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
||||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
|
||||
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
|
||||
},
|
||||
"node_modules/spawn-command": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz",
|
||||
|
@ -9756,6 +9821,7 @@
|
|||
"multer": "^1.4.5-lts.1",
|
||||
"pdf-lib": "^1.17.1",
|
||||
"rollup-plugin-copy": "^3.5.0",
|
||||
"rollup-plugin-dynamic-import-variables": "^1.1.0",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"vite-plugin-compile-time": "^0.2.1",
|
||||
"vite-plugin-dynamic-import": "^1.5.0",
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
"multer": "^1.4.5-lts.1",
|
||||
"pdf-lib": "^1.17.1",
|
||||
"rollup-plugin-copy": "^3.5.0",
|
||||
"rollup-plugin-dynamic-import-variables": "^1.1.0",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"vite-plugin-compile-time": "^0.2.1",
|
||||
"vite-plugin-dynamic-import": "^1.5.0",
|
||||
|
|
|
@ -12,15 +12,16 @@ export default {
|
|||
output: {
|
||||
dir: "dist/",
|
||||
format: "es",
|
||||
strict: false,
|
||||
},
|
||||
watch: {
|
||||
include: [ './src/**', '../shared-operations/src/**' ]
|
||||
},
|
||||
plugins: [
|
||||
compileTime(),
|
||||
json(),
|
||||
typescript(),
|
||||
dynamicImportVars(),
|
||||
compileTime(),
|
||||
dynamicImportVars({errorWhenNoFilesFound: true, warnOnError: true}),
|
||||
copy({
|
||||
targets: [
|
||||
{ src: '../shared-operations/public', dest: 'dist' },
|
||||
|
|
|
@ -4,9 +4,12 @@ import express from "express";
|
|||
const app = express();
|
||||
const PORT = 8000;
|
||||
|
||||
|
||||
import { listOperatorNames } from "@stirling-pdf/shared-operations/src/workflow/operatorAccessor";
|
||||
console.log("Available Modules: ", listOperatorNames())
|
||||
|
||||
// server-node: backend api
|
||||
import api from "./routes/api/api-controller";
|
||||
import { listOperatorNames } from "@stirling-pdf/shared-operations/src/workflow/operatorAccessor";
|
||||
app.use("/api", api);
|
||||
|
||||
// serve
|
||||
|
@ -17,5 +20,3 @@ app.listen(PORT, () => {
|
|||
process.on('unhandledRejection', (reason, promise) => {
|
||||
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
|
||||
});
|
||||
|
||||
console.log("Available Modules: ", listOperatorNames())
|
|
@ -44,7 +44,6 @@ async function handleEndpoint(req: Request, res: Response) {
|
|||
else {
|
||||
action.values = validationResults.value.values;
|
||||
const operation = new operator(action);
|
||||
|
||||
operation.run(validationResults.value.input, (progress) => {}).then(pdfFiles => {
|
||||
respondWithPdfFiles(res, pdfFiles, req.params.func + "_result");
|
||||
});
|
||||
|
|
|
@ -48,7 +48,7 @@ router.post("/:workflowUuid?", [
|
|||
res.status(400).json({error: "PDF validation failed", details: validationResults.error.message});
|
||||
return;
|
||||
}
|
||||
const inputs: PdfFile[] = validationResults.value;
|
||||
const inputs: PdfFile[] = validationResults;
|
||||
|
||||
// Allow option to do it synchronously and just make a long request
|
||||
if(req.body.async === "false") {
|
||||
|
|
|
@ -112,8 +112,8 @@
|
|||
},
|
||||
"include": [
|
||||
"src",
|
||||
"declarations/*.d.ts",
|
||||
"../shared-operations/src/wasm/pdfcpu/PdfcpuWrapper.d.ts"
|
||||
"./declarations/",
|
||||
"../shared-operations/declarations/"
|
||||
],
|
||||
"ts-node": {
|
||||
"experimentalSpecifierResolution": "node",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { PdfFile } from "wrappers/PdfFile";
|
||||
import { PdfFile } from "../wrappers/PdfFile";
|
||||
import { Action } from "../../declarations/Action";
|
||||
import Joi from "@stirling-tools/joi";
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import i18next from "i18next";
|
|||
import resourcesToBackend from "i18next-resources-to-backend";
|
||||
|
||||
i18next
|
||||
.use(resourcesToBackend((language, namespace) => import(`./public/locales/${namespace}/${language}.json`, {
|
||||
.use(resourcesToBackend((language: string, namespace: string) => import(`../public/locales/${namespace}/${language}.json`, {
|
||||
assert: { type: "json" },
|
||||
})))
|
||||
.init({
|
||||
|
|
|
@ -61,16 +61,13 @@ async function loadFileAsync(data) {
|
|||
`/input.pdf`,
|
||||
]);
|
||||
|
||||
console.log("Exit Code: " + exitcode);
|
||||
if (exitcode !== 0)
|
||||
throw new Error("There was an error validating your PDFs");
|
||||
|
||||
console.log(`File is Valid`);
|
||||
}
|
||||
|
||||
export async function impose(snapshot, nup, format) {
|
||||
|
||||
};
|
||||
|
||||
export async function oneToOne(wasmArray, snapshot) {
|
||||
await loadFileAsync(Buffer.from(snapshot));
|
||||
|
||||
|
|
|
@ -9,11 +9,11 @@ const wasmfs = new WasmFs();
|
|||
|
||||
// TODO: This can later be defered to load asynchronously
|
||||
(async () => {
|
||||
configureFs();
|
||||
await loadWasm();
|
||||
await configureFs();
|
||||
})();
|
||||
|
||||
async function configureFs() {
|
||||
function configureFs() {
|
||||
// Can't use BrowserFS: https://github.com/jvilk/BrowserFS/issues/271
|
||||
fs = wasmfs.fs;
|
||||
global.fs = fs;
|
||||
|
@ -43,6 +43,9 @@ const runWasm = async (param) => {
|
|||
|
||||
async function loadFileAsync(data) {
|
||||
console.log(`Writing file to Disk`);
|
||||
if(fs === undefined) {
|
||||
throw new Error("FS hasn't loaded, this should never happen.")
|
||||
}
|
||||
fs.writeFileSync(`input.pdf`, data);
|
||||
console.log(`Write done. Validating...`);
|
||||
let exitcode = await runWasm([
|
||||
|
|
|
@ -1,20 +1,19 @@
|
|||
import { Operator } from "../functions";
|
||||
import i18next from "i18next";
|
||||
|
||||
function getCompileTimeOperatorList(): string[] {
|
||||
return import.meta.compileTime("./listOperatorsInDir.ts"); // The will compile to ["impose", "extractPages", etc...]
|
||||
}
|
||||
const compileTimeOperatorList: string[] = ["impose"]; import.meta.compileTime("./listOperatorsInDir.ts"); // The will compile to ["impose", "extractPages", etc...]
|
||||
|
||||
export async function getOperatorByName(name: string): Promise<typeof Operator | undefined> {
|
||||
// Check if exists
|
||||
if(!getCompileTimeOperatorList().includes(name)) return;
|
||||
if(!compileTimeOperatorList.includes(name)) return;
|
||||
|
||||
i18next.loadNamespaces(name, (err, t) => { if (err) throw err; });
|
||||
return (await import("../functions/" + name + ".ts"))[capitalizeFirstLetter(name)];
|
||||
const loadedModule = await import("../functions/" + name + ".ts");
|
||||
return loadedModule[capitalizeFirstLetter(name)];
|
||||
}
|
||||
|
||||
export function listOperatorNames(): string[] {
|
||||
const availableOperators = getCompileTimeOperatorList();
|
||||
const availableOperators = compileTimeOperatorList;
|
||||
// TODO: Implement this
|
||||
return availableOperators;
|
||||
}
|
||||
|
|
|
@ -20,12 +20,11 @@ export async function traverseOperations(operations: Action[], input: PdfFile[],
|
|||
async function nextOperation(actions: Action[] | undefined, input: PdfFile[], progressCallback: (state: Progress) => void): Promise<void> {
|
||||
if(!actions || (Array.isArray(actions) && actions.length == 0)) { // isEmpty
|
||||
if(input && Array.isArray(input)) {
|
||||
console.log("operation done: " + input[0].filename + (input.length > 1 ? "+" : ""));
|
||||
console.log("operation done: " + input.map(file => file.filename) + (input.length > 1 ? "+" : ""));
|
||||
results = results.concat(input);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = 0; i < actions.length; i++) {
|
||||
await computeOperation(actions[i], Object.assign([], input), progressCallback); // structuredClone-like for ts TODO: test if this really works
|
||||
}
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
"baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */
|
||||
"paths": {
|
||||
"#pdfcpu": ["../../shared-operations/src/wasm/pdfcpu/pdfcpu-wrapper.server"],
|
||||
}
|
||||
}
|
||||
} /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||
}
|
Loading…
Reference in New Issue