@taqueria/plugin-archetype 0.0.0-pr-776-b4c3aaa5 → 0.0.0-pr-786-5e56f0fc
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 +37 -25
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -10,13 +10,15 @@ function $parcel$interopDefault(a) {
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
const $bb055a91efa18df7$var$getInputFilename = (opts)=>(sourceFile)=>{
|
|
13
|
-
const inputFile =
|
|
14
|
-
return
|
|
15
|
-
}
|
|
13
|
+
const inputFile = $dTHpf$path.basename(sourceFile, $dTHpf$path.extname(sourceFile));
|
|
14
|
+
return $dTHpf$path.join(opts.config.contractsDir, `${inputFile}.arl`);
|
|
15
|
+
}
|
|
16
|
+
;
|
|
16
17
|
const $bb055a91efa18df7$var$getContractArtifactFilename = (opts)=>(sourceFile)=>{
|
|
17
|
-
const outFile =
|
|
18
|
-
return
|
|
19
|
-
}
|
|
18
|
+
const outFile = $dTHpf$path.basename(sourceFile, $dTHpf$path.extname(sourceFile));
|
|
19
|
+
return $dTHpf$path.join(opts.config.artifactsDir, `${outFile}.tz`);
|
|
20
|
+
}
|
|
21
|
+
;
|
|
20
22
|
const $bb055a91efa18df7$var$getCompileCommand = (opts)=>(sourceFile)=>{
|
|
21
23
|
const { projectDir: projectDir } = opts;
|
|
22
24
|
const inputFile = $bb055a91efa18df7$var$getInputFilename(opts)(sourceFile);
|
|
@@ -24,54 +26,61 @@ const $bb055a91efa18df7$var$getCompileCommand = (opts)=>(sourceFile)=>{
|
|
|
24
26
|
const outFile = `-o ${$bb055a91efa18df7$var$getContractArtifactFilename(opts)(sourceFile)}`;
|
|
25
27
|
const cmd = `${baseCommand} ${outFile}`;
|
|
26
28
|
return cmd;
|
|
27
|
-
}
|
|
29
|
+
}
|
|
30
|
+
;
|
|
28
31
|
const $bb055a91efa18df7$var$compileContract = (opts)=>(sourceFile)=>// const sourceAbspath = join(opts.contractsDir, sourceFile)
|
|
29
|
-
|
|
30
|
-
if (stderr.length > 0)
|
|
32
|
+
$dTHpf$taquerianodesdk.execCmd($bb055a91efa18df7$var$getCompileCommand(opts)(sourceFile)).then(({ stderr: stderr })=>{
|
|
33
|
+
if (stderr.length > 0) $dTHpf$taquerianodesdk.sendErr(stderr);
|
|
31
34
|
return {
|
|
32
35
|
contract: sourceFile,
|
|
33
36
|
artifact: $bb055a91efa18df7$var$getContractArtifactFilename(opts)(sourceFile)
|
|
34
37
|
};
|
|
35
38
|
}).catch((err)=>{
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
$dTHpf$taquerianodesdk.sendErr(" ");
|
|
40
|
+
$dTHpf$taquerianodesdk.sendErr(err.message.split("\n").slice(1).join("\n"));
|
|
38
41
|
return Promise.resolve({
|
|
39
42
|
contract: sourceFile,
|
|
40
43
|
artifact: "Not compiled"
|
|
41
44
|
});
|
|
42
|
-
})
|
|
45
|
+
})
|
|
46
|
+
;
|
|
43
47
|
const $bb055a91efa18df7$var$compileAll = (opts)=>{
|
|
44
48
|
// TODO: Fetch list of files from SDK
|
|
45
|
-
return (
|
|
46
|
-
|
|
49
|
+
return ($parcel$interopDefault($dTHpf$fastglob))([
|
|
50
|
+
'**/*.arl'
|
|
47
51
|
], {
|
|
48
52
|
cwd: opts.config.contractsDir,
|
|
49
53
|
absolute: false
|
|
50
|
-
}).then((entries)=>entries.map($bb055a91efa18df7$var$compileContract(opts))
|
|
54
|
+
}).then((entries)=>entries.map($bb055a91efa18df7$var$compileContract(opts))
|
|
55
|
+
).then((processes)=>processes.length > 0 ? processes : [
|
|
51
56
|
{
|
|
52
57
|
contract: "None found",
|
|
53
58
|
artifact: "N/A"
|
|
54
59
|
}
|
|
55
|
-
]
|
|
60
|
+
]
|
|
61
|
+
).then((promises)=>Promise.all(promises)
|
|
62
|
+
);
|
|
56
63
|
};
|
|
57
64
|
const $bb055a91efa18df7$var$compile = (parsedArgs)=>{
|
|
58
65
|
const p = parsedArgs.sourceFile ? $bb055a91efa18df7$var$compileContract(parsedArgs)(parsedArgs.sourceFile).then((result)=>[
|
|
59
66
|
result
|
|
60
|
-
]
|
|
61
|
-
|
|
67
|
+
]
|
|
68
|
+
) : $bb055a91efa18df7$var$compileAll(parsedArgs).then((results)=>{
|
|
69
|
+
if (results.length === 0) $dTHpf$taquerianodesdk.sendErr("No contracts found to compile.");
|
|
62
70
|
return results;
|
|
63
71
|
});
|
|
64
|
-
return p.then(
|
|
72
|
+
return p.then($dTHpf$taquerianodesdk.sendJsonRes).catch((err)=>$dTHpf$taquerianodesdk.sendAsyncErr(err, false)
|
|
73
|
+
);
|
|
65
74
|
};
|
|
66
75
|
var $bb055a91efa18df7$export$2e2bcd8739ae039 = $bb055a91efa18df7$var$compile;
|
|
67
76
|
|
|
68
77
|
|
|
69
|
-
|
|
78
|
+
$dTHpf$taquerianodesdk.Plugin.create((i18n)=>({
|
|
70
79
|
schema: "1.0",
|
|
71
80
|
version: "0.1",
|
|
72
81
|
alias: "archetype",
|
|
73
82
|
tasks: [
|
|
74
|
-
|
|
83
|
+
$dTHpf$taquerianodesdk.Task.create({
|
|
75
84
|
task: "compile",
|
|
76
85
|
command: "compile [sourceFile]",
|
|
77
86
|
aliases: [
|
|
@@ -95,13 +104,16 @@ var $bb055a91efa18df7$export$2e2bcd8739ae039 = $bb055a91efa18df7$var$compile;
|
|
|
95
104
|
met: true
|
|
96
105
|
}
|
|
97
106
|
]
|
|
98
|
-
})
|
|
107
|
+
})
|
|
108
|
+
,
|
|
99
109
|
installRunTimeDependencies: ()=>Promise.resolve({
|
|
100
110
|
status: "success",
|
|
101
111
|
output: "Archetype was found in /usr/bin/archetype" // TODO this should use i18n
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
|
|
112
|
+
})
|
|
113
|
+
,
|
|
114
|
+
proxy: $bb055a91efa18df7$export$2e2bcd8739ae039
|
|
115
|
+
})
|
|
116
|
+
, process.argv);
|
|
105
117
|
|
|
106
118
|
|
|
107
119
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;AAAA;ACAA;;;AAUA,MAAM,sCAAgB,GAAG,CAAC,IAAU,GAAK,CAAC,UAAkB,GAAK;QAC/D,MAAM,SAAS,GAAG,
|
|
1
|
+
{"mappings":"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","sources":["taqueria-plugin-archetype/index.ts","taqueria-plugin-archetype/compile.ts"],"sourcesContent":["import {Plugin, Task, Option} from '@taqueria/node-sdk'\nimport compile from './compile'\n\nPlugin.create(i18n => ({\n schema: \"1.0\",\n version: \"0.1\",\n alias: \"archetype\",\n tasks: [\n Task.create({\n task: \"compile\",\n command: \"compile [sourceFile]\",\n aliases: [\"c\", \"compile-archetype\"],\n description: \"Compile a smart contract written in a Archetype syntax to Michelson code\",\n options: [],\n handler: \"proxy\",\n encoding: \"json\"\n })\n ],\n checkRuntimeDependencies: () => Promise.resolve({\n status: \"success\",\n report: [\n {name: \"Archetype\", path: \"archetype\", version: \">=1.2.12\", kind: \"required\", met: true}\n ]\n }),\n installRunTimeDependencies: () => Promise.resolve({\n status: \"success\",\n output: \"Archetype was found in /usr/bin/archetype\" // TODO this should use i18n\n }),\n proxy: compile\n}), process.argv)","import {execCmd, sendErr, sendJsonRes, sendAsyncErr} from \"@taqueria/node-sdk\"\nimport { TaqError, LikeAPromise, PluginResponse, RequestArgs } from \"@taqueria/node-sdk/types\";\nimport glob from 'fast-glob'\nimport { extname, join, basename } from 'path'\nimport { readFile } from 'fs/promises'\n\ninterface Opts extends RequestArgs.t {\n sourceFile?: string\n}\n\nconst getInputFilename = (opts: Opts) => (sourceFile: string) => {\n const inputFile = basename(sourceFile, extname(sourceFile))\n return join(opts.config.contractsDir, `${inputFile}.arl`)\n}\n\nconst getContractArtifactFilename = (opts: Opts) => (sourceFile: string) => {\n const outFile = basename(sourceFile, extname(sourceFile))\n return join(opts.config.artifactsDir, `${outFile}.tz`)\n}\n\nconst getCompileCommand = (opts: Opts) => (sourceFile: string) => {\n const { projectDir } = opts\n const inputFile = getInputFilename(opts)(sourceFile)\n const baseCommand = `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project completium/archetype:1.2.12 ${inputFile}`\n const outFile = `-o ${getContractArtifactFilename(opts)(sourceFile)}`\n const cmd = `${baseCommand} ${outFile}`\n return cmd\n}\n\nconst compileContract = (opts: Opts) => (sourceFile: string): Promise<{ contract: string, artifact: string }> =>\n // const sourceAbspath = join(opts.contractsDir, sourceFile)\n execCmd(getCompileCommand(opts)(sourceFile))\n .then(({stderr}) => { // How should we output warnings?\n if (stderr.length > 0) sendErr(stderr)\n return {\n contract: sourceFile,\n artifact: getContractArtifactFilename(opts) (sourceFile)\n }\n })\n .catch(err => {\n sendErr(\" \")\n sendErr(err.message.split(\"\\n\").slice(1).join(\"\\n\"))\n return Promise.resolve({\n contract: sourceFile,\n artifact: \"Not compiled\"\n })\n })\n\nconst compileAll = (opts: Opts): Promise<{ contract: string, artifact: string }[]> => {\n // TODO: Fetch list of files from SDK\n return glob(\n ['**/*.arl'],\n { cwd: opts.config.contractsDir, absolute: false }\n )\n .then(entries => entries.map(compileContract(opts)))\n .then(processes => processes.length > 0\n ? processes\n : [{contract: \"None found\", artifact: \"N/A\"}]\n )\n .then(promises => Promise.all(promises))\n}\n\nconst compile = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {\n const p = parsedArgs.sourceFile\n ? compileContract(parsedArgs) (parsedArgs.sourceFile)\n .then(result => [result])\n : compileAll(parsedArgs)\n .then(results => {\n if (results.length === 0) sendErr(\"No contracts found to compile.\")\n return results\n })\n \n return p\n .then(sendJsonRes)\n .catch(err => sendAsyncErr(err, false))\n}\n\nexport default compile"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
|