@fnet/cli 0.111.0 → 0.111.1

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.
Files changed (155) hide show
  1. package/README.md +145 -0
  2. package/dist/fnet/index.DBSKvJyG.js +1 -0
  3. package/dist/fnet/index.DrwlOzAe.js +1 -0
  4. package/dist/fnet/index.js +1 -1
  5. package/dist/fnode/index.53yND1Av.js +1 -0
  6. package/dist/fnode/index.B1zLg4Y2.js +1 -0
  7. package/dist/fnode/index.B2LXSSn7.js +1 -0
  8. package/dist/fnode/index.BBrItYB9.js +1 -0
  9. package/dist/fnode/index.BSQp_bJN.js +1 -0
  10. package/dist/fnode/index.Bqzc7Bx8.js +1 -0
  11. package/dist/fnode/index.BwhWziH6.js +1 -0
  12. package/dist/fnode/index.CLlKzCGk.js +1 -0
  13. package/dist/fnode/index.Chvv_TJm.js +1 -0
  14. package/dist/fnode/index.D4KQB1ot.js +1 -0
  15. package/dist/fnode/index.DItyYiZ_.js +1 -0
  16. package/dist/fnode/index.DrwlOzAe.js +1 -0
  17. package/dist/fnode/index.js +1 -1
  18. package/dist/frun/index.js +126 -0
  19. package/package.json +8 -9
  20. package/template/fnet/bun/fnet/flows.yaml.njk +1 -0
  21. package/template/fnet/bun/fnet.yaml.njk +1 -0
  22. package/template/fnet/bun/src/app/index.html.njk +67 -0
  23. package/template/fnet/bun/src/app/index.js.njk +36 -0
  24. package/template/fnet/bun/src/cli/index.js.njk +44 -0
  25. package/template/fnet/bun/src/default/blocks/assign.js.njk +40 -0
  26. package/template/fnet/bun/src/default/blocks/call.js.njk +92 -0
  27. package/template/fnet/bun/src/default/blocks/for.js.njk +81 -0
  28. package/template/fnet/bun/src/default/blocks/form.js.njk +65 -0
  29. package/template/fnet/bun/src/default/blocks/jump.js.njk +31 -0
  30. package/template/fnet/bun/src/default/blocks/modules.js.njk +50 -0
  31. package/template/fnet/bun/src/default/blocks/operation.js.njk +24 -0
  32. package/template/fnet/bun/src/default/blocks/raise.js.njk +25 -0
  33. package/template/fnet/bun/src/default/blocks/return.js.njk +27 -0
  34. package/template/fnet/bun/src/default/blocks/steps.js.njk +56 -0
  35. package/template/fnet/bun/src/default/blocks/switch.js.njk +73 -0
  36. package/template/fnet/bun/src/default/blocks/tryexcept.js.njk +65 -0
  37. package/template/fnet/bun/src/default/engine.js.njk +79 -0
  38. package/template/fnet/bun/src/default/macros/block-body-header.js.njk +7 -0
  39. package/template/fnet/bun/src/default/macros/block-footer.js.njk +3 -0
  40. package/template/fnet/bun/src/default/macros/block-header.js.njk +14 -0
  41. package/template/fnet/bun/src/default/macros/block-library-header.js.njk +19 -0
  42. package/template/fnet/bun/src/default/macros/block-modules-header.js.njk +8 -0
  43. package/template/fnet/bun/src/default/macros/block-modules.js.njk +29 -0
  44. package/template/fnet/bun/src/default/macros/block-next-header.js.njk +6 -0
  45. package/template/fnet/bun/src/default/macros/block-next.js.njk +20 -0
  46. package/template/fnet/bun/src/default/macros/block-run-form.js.njk +32 -0
  47. package/template/fnet/bun/src/default/macros/block-run-header.js.njk +39 -0
  48. package/template/fnet/bun/src/default/macros/page.js.njk +8 -0
  49. package/template/fnet/bun/src/default/macros/workflow-header.js.njk +7 -0
  50. package/template/fnet/bun/src/default/to.args.js.njk +120 -0
  51. package/template/fnet/bun/src/default/workflow.js.njk +117 -0
  52. package/template/fnet/core/assert.js +6 -0
  53. package/template/fnet/core/message.js +3 -0
  54. package/template/fnet/core/object.js +43 -0
  55. package/template/fnet/core/print.js +1 -0
  56. package/template/fnet/core/sleep.js +5 -0
  57. package/template/fnet/node/.gitignore.njk +8 -0
  58. package/template/fnet/node/fnet/flows.yaml.njk +1 -0
  59. package/template/fnet/node/fnet.yaml.njk +1 -0
  60. package/template/fnet/node/package.json.njk +90 -0
  61. package/template/fnet/node/readme.md.njk +21 -0
  62. package/template/fnet/node/rollup.config.mjs.njk +363 -0
  63. package/template/fnet/node/rollup_config_external.njk +8 -0
  64. package/template/fnet/node/rollup_config_onwarn.njk +9 -0
  65. package/template/fnet/node/rollup_config_output_banner.njk +3 -0
  66. package/template/fnet/node/rollup_config_output_footer.njk +5 -0
  67. package/template/fnet/node/rollup_config_output_globals.njk +9 -0
  68. package/template/fnet/node/rollup_config_output_name.njk +3 -0
  69. package/template/fnet/node/rollup_config_plugins.njk +90 -0
  70. package/template/fnet/node/src/app/index.html.njk +67 -0
  71. package/template/fnet/node/src/app/index.js.njk +36 -0
  72. package/template/fnet/node/src/cli/index.js.njk +44 -0
  73. package/template/fnet/node/src/default/blocks/assign.js.njk +40 -0
  74. package/template/fnet/node/src/default/blocks/call.js.njk +92 -0
  75. package/template/fnet/node/src/default/blocks/for.js.njk +81 -0
  76. package/template/fnet/node/src/default/blocks/form.js.njk +65 -0
  77. package/template/fnet/node/src/default/blocks/jump.js.njk +31 -0
  78. package/template/fnet/node/src/default/blocks/modules.js.njk +50 -0
  79. package/template/fnet/node/src/default/blocks/operation.js.njk +24 -0
  80. package/template/fnet/node/src/default/blocks/raise.js.njk +25 -0
  81. package/template/fnet/node/src/default/blocks/return.js.njk +27 -0
  82. package/template/fnet/node/src/default/blocks/steps.js.njk +56 -0
  83. package/template/fnet/node/src/default/blocks/switch.js.njk +73 -0
  84. package/template/fnet/node/src/default/blocks/tryexcept.js.njk +65 -0
  85. package/template/fnet/node/src/default/engine.js.njk +79 -0
  86. package/template/fnet/node/src/default/macros/block-body-header.js.njk +7 -0
  87. package/template/fnet/node/src/default/macros/block-footer.js.njk +3 -0
  88. package/template/fnet/node/src/default/macros/block-header.js.njk +14 -0
  89. package/template/fnet/node/src/default/macros/block-library-header.js.njk +19 -0
  90. package/template/fnet/node/src/default/macros/block-modules-header.js.njk +8 -0
  91. package/template/fnet/node/src/default/macros/block-modules.js.njk +29 -0
  92. package/template/fnet/node/src/default/macros/block-next-header.js.njk +6 -0
  93. package/template/fnet/node/src/default/macros/block-next.js.njk +20 -0
  94. package/template/fnet/node/src/default/macros/block-run-form.js.njk +32 -0
  95. package/template/fnet/node/src/default/macros/block-run-header.js.njk +39 -0
  96. package/template/fnet/node/src/default/macros/page.js.njk +8 -0
  97. package/template/fnet/node/src/default/macros/workflow-header.js.njk +7 -0
  98. package/template/fnet/node/src/default/to.args.js.njk +120 -0
  99. package/template/fnet/node/src/default/workflow.js.njk +117 -0
  100. package/template/fnet/node/tsconfig.json.njk +16 -0
  101. package/template/fnet/project/.gitignore.njk +7 -0
  102. package/template/fnet/project/.vscode/launch.json +41 -0
  103. package/template/fnet/project/.vscode/tasks.json +46 -0
  104. package/template/fnet/project/fnet/flows.yaml.njk +4 -0
  105. package/template/fnet/project/fnet/targets.yaml.njk +7 -0
  106. package/template/fnet/project/fnet.yaml.njk +3 -0
  107. package/template/fnode/bun/.gitignore.njk +8 -0
  108. package/template/fnode/bun/build.js.njk +156 -0
  109. package/template/fnode/bun/fnode.yaml.njk +1 -0
  110. package/template/fnode/bun/package.json.njk +89 -0
  111. package/template/fnode/bun/readme.md.njk +21 -0
  112. package/template/fnode/bun/src/app/index-js-with-react-host.njk +50 -0
  113. package/template/fnode/bun/src/app/index-js-without-react-host.njk +23 -0
  114. package/template/fnode/bun/src/app/index.html.njk +67 -0
  115. package/template/fnode/bun/src/app/index.js.njk +9 -0
  116. package/template/fnode/bun/src/cli/index.js.njk +81 -0
  117. package/template/fnode/bun/src/default/engine.js.njk +17 -0
  118. package/template/fnode/bun/src/default/to.args.js.njk +120 -0
  119. package/template/fnode/bun/tsconfig.json.njk +16 -0
  120. package/template/fnode/node/.gitignore.njk +8 -0
  121. package/template/fnode/node/fnode.yaml.njk +1 -0
  122. package/template/fnode/node/package.json.njk +90 -0
  123. package/template/fnode/node/readme.md.njk +21 -0
  124. package/template/fnode/node/rollup.config.mjs.njk +363 -0
  125. package/template/fnode/node/rollup_config_external.njk +8 -0
  126. package/template/fnode/node/rollup_config_onwarn.njk +9 -0
  127. package/template/fnode/node/rollup_config_output_banner.njk +3 -0
  128. package/template/fnode/node/rollup_config_output_footer.njk +5 -0
  129. package/template/fnode/node/rollup_config_output_globals.njk +9 -0
  130. package/template/fnode/node/rollup_config_output_name.njk +3 -0
  131. package/template/fnode/node/rollup_config_plugins.njk +90 -0
  132. package/template/fnode/node/src/app/index-js-with-react-host.njk +50 -0
  133. package/template/fnode/node/src/app/index-js-without-react-host.njk +23 -0
  134. package/template/fnode/node/src/app/index.html.njk +67 -0
  135. package/template/fnode/node/src/app/index.js.njk +9 -0
  136. package/template/fnode/node/src/cli/index.js.njk +81 -0
  137. package/template/fnode/node/src/default/engine.js.njk +17 -0
  138. package/template/fnode/node/src/default/to.args.js.njk +120 -0
  139. package/template/fnode/node/tsconfig.json.njk +16 -0
  140. package/template/fnode/project/.gitignore.njk +11 -0
  141. package/template/fnode/project/.vscode/launch.json.njk +78 -0
  142. package/template/fnode/project/.vscode/tasks.json.njk +46 -0
  143. package/template/fnode/project/fnet/targets.yaml.njk +25 -0
  144. package/template/fnode/project/fnode.yaml.njk +12 -0
  145. package/template/fnode/python/.gitignore.njk +7 -0
  146. package/template/fnode/python/fnode.yaml.njk +1 -0
  147. package/template/fnode/python/package.json.njk +4 -0
  148. package/template/fnode/python/pyproject.toml.njk +3 -0
  149. package/template/fnode/python/readme.md.njk +12 -0
  150. package/template/fnode/python/setup.py.njk +19 -0
  151. package/template/fnode/python/src/cli/index.py.njk +25 -0
  152. package/template/schemas/to-npm.yaml +14 -0
  153. package/dist/fnet/index.DZbefC4O.js +0 -1
  154. package/dist/fnode/index.DrdnDArw.js +0 -1
  155. package/readme.md +0 -50
@@ -0,0 +1,12 @@
1
+ {{content | safe}}
2
+
3
+ {% if howto %}
4
+ {{howto | safe}}
5
+ {% endif %}
6
+
7
+ {% if input %}
8
+ # Input Schema
9
+ ```yaml
10
+ {{ input | safe}}
11
+ ```
12
+ {% endif %}
@@ -0,0 +1,19 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="{{params.package_name}}",
5
+ version="{{params.version}}",
6
+ packages=["default","cli"],
7
+ package_dir={"default": "./src/default", "cli": "./src/cli"},
8
+ entry_points={
9
+ "console_scripts": [
10
+ "{{params.bin_name}}=cli:main",
11
+ ],
12
+ },
13
+ python_requires="{{params.python_requires | default('>=3.12') | safe}}",
14
+ install_requires=[
15
+ {% for dep in params.dependencies %}
16
+ "{{dep.package}}" {% if not loop.last%},{%endif%}
17
+ {% endfor %}
18
+ ],
19
+ )
@@ -0,0 +1,25 @@
1
+ {% if atom.doc.features.cli.enabled===true %}
2
+ from default.index import default
3
+ import argparse
4
+ def main():
5
+ # Create an argument parser to handle command-line input
6
+ parser = argparse.ArgumentParser(description="{{atom.doc.name}}")
7
+
8
+ # Parse known and unknown arguments. We only need unknown arguments here.
9
+ _, unknown_args = parser.parse_known_args()
10
+
11
+ # Convert unknown arguments into a kwargs dictionary
12
+ kwargs = {}
13
+ for i in range(0, len(unknown_args), 2):
14
+ key = unknown_args[i].lstrip("--") # Remove the leading "--" from the argument name
15
+ value = unknown_args[i + 1] if i + 1 < len(unknown_args) else None # Handle key-value pairs
16
+ kwargs[key] = value # Add the key-value pair to the kwargs dictionary
17
+
18
+ # Pass the kwargs to the default function
19
+ result=default(**kwargs)
20
+ print(result) # Print the result as a string
21
+
22
+ # Entry point for the script
23
+ if __name__ == "__main__":
24
+ main()
25
+ {% endif %}
@@ -0,0 +1,14 @@
1
+ $schema: "https://json-schema.org/draft/2020-12/schema"
2
+ type: object
3
+ properties:
4
+ env:
5
+ type: object
6
+ description: "Environment configuration"
7
+ properties:
8
+ NPM_TOKEN:
9
+ type: string
10
+ description: "A secure authentication token used by npm to authenticate and publish packages. Ensure that this token has the appropriate permissions for your project and repository."
11
+ required:
12
+ - NPM_TOKEN
13
+ required:
14
+ - env
@@ -1 +0,0 @@
1
- import e from"node:fs";import t from"node:path";import o from"semver";import r from"@fnet/shelljs";import i from"@fnet/config";import n from"@fnet/up-list-files";import s from"@fnet/object-from-schema";import m from"yaml";import{w as p}from"./index.js";import{fileURLToPath as a}from"node:url";import"node:child_process";import"node:os";import"tree-kill";import"yargs";import"@fnet/prompt";import"@fnet/yaml";import"@fnet/shell-flow";import"@flownet/lib-render-templates-dir";import"node:util";import"nunjucks";import"lodash.clonedeep";import"isobject";import"redis";import"@flownet/lib-is-redis-online";import"node:crypto";import"@flownet/lib-atom-api-js";import"lodash.merge";import"@flownet/lib-parse-imports-js";import"@fnet/npm-list-versions";import"@fnet/npm-pick-versions";import"object-hash";import"ajv/dist/2020.js";import"ajv/dist/standalone/index.js";import"ajv-formats";import"@flownet/lib-parse-node-url";import"bpmn-moddle";import"dagre";import"@fnet/expression";import"chalk";import"@fnet/list-files";import"@fnet/key-value-transformer";import"lodash.pick";import"lodash.omit";const l=t.dirname(a(import.meta.url));async function c({atom:a,setProgress:c,context:d,deploymentProject:f,deploymentProjectTarget:h,yamlTarget:u}){await c({message:"Deploying it as npm package."});const w=d.projectDir,y=t.resolve(w,"package.json"),b=e.readFileSync(y),g=JSON.parse(b);g.name=h.params.name,g.version=o.inc(h.version,"patch");const j=h.params.bin?.name||h.params.bin;!1!==h.params.bin?.enabled&&j&&"string"==typeof j&&(g.bin={[j]:"dist/cli/esm/index.js"}),delete g.scripts,delete g.devDependencies,g.scripts={serve:"npx serve ."},e.writeFileSync(y,JSON.stringify(g,null,"\t"));const v=h.config||"npm";let k=(await i({name:v,dir:d.projectDir,tags:d.tags,optional:!0}))?.data;if(!k){const o=n({dir:l,pattern:"@fnet/cli-project-schemas/dist/schemas/to-npm.yaml",absolute:!0});if(0===o.length)throw new Error("Couldnt find schema to create npm config");const r=await s({schema:o[0],tags:d.tags}),i=d.project.projectDir,p=t.resolve(i,".fnet");e.existsSync(p)||e.mkdirSync(p),e.writeFileSync(t.resolve(p,`${v}.fnet`),m.stringify(r)),k=r}if(e.writeFileSync(t.resolve(w,".npmrc"),`//registry.npmjs.org/:_authToken=${k.env.NPM_TOKEN}`),!0!==h.dryRun){if(p("bun")){if(0!==(await r("bun publish --access public",{cwd:w})).code)throw new Error("Couldnt publish to npm")}else{if(0!==(await r("npm publish --access public",{cwd:w})).code)throw new Error("Couldnt publish to npm")}e.writeFileSync(y,b),f.isDirty=!0,h.version=g.version,u.set("version",g.version)}}export{c as default};
@@ -1 +0,0 @@
1
- import e from"node:fs";import t from"node:path";import r from"semver";import o from"@fnet/shelljs";import i from"@fnet/config";import n from"@fnet/up-list-files";import s from"@fnet/object-from-schema";import m from"yaml";import{w as p}from"./index.js";import{fileURLToPath as a}from"node:url";import"node:child_process";import"node:os";import"yargs";import"@fnet/prompt";import"@fnet/yaml";import"@fnet/shell-flow";import"@flownet/lib-render-templates-dir";import"node:util";import"tree-kill";import"nunjucks";import"node:crypto";import"@flownet/lib-atom-api-js";import"@flownet/lib-parse-node-url";import"@flownet/lib-parse-imports-js";import"@fnet/list-files";import"chalk";import"redis";import"@flownet/lib-is-redis-online";import"lodash.merge";import"@fnet/npm-list-versions";import"@fnet/npm-pick-versions";import"object-hash";import"ajv/dist/2020.js";import"ajv/dist/standalone/index.js";import"ajv-formats";import"@fnet/auto-conda-env";const l=t.dirname(a(import.meta.url));async function c({atom:a,setProgress:c,context:f,deploymentProject:d,deploymentProjectTarget:u,yamlTarget:w}){await c({message:"Deploying it as npm package."});const h=f.projectDir,y=t.resolve(h,"package.json"),g=e.readFileSync(y),j=JSON.parse(g);j.name=u.params.name,j.version=r.inc(u.version,"patch");const b=u.params.bin?.name||u.params.bin;!1!==u.params.bin?.enabled&&b&&"string"==typeof b&&(j.bin={[b]:"dist/cli/esm/index.js"}),delete j.scripts,delete j.devDependencies,j.scripts={serve:"npx serve ."},e.writeFileSync(y,JSON.stringify(j,null,"\t"));const v=u.config||"npm";let S=(await i({name:v,dir:f.projectDir,tags:f.tags,optional:!0}))?.data;if(!S){const r=n({dir:l,pattern:"@fnet/cli-project-schemas/dist/schemas/to-npm.yaml",absolute:!0});if(0===r.length)throw new Error("Couldnt find schema to create npm config");const o=await s({schema:r[0],tags:f.tags}),i=f.project.projectDir,p=t.resolve(i,".fnet");e.existsSync(p)||e.mkdirSync(p),e.writeFileSync(t.resolve(p,`${v}.fnet`),m.stringify(o)),S=o}if(e.writeFileSync(t.resolve(h,".npmrc"),`//registry.npmjs.org/:_authToken=${S.env.NPM_TOKEN}`),!0!==u.dryRun){if(p("bun")){if(0!==(await o("bun publish --access public",{cwd:h})).code)throw new Error("Couldnt publish to npm")}else{if(0!==(await o("npm publish --access public",{cwd:h})).code)throw new Error("Couldnt publish to npm")}e.writeFileSync(y,g),d.isDirty=!0,u.version=j.version,w.set("version",j.version)}}export{c as default};
package/readme.md DELETED
@@ -1,50 +0,0 @@
1
- # :warning: Warning
2
-
3
- This tool is in its early stages of development. Changes in its usage are highly likely. Please use with caution.
4
-
5
-
6
- # @fnet/cli: Flow Node & Flow Project Setup Guide
7
-
8
- ## Overview
9
-
10
- The `@fnet/cli` is a command-line interface tool designed to facilitate the development and deployment of flow-based projects within the fnet ecosystem. It simplifies the processes of creating, managing, and deploying flow-based projects, acting as a bridge between developers and the fnet platform.
11
-
12
- ## Prerequisites
13
-
14
- Ensure you have `@fnet/cli` installed globally:
15
- ```bash
16
- npm i @fnet/cli -g
17
- ```
18
-
19
- Upon installation, two binary commands become available: `fnet` (for flow projects) and `fnode` (for flow node projects).
20
-
21
- ## Identifying Project Type
22
-
23
- - Flow Node Project: Presence of `node.yaml`. Use `fnode` commands.
24
- - Flow Project: Presence of `fnet.yaml`. Use `fnet` commands.
25
-
26
- ## Building the Project
27
-
28
- For Flow Node:
29
- ```bash
30
- fnode build
31
- ```
32
-
33
- For Flow:
34
- ```bash
35
- fnet build
36
- ```
37
-
38
- Both commands generate a `.workspace` directory with files and configurations for debugging, building, and deploying.
39
-
40
- ## Watching the Project (Development Mode)
41
-
42
- For Flow Node:
43
- ```bash
44
- fnode watch
45
- ```
46
-
47
- For Flow:
48
- ```bash
49
- fnet watch
50
- ```