@taqueria/plugin-archetype 0.0.0-pr-436-0c8bb7b1 → 0.0.0-pr-659-ec26fd9f

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/compile.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import {execCmd, sendErr, sendJsonRes, sendAsyncErr} from "@taqueria/node-sdk"
2
- import { Failure, LikeAPromise, ParsedArgs, PluginResponse, SanitizedArgs } from "@taqueria/node-sdk/types";
2
+ import { TaqError, LikeAPromise, PluginResponse, RequestArgs } from "@taqueria/node-sdk/types";
3
3
  import glob from 'fast-glob'
4
4
  import { extname, join, basename } from 'path'
5
5
  import { readFile } from 'fs/promises'
6
6
 
7
- type Opts = SanitizedArgs & {sourceFile: string}
7
+ interface Opts extends RequestArgs.t {
8
+ sourceFile?: string
9
+ }
8
10
 
9
11
  const getInputFilename = (opts: Opts) => (sourceFile: string) => {
10
12
  const inputFile = basename(sourceFile, extname(sourceFile))
@@ -48,7 +50,7 @@ const compileAll = (opts: Opts): Promise<{ contract: string, artifact: string }[
48
50
  // TODO: Fetch list of files from SDK
49
51
  return glob(
50
52
  ['**/*.arl'],
51
- { cwd: opts.contractsDir, absolute: false }
53
+ { cwd: opts.config.contractsDir, absolute: false }
52
54
  )
53
55
  .then(entries => entries.map(compileContract(opts)))
54
56
  .then(processes => processes.length > 0
@@ -58,12 +60,11 @@ const compileAll = (opts: Opts): Promise<{ contract: string, artifact: string }[
58
60
  .then(promises => Promise.all(promises))
59
61
  }
60
62
 
61
- const compile = <T>(parsedArgs: SanitizedArgs): LikeAPromise<PluginResponse, Failure<T>> => {
62
- const params = parsedArgs as Opts
63
+ const compile = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {
63
64
  const p = parsedArgs.sourceFile
64
- ? compileContract(params) (params.sourceFile)
65
+ ? compileContract(parsedArgs) (parsedArgs.sourceFile)
65
66
  .then(result => [result])
66
- : compileAll(params)
67
+ : compileAll(parsedArgs)
67
68
  .then(results => {
68
69
  if (results.length === 0) sendErr("No contracts found to compile.")
69
70
  return results
package/index.js CHANGED
@@ -49,7 +49,7 @@ const $bb055a91efa18df7$var$compileAll = (opts)=>{
49
49
  return ($parcel$interopDefault($dTHpf$fastglob))([
50
50
  '**/*.arl'
51
51
  ], {
52
- cwd: opts.contractsDir,
52
+ cwd: opts.config.contractsDir,
53
53
  absolute: false
54
54
  }).then((entries)=>entries.map($bb055a91efa18df7$var$compileContract(opts))
55
55
  ).then((processes)=>processes.length > 0 ? processes : [
@@ -62,11 +62,10 @@ const $bb055a91efa18df7$var$compileAll = (opts)=>{
62
62
  );
63
63
  };
64
64
  const $bb055a91efa18df7$var$compile = (parsedArgs)=>{
65
- const params = parsedArgs;
66
- const p = parsedArgs.sourceFile ? $bb055a91efa18df7$var$compileContract(params)(params.sourceFile).then((result)=>[
65
+ const p = parsedArgs.sourceFile ? $bb055a91efa18df7$var$compileContract(parsedArgs)(parsedArgs.sourceFile).then((result)=>[
67
66
  result
68
67
  ]
69
- ) : $bb055a91efa18df7$var$compileAll(params).then((results)=>{
68
+ ) : $bb055a91efa18df7$var$compileAll(parsedArgs).then((results)=>{
70
69
  if (results.length === 0) $dTHpf$taquerianodesdk.sendErr("No contracts found to compile.");
71
70
  return results;
72
71
  });
package/index.js.map CHANGED
@@ -1 +1 @@
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 { Failure, LikeAPromise, ParsedArgs, PluginResponse, SanitizedArgs } from \"@taqueria/node-sdk/types\";\nimport glob from 'fast-glob'\nimport { extname, join, basename } from 'path'\nimport { readFile } from 'fs/promises'\n\ntype Opts = SanitizedArgs & {sourceFile: string}\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.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: SanitizedArgs): LikeAPromise<PluginResponse, Failure<T>> => {\n const params = parsedArgs as Opts\n const p = parsedArgs.sourceFile\n ? compileContract(params) (params.sourceFile)\n .then(result => [result])\n : compileAll(params)\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":"../"}
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":"../"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taqueria/plugin-archetype",
3
- "version": "0.0.0-pr-436-0c8bb7b1",
3
+ "version": "0.0.0-pr-659-ec26fd9f",
4
4
  "description": "A taqueria plugin for compiling Archetype smart contracts",
5
5
  "targets": {
6
6
  "default": {
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "homepage": "https://github.com/ecadlabs/taqueria#readme",
42
42
  "dependencies": {
43
- "@taqueria/node-sdk": "^0.3.1",
43
+ "@taqueria/node-sdk": "^0.4.0",
44
44
  "fast-glob": "^3.2.7"
45
45
  },
46
46
  "devDependencies": {