{"id":30284893,"url":"https://github.com/bishopz/sandbox","last_synced_at":"2026-04-08T20:51:33.991Z","repository":{"id":145862024,"uuid":"99717808","full_name":"bishopZ/Sandbox","owner":"bishopZ","description":"Starter library for Node.js applications on Google Cloud Platform using a flexible Gulp/Babel build system","archived":false,"fork":false,"pushed_at":"2019-04-04T22:10:46.000Z","size":1621,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-16T19:38:34.477Z","etag":null,"topics":["babel","gcp","gulp","javascript","react","starter-library"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bishopZ.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,"zenodo":null}},"created_at":"2017-08-08T17:15:06.000Z","updated_at":"2020-11-08T13:30:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae14a1bf-fc81-4335-8084-39a26ae5a214","html_url":"https://github.com/bishopZ/Sandbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bishopZ/Sandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishopZ%2FSandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishopZ%2FSandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishopZ%2FSandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishopZ%2FSandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bishopZ","download_url":"https://codeload.github.com/bishopZ/Sandbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishopZ%2FSandbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31573788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["babel","gcp","gulp","javascript","react","starter-library"],"created_at":"2025-08-16T19:38:28.827Z","updated_at":"2026-04-08T20:51:33.984Z","avatar_url":"https://github.com/bishopZ.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Sandbox\n\nStarter library for Node.js applications using a flexible Gulp/Babel build system.\n\n\n## Actively Seeking Beta Tester and Contributors\n\nTry it out and let us know where you run into confusion or problems. Contribute to the [Issues Page](https://github.com/bishopZ/Sandbox/issues), or hit us up to become a code contributor. There are many small improvements you could make that would get your name added to the project!\n\n\n## File Notes\n\nThere are a number of configutation files in the root director.\n\n- `package.json` is the main configuration file\n- `Procfile` sets the Heroku startup script\n- `app.yaml` configures a basic GCP deploy\n- `gulpfile.js` is the flexible Gulp build system\n- `.eslintrc` configures what ESLint reports on\n\nThe build system is divided into an `application` folder for all your development files, and a `distribution` folder that gets deleted and rebuilt every time you run the development environment.\n\nThere is also a `server` folder which holds files for the gulp configuration and Node.js server. All the magic happens in the `/server/gulpConfiguration.js` file.\n\n\n## Running the Development Environment\n\nTwo npm commands are available `npm run dev` will run the development environment, or `npm start` to run the server environment. On your local machine, both will bind to port 8080. This can be changed in the `server/server.js` file.\n\nYou must run the development environment to create the distribution files prior to deploying. The application does not build the distribution files on server startup. This creates an extra deploy step, but significantly reduces the servercode footprint.\n\n### [Gulp](https://gulpjs.com/) and [Webpack](https://webpack.github.io/)\n\nWith this build system we opted to use Gulp instead of Webpack. [Technically, they do different things](https://stackoverflow.com/questions/33561272/task-runners-gulp-grunt-etc-and-bundlers-webpack-browserify-why-use-toge). Gulp is a task runner that can run multiple build systems such as Babel, Webpack and Browserify. This starter package does not yet include an example of running Webpack with Gulp, but there are [plenty of those available elsewhere](https://webpack.github.io/docs/usage-with-gulp.html).\n\nWe like Webpack, but it can be very restrictive and the documentation is [frequently out of date](https://github.com/webpack/webpack/issues/2101). On the other hand, Gulp also comes with some disadvantages. At this point in development, the included Gulp environment will frequently stop running and need to be restarted. Also, becuase of the way the `watch` tasks are setup, the development environment needs to be restarted whenever a new file is added to the application.\n\nIn future versions we hope to combine the best of both the Webpack and Gulp worlds.\n\n\n## Example Projects\n\nThree example projects are included. Project 1 is set as the default project that is shown when the site's root directory is requested (http://localhost:8080/). This can be changed in the `/server/server.js` file.\n\nEach example has a corrisponding object in the `server/gulpConfiguration.js` file. To create a new project folder, create the folder in the `application` folder add a build task to this `gulpConfiguration.js`.\n\n### Example 1: Simple ES6 with EJS and Sass\n\nES6 build with Babel, which does not support `import` statements. Indead librariesare bundled in with Gulp.\n\n### Example 2: ES6 with Imports\n\nFull ES6 build with support for import statements.\n\n### Example 3: React\n\nAn examples of React, Redux, and React Router v4.\n\n\n\n## Deploy to [Google Cloud Platform](https://cloud.google.com/)\n\n1.  Install [Node.js](https://nodejs.org/en/).\n1.  Install [git](https://git-scm.com/).\n1.  Create a [Google Cloud Platform project](https://console.cloud.google.com).\n1.  Install the [Google Cloud SDK](https://cloud.google.com/sdk/).\n\n1.  After downloading the SDK, initialize it:\n\n        gcloud init\n        git clone https://github.com/bishopZ/Sandbox\n        cd Sandbox\n        npm install\n        npm run dev\n\n1.  View the app at [http://localhost:8080](http://localhost:8080).\n1.  Stop the app by pressing `Ctrl+C`.\n1.  Deploy the app:\n\n        gcloud app deploy\n\n1.  View the deployed app at [https://YOUR_PROJECT_ID.appspot.com](https://YOUR_PROJECT_ID.appspot.com).\n\n\n\n## Deploy to [Heroku](https://www.heroku.com/)\n\n1.  Install [git](https://git-scm.com/).\n1.  Install [Heroku Toolbelt](https://devcenter.heroku.com/articles/heroku-cli).\n1.  Initialize the Heroku app:\n\n        git clone https://github.com/bishopZ/Sandbox/\n        cd Sandbox\n        heroku create\n        npm install\n        npm run dev\n\n1.  View the app at [http://localhost:8080](http://localhost:8080).\n1.  Stop the app by pressing `Ctrl+C`.\n1.  Deploy the app:\n\n        git add .\n        git commit -m \"intial commit\"\n        git push heroku master\n\n1.  View the deployed app:\n\n        heroku open\n\n\n\n\n## Contributors\n\n- [Bishop Zareh](http://bishopz.com) http://bishopz.com\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishopz%2Fsandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbishopz%2Fsandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishopz%2Fsandbox/lists"}