@taqueria/plugin-archetype 0.4.2 → 0.5.3-rc1

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 CHANGED
@@ -6,8 +6,8 @@ The Archetype plugin provides a task to compile Archetype smart contracts (`.arl
6
6
 
7
7
  ## Requirements
8
8
 
9
- - Node.js v16 or later
10
- - Docker v0.8.2 or later
9
+ - Node.js v16.3 or later
10
+ - Docker v0.8.6 or later
11
11
 
12
12
  ## Installation
13
13
 
@@ -16,9 +16,6 @@ To install the Archetype plugin on a Taqueria project, navigate to the project f
16
16
  taq install @taqueria/plugin-archetype
17
17
  ```
18
18
 
19
- > ### :page_with_curl: Note
20
- > At this time, all Taqueria projects must also be initialized as node projects by running `npm init -y` from the root of your project directory
21
-
22
19
  ## Configuration
23
20
 
24
21
  No additional configuration is available
package/_readme.eta CHANGED
@@ -8,8 +8,8 @@ The Archetype plugin provides a task to compile Archetype smart contracts (`.arl
8
8
 
9
9
  ## Requirements
10
10
 
11
- - Node.js v16 or later
12
- - Docker v0.8.2 or later
11
+ - Node.js v16.3 or later
12
+ - Docker v0.8.6 or later
13
13
 
14
14
  ## Installation
15
15
 
@@ -18,10 +18,6 @@ To install the Archetype plugin on a Taqueria project, navigate to the project f
18
18
  taq install @taqueria/plugin-archetype
19
19
  ```
20
20
 
21
- <%~ it.noteOpenAdmonition %>
22
- At this time, all Taqueria projects must also be initialized as node projects by running `npm init -y` from the root of your project directory
23
- <%~ it.closeAdmonition %>
24
-
25
21
  ## Configuration
26
22
 
27
23
  No additional configuration is available
package/compile.ts CHANGED
@@ -25,7 +25,7 @@ const getCompileCommand = (opts: Opts) =>
25
25
  const { projectDir } = opts;
26
26
  const inputFile = getInputFilename(opts)(sourceFile);
27
27
  const baseCommand =
28
- `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \"${projectDir}\":/project -w /project completium/archetype:1.2.12 ${inputFile}`;
28
+ `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \"${projectDir}\":/project -u $(id -u):$(id -g) -w /project completium/archetype:1.2.12 ${inputFile}`;
29
29
  const outFile = `-o ${getContractArtifactFilename(opts)(sourceFile)}`;
30
30
  const cmd = `${baseCommand} ${outFile}`;
31
31
  return cmd;
package/index.js CHANGED
@@ -20,7 +20,7 @@ const $bb055a91efa18df7$var$getContractArtifactFilename = (opts)=>(sourceFile)=>
20
20
  const $bb055a91efa18df7$var$getCompileCommand = (opts)=>(sourceFile)=>{
21
21
  const { projectDir: projectDir } = opts;
22
22
  const inputFile = $bb055a91efa18df7$var$getInputFilename(opts)(sourceFile);
23
- const baseCommand = `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \"${projectDir}\":/project -w /project completium/archetype:1.2.12 ${inputFile}`;
23
+ const baseCommand = `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \"${projectDir}\":/project -u $(id -u):$(id -g) -w /project completium/archetype:1.2.12 ${inputFile}`;
24
24
  const outFile = `-o ${$bb055a91efa18df7$var$getContractArtifactFilename(opts)(sourceFile)}`;
25
25
  const cmd = `${baseCommand} ${outFile}`;
26
26
  return cmd;
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 { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport compile from './compile';\n\nPlugin.create(i18n => ({\n\tschema: '1.0',\n\tversion: '0.1',\n\talias: 'archetype',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'compile',\n\t\t\tcommand: 'compile [sourceFile]',\n\t\t\taliases: ['c', 'compile-archetype'],\n\t\t\tdescription: 'Compile a smart contract written in a Archetype syntax to Michelson code',\n\t\t\toptions: [],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'json',\n\t\t}),\n\t],\n\tcheckRuntimeDependencies: () =>\n\t\tPromise.resolve({\n\t\t\tstatus: 'success',\n\t\t\treport: [\n\t\t\t\t{ name: 'Archetype', path: 'archetype', version: '>=1.2.12', kind: 'required', met: true },\n\t\t\t],\n\t\t}),\n\tinstallRunTimeDependencies: () =>\n\t\tPromise.resolve({\n\t\t\tstatus: 'success',\n\t\t\toutput: 'Archetype was found in /usr/bin/archetype', // TODO this should use i18n\n\t\t}),\n\tproxy: compile,\n}), process.argv);\n","import { execCmd, sendAsyncErr, sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport { LikeAPromise, PluginResponse, RequestArgs, TaqError } from '@taqueria/node-sdk/types';\nimport glob from 'fast-glob';\nimport { readFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFile?: string;\n}\n\nconst getInputFilename = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst inputFile = basename(sourceFile, extname(sourceFile));\n\t\treturn join(opts.config.contractsDir, `${inputFile}.arl`);\n\t};\n\nconst getContractArtifactFilename = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst outFile = basename(sourceFile, extname(sourceFile));\n\t\treturn join(opts.config.artifactsDir, `${outFile}.tz`);\n\t};\n\nconst getCompileCommand = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst { projectDir } = opts;\n\t\tconst inputFile = getInputFilename(opts)(sourceFile);\n\t\tconst baseCommand =\n\t\t\t`DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project completium/archetype:1.2.12 ${inputFile}`;\n\t\tconst outFile = `-o ${getContractArtifactFilename(opts)(sourceFile)}`;\n\t\tconst cmd = `${baseCommand} ${outFile}`;\n\t\treturn cmd;\n\t};\n\nconst compileContract = (opts: Opts) =>\n\t(sourceFile: string): Promise<{ contract: string; artifact: string }> =>\n\t\t// const sourceAbspath = join(opts.contractsDir, sourceFile)\n\t\texecCmd(getCompileCommand(opts)(sourceFile))\n\t\t\t.then(({ stderr }) => { // How should we output warnings?\n\t\t\t\tif (stderr.length > 0) sendErr(stderr);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\tartifact: getContractArtifactFilename(opts)(sourceFile),\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\tsendErr(' ');\n\t\t\t\tsendErr(err.message.split('\\n').slice(1).join('\\n'));\n\t\t\t\treturn Promise.resolve({\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\tartifact: 'Not compiled',\n\t\t\t\t});\n\t\t\t});\n\nconst compileAll = (opts: Opts): Promise<{ contract: string; artifact: string }[]> => {\n\t// TODO: Fetch list of files from SDK\n\treturn glob(\n\t\t['**/*.arl'],\n\t\t{ cwd: opts.config.contractsDir, absolute: false },\n\t)\n\t\t.then(entries => entries.map(compileContract(opts)))\n\t\t.then(processes =>\n\t\t\tprocesses.length > 0\n\t\t\t\t? processes\n\t\t\t\t: [{ contract: 'None found', artifact: 'N/A' }]\n\t\t)\n\t\t.then(promises => Promise.all(promises));\n};\n\nconst compile = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {\n\tconst p = parsedArgs.sourceFile\n\t\t? compileContract(parsedArgs)(parsedArgs.sourceFile)\n\t\t\t.then(result => [result])\n\t\t: compileAll(parsedArgs)\n\t\t\t.then(results => {\n\t\t\t\tif (results.length === 0) sendErr('No contracts found to compile.');\n\t\t\t\treturn results;\n\t\t\t});\n\n\treturn p\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default compile;\n"],"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 { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport compile from './compile';\n\nPlugin.create(i18n => ({\n\tschema: '1.0',\n\tversion: '0.1',\n\talias: 'archetype',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'compile',\n\t\t\tcommand: 'compile [sourceFile]',\n\t\t\taliases: ['c', 'compile-archetype'],\n\t\t\tdescription: 'Compile a smart contract written in a Archetype syntax to Michelson code',\n\t\t\toptions: [],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'json',\n\t\t}),\n\t],\n\tcheckRuntimeDependencies: () =>\n\t\tPromise.resolve({\n\t\t\tstatus: 'success',\n\t\t\treport: [\n\t\t\t\t{ name: 'Archetype', path: 'archetype', version: '>=1.2.12', kind: 'required', met: true },\n\t\t\t],\n\t\t}),\n\tinstallRunTimeDependencies: () =>\n\t\tPromise.resolve({\n\t\t\tstatus: 'success',\n\t\t\toutput: 'Archetype was found in /usr/bin/archetype', // TODO this should use i18n\n\t\t}),\n\tproxy: compile,\n}), process.argv);\n","import { execCmd, sendAsyncErr, sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport { LikeAPromise, PluginResponse, RequestArgs, TaqError } from '@taqueria/node-sdk/types';\nimport glob from 'fast-glob';\nimport { readFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFile?: string;\n}\n\nconst getInputFilename = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst inputFile = basename(sourceFile, extname(sourceFile));\n\t\treturn join(opts.config.contractsDir, `${inputFile}.arl`);\n\t};\n\nconst getContractArtifactFilename = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst outFile = basename(sourceFile, extname(sourceFile));\n\t\treturn join(opts.config.artifactsDir, `${outFile}.tz`);\n\t};\n\nconst getCompileCommand = (opts: Opts) =>\n\t(sourceFile: string) => {\n\t\tconst { projectDir } = opts;\n\t\tconst inputFile = getInputFilename(opts)(sourceFile);\n\t\tconst baseCommand =\n\t\t\t`DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -u $(id -u):$(id -g) -w /project completium/archetype:1.2.12 ${inputFile}`;\n\t\tconst outFile = `-o ${getContractArtifactFilename(opts)(sourceFile)}`;\n\t\tconst cmd = `${baseCommand} ${outFile}`;\n\t\treturn cmd;\n\t};\n\nconst compileContract = (opts: Opts) =>\n\t(sourceFile: string): Promise<{ contract: string; artifact: string }> =>\n\t\t// const sourceAbspath = join(opts.contractsDir, sourceFile)\n\t\texecCmd(getCompileCommand(opts)(sourceFile))\n\t\t\t.then(({ stderr }) => { // How should we output warnings?\n\t\t\t\tif (stderr.length > 0) sendErr(stderr);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\tartifact: getContractArtifactFilename(opts)(sourceFile),\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\tsendErr(' ');\n\t\t\t\tsendErr(err.message.split('\\n').slice(1).join('\\n'));\n\t\t\t\treturn Promise.resolve({\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\tartifact: 'Not compiled',\n\t\t\t\t});\n\t\t\t});\n\nconst compileAll = (opts: Opts): Promise<{ contract: string; artifact: string }[]> => {\n\t// TODO: Fetch list of files from SDK\n\treturn glob(\n\t\t['**/*.arl'],\n\t\t{ cwd: opts.config.contractsDir, absolute: false },\n\t)\n\t\t.then(entries => entries.map(compileContract(opts)))\n\t\t.then(processes =>\n\t\t\tprocesses.length > 0\n\t\t\t\t? processes\n\t\t\t\t: [{ contract: 'None found', artifact: 'N/A' }]\n\t\t)\n\t\t.then(promises => Promise.all(promises));\n};\n\nconst compile = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {\n\tconst p = parsedArgs.sourceFile\n\t\t? compileContract(parsedArgs)(parsedArgs.sourceFile)\n\t\t\t.then(result => [result])\n\t\t: compileAll(parsedArgs)\n\t\t\t.then(results => {\n\t\t\t\tif (results.length === 0) sendErr('No contracts found to compile.');\n\t\t\t\treturn results;\n\t\t\t});\n\n\treturn p\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default compile;\n"],"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.4.2",
3
+ "version": "0.5.3-rc1",
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.4.2",
43
+ "@taqueria/node-sdk": "^0.6.2",
44
44
  "fast-glob": "^3.2.11"
45
45
  },
46
46
  "devDependencies": {