{"id":16682636,"url":"https://github.com/jchip/electrode-archetype-react-app-x","last_synced_at":"2025-06-20T19:39:17.236Z","repository":{"id":66137282,"uuid":"68277202","full_name":"jchip/electrode-archetype-react-app-x","owner":"jchip","description":null,"archived":false,"fork":false,"pushed_at":"2016-09-17T10:48:53.000Z","size":128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-13T11:18:07.449Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jchip.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-15T08:14:41.000Z","updated_at":"2016-09-17T20:21:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"472e1019-8407-4eb3-8574-57aaf2f5dfbe","html_url":"https://github.com/jchip/electrode-archetype-react-app-x","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jchip/electrode-archetype-react-app-x","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchip%2Felectrode-archetype-react-app-x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchip%2Felectrode-archetype-react-app-x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchip%2Felectrode-archetype-react-app-x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchip%2Felectrode-archetype-react-app-x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jchip","download_url":"https://codeload.github.com/jchip/electrode-archetype-react-app-x/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jchip%2Felectrode-archetype-react-app-x/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261006218,"owners_count":23096006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T14:08:08.052Z","updated_at":"2025-06-20T19:39:12.216Z","avatar_url":"https://github.com/jchip.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archetype: Electrode React Isomorphic App\n\nA Walmart Labs flavored React Universal App archetype.\n\n## tl;dr\n\n#### What is this for?\n\nThis \"app archetype\" provides for common patterns across all app projects so that each app project can standardize on common development behavior and patterns. Its essentially pre-made patterns for build scripts.\n\n#### How do I start developing in my application project after installing?\n\n```bash\n# This runs both the node server and webpack (in hot mode)\n$ gulp hot\n\n# Also try `dev` mode when running off battery power and you wish to maximize battery life.\n$ gulp dev\n```\n\n#### What is `hot mode`?\n\n`Hot mode` is where webpack transpiles your javascript and css code and continues to watch for any changes, and, builds and loads only the code that has changed on disk. It allows you to develop without re-loading your browser page as the changes will be automagically piped in.\n\n#### How do I run my application tests?\n\n```bash\n# This will run test eslint and your spec tests\n$ gulp check\n```\n\n#### How do I run my application tests without going through eslint (i.e., while I'm developing)?\n\n```bash\n# This will run only your spec tests\n$ gulp test-dev\n```\n\n#### Why can't my test and code changes get automatically run with the tests?  Why do the tests take so long to start?\n\n```bash\n# This will start a webpack-dev-server to hot watch your code and also start a karma test browser that auto-reruns when specs or client code changes.\n$ gulp test-watch-all\n```\n\n#### How do I use and/or view the final build files without minifying/uglifying but also with sourcemaps?\n\n```bash\n# This will build your code and save to disk, and then start a node server (without using webpack-dev-server).\n$ gulp dev-static\n```\n\n#### Is there anything else that might be nice for my development?\n\n```bash\n# This will start the node server in debug mode so that you can place breakpoints, \"debugger\" statements, or use `node-inspector`.\n$ gulp debug\n```\n\n#### How do I view my test result in the browser?\n\nRun either of the below commands before opening the link.\n\n```\ngulp server-test\ngulp dev # (OR) (which includes `server-test`)\ngulp hot # (OR) (which includes `server-test`)\n```\nThis will serve the static assets for test.html\n\nopen [test.html]((http://localhost:3001/node_modules/electrode-archetype-react-app/config/browser_test/test.html)) to view test result.\n\n\n## Installation\n\nWe use [gulp] as a task invoker.  You should install it globally.\n\n```bash\n$ sudo npm install -g gulp\n```\n\n###### run the following in your project\n```bash\n$ npm install --save-dev gulp electrode-archetype-react-app electrode-archetype-react-app-dev\n```\n\n###### Add a `gulpfile.js`\nThe `gulpfile.js` should contain the following and be located in the root of your project\n\n```js\nrequire(\"electrode-archetype-react-app\")();\n```\n\n###### Add a `.babelrc` to your project\nThe `.babelrc` needs to extend\n[the archetype's babel configuration](config/babel/.babelrc) in order to apply the presents (ES2015, React) and the plugins like i18n. If your project needs additional Babel settings (like using stage 0 features) you can add them to this file. See the [Babel docs](https://babeljs.io/docs/usage/babelrc/) for more information.\n\n```json\n{\n  \"extends\": \"./node_modules/electrode-archetype-react-app/config/babel/.babelrc\"\n}\n```\n\n###### Use `babel-core/register` in your server entry point\n\nIf you don't have a build step for your server code, then you must transpile\non the fly using `babel-register`. For performance reasons, we recommend\nwhitelisting the `react` module to be transpiled as well, so that the\n`transform-node-env-inline` plugin gets applied to the React codebase:\n\n```js\nrequire(\"babel-core/register\")({\n  ignore: /node_modules\\/(?!react\\/)/\n});\n```\n\n###### Define client entry points\n\nBy default, the archetype uses `client/app.js` or `client/app.jsx` as a client entry point. Alternatively,\nyou can define multiple entry points for your application, so the Webpack will create bundles for each app\nentry point. To do that, place `entry.config.js` module into your app's `client` directory:\n\nHere is an **example** of `entry.config.js`:\n```js\nmodule.exports = {\n  \"web\": \"./app-web.js\",\n  \"ios\": \"./app-ios.js\",\n  \"android\": \"./app-android.js\"\n};\n```\n\n## Tasks\n\nRun `gulp` to see list of tasks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchip%2Felectrode-archetype-react-app-x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjchip%2Felectrode-archetype-react-app-x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjchip%2Felectrode-archetype-react-app-x/lists"}