Skip to content

Instantly share code, notes, and snippets.

@ericvicenti
Created February 10, 2017 01:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericvicenti/4a10c1349ba4ab0e4f6e6e2f95cfcfd8 to your computer and use it in GitHub Desktop.
Save ericvicenti/4a10c1349ba4ab0e4f6e6e2f95cfcfd8 to your computer and use it in GitHub Desktop.
React FS Renderer Example
{
"presets": ["react", "latest"]
}
import React from 'react';
import {
renderToFS,
} from 'react-fs-renderer';
const JSONFile = ({ name, json }) => (
<file
name={`${name}.json`}
children={JSON.stringify(json)}
/>
);
const MyProjectTemplate = ({ name, displayName }) => (
<folder>
<JSONFile name="app" json={{ name, displayName }} />
<JSONFile name="package" json={{
name,
version: '0.0.0',
main: 'src/${}.js',
dependencies: {react: '^15.4.2'}
}} />
<folder name="src">
<file name={`${name}.js`} children={"mainFileContent"} />
</folder>
</folder>
);
renderToFS(
<MyProjectTemplate
displayName="My Great App"
name="GreatApp"
/>,
'./testDir'
);
{
"name": "MyProjectTemplateGenerator",
"version": "0.0.0",
"main": "lib/MyProjectTemplateGenerator.js",
"scripts": {
"go": "node lib/MyProjectTemplateGenerator",
"build": "babel MyProjectTemplateGenerator.js --out-dir lib"
},
"dependencies": {
"react": "^15.4.2",
"react-fs-renderer": "^1.0.0"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-latest": "^6.22.0",
"babel-preset-react": "^6.22.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment