Open jmcook1186 opened 6 months ago
@jmcook1186 thinking through the next up task for @narekhovhannisyan this one seems the best as it has fewest dependencies and would actually be immediately useful for everyone. Although after writing it seems that if-env might be a dependency so will spec that out also.
I believe a reasonable assumption for a phase 1 if this tool is it just uploads the contents of the current folder to stack blitz.
Acceptance Criteria
Given the user has if installed locally and is running a manifest file in the current folder When they call if-blitz . Then it copies all the local folder (minus things like node modules) into a public stack blitz and prints a clickable link in the console so users can run their manifests online.
Given the user has if installed locally or globally and is running a manifest file in a different folder When they call if-blitz /path/to/manifest.yml Then it creates a local folder, calls if-env /path/to/manifest.yml in that folder to generate a package JSON, copies the manifest file into that folder and then uploads that whole folder to stack blitz and prints the link out to the console.
Yes, it looks like if-blitz
could wrap the stackblitz POST API endoint to create a project: https://developer.stackblitz.com/platform/api/post-api
It should be able to infer the right payloads from the local file structure.
It's not entirely clear to me how the stackblitz environment should include the dependencies for installed packages without also uploading the node_modules directory - i guess this is why you suggested if-env
as a prerequisite.
But it also needs the build artifacts from the installed plugins from node_modules.
@narekhovhannisyan any ideas for this?
@jmcook1186 It seems they have strong node.js SDK and template support for node.js. "stackblitz": { "installDependencies": true,
property in package.json solves that problem. Will dive deeper later.
@jawache do you feel that this is still very important to deliver before we move on to the Inputs & Outputs? cc @jmcook1186
@zanete no it can be deprioritized. In fact I think this would make for a very good community contribution, help wanted, feature.
@jmcook1186 when you have a moment, please review the description and then it can be a community
Sub of #651
User story
As a user I want to be able to quickly test out IF in a sandbox environment. When I raise bug reports I ant to be ablke to link to an online sandbox so devs can instantly repro.
Rationale
A command line tool that will take a user's current environment and instantly replicate it in an online sandbox that can be shared with devs. This will help people to accurately report bugs, experiment with things in a safe environment, etc.
Implementation details
Priority
3/5
Size
L
What does "done" look like?
feature merged to if/main documentation added to if.greensoftware.foundation
Deadline
tbc