{"id":18781590,"url":"https://github.com/aboutlo/gulp-starter-kit","last_synced_at":"2025-12-19T10:30:15.528Z","repository":{"id":30830235,"uuid":"34387615","full_name":"aboutlo/gulp-starter-kit","owner":"aboutlo","description":"A build system mashup based on Gulp, Browserify, Backbone and other cool stuff","archived":false,"fork":false,"pushed_at":"2020-07-15T19:44:57.000Z","size":80,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-12-29T11:16:23.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/aboutlo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-22T11:55:49.000Z","updated_at":"2015-05-05T13:57:21.000Z","dependencies_parsed_at":"2022-08-29T09:01:37.994Z","dependency_job_id":null,"html_url":"https://github.com/aboutlo/gulp-starter-kit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutlo%2Fgulp-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutlo%2Fgulp-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutlo%2Fgulp-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutlo%2Fgulp-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aboutlo","download_url":"https://codeload.github.com/aboutlo/gulp-starter-kit/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239699244,"owners_count":19682537,"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-11-07T20:32:45.324Z","updated_at":"2025-12-19T10:30:15.488Z","avatar_url":"https://github.com/aboutlo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JS Starter Kit    \n\n## What \n\nThis project is based on [gulp-starter](https//github.com/greypants/gulp-starter) but it has been heavily adapted to my needs\n\nIncludes the following tools, tasks, and workflows:\n\n- [Browserify](http://browserify.org/) (with [browserify-shim](https://github.com/thlorenz/browserify-shim))\n- [Watchify](https://github.com/substack/watchify) (caching version of browserify for super fast rebuilds)\n- [SASS](http://sass-lang.com/) (super fast libsass with [source maps](https://github.com/sindresorhus/gulp-ruby-sass#sourcemap), and [autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer))\n- [asset revisioning](https://github.com/sindresorhus/gulp-rev) (appending content hash to filenames: unicorn.css → unicorn-098f6bcd.css)\n- [BrowserSync](http://browsersync.io) for live reloading and a static server\n- [Image optimizationn](https://www.npmjs.com/package/gulp-imagemin)\n- [jstify](https://github.com/zertosh/jstify) for compile underscore template\n- [Mochify](https://github.com/mantoni/mochify.js) for run mocha via browserify pipeline\n- [Chai](http://chaijs.com/api/bdd/) for `expect` in the tests\n- [SinonJS](http://sinonjs.org/) for `stub,mock,spy` in the tests\n- [Gulp-s3-upload](https://github.com/clineamb/gulp-s3-upload) for deploy, gzip assets and handle caching on AWS s3\n- Error handling in the console [and in Notification Center](https://github.com/mikaelbr/gulp-notify)\n- Multi environment (development|testing|staging|production)\n- Flux architecture integrated with backbone \n\n\n## Install\n\n    brew install npm\n    npm install phantomjs -g\n    \n### Install npm dependencies\n\n    \n\nThis runs through all dependencies listed in `package.json` and downloads them to a `node_modules` folder in your project directory.\n\n### development\n\n    npm run dev \n\n## test \nRun tests once ( Ideal on CI )\n\n    npm run test\n\n## Build / Release\nit prepare all files in `dist` directory  \n\n    NODE_ENV=development|testing|staging|production BUILD_NUMBER=0.0.1 npm run build\n\nExample\n\n    NODE_ENV=development run build\n\n## Deploy\nit prepare all files in `dist` directory then deploy them to the configured s3 bucket \n\n    NODE_ENV=development|testing|staging|production BUILD_NUMBER=0.0.1 npm run deploy\n\nExample\n\n    NODE_ENV=development npm run deploy\n    \n## clean \nDestroy build and dist directories\n\n    npm run clean\n    \n#### Other Gulp tasks:\n  - The `sass` task compiles your css files.\n  - `images` moves images copies images from a source folder, performs optimizations, the outputs them into the build folder\n  - `markup` doesn't do anything but copy an html file over from src to build, but here is where you could do additional templating work.\n  - `watch` has `watchify` as a dependency, which will run the browserifyTask with a `devMode` flag that enables sourcemaps and watchify, a browserify add-on that enables caching for super fast recompiling. The task itself starts watching source files and will re-run the appropriate tasks when those files change.\n\n### Configuration\n\n#### Build\nAll build paths and plugin settings have been abstracted into a centralized config object in `gulp/config.js`. \nAdapt the paths and settings to the structure and needs of your project.\n\n#### AWS Keys (only to deploy)\n\nCreate a directory `~/.aws/credentials`\nThen put a JSON `credentials.json` inside the directory:\n\n    {\n      'accessKeyId': 'AAAAAAAAAAAAAAAAAAAAA',\n      'secretAccessKey': '000000000000000000000000000000000000000000'\n    }\n    \nOnce the app has been deployed activated `Enable website hosting` and point to index.html as Index Document\n\n\n#### App\nAll App settings have been abstracted into a centralized config object in `app/config.js`.\n\n    'use strict';\n    \n    module.exports = {\n    \n      buildNumber: '/* @echo buildNumber */' || '0.0.0',\n      description: '/* @echo description */' || 'development' ,\n      authURL: '/* @echo authURL */' || 'http://localhost'\n    \n    };\n\nAdd any property you need. The properties are filled reading the object `environments` in `gulp/config.js` (default:development) \n\n## TODO\n- add icon font https://github.com/cognitom/symbols-for-sketch\n- check if underscore is included twice. (browerify-shim)\n- create consolify task stating from mochify\n- Multiple bundles with shared dependencies (Need review)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutlo%2Fgulp-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faboutlo%2Fgulp-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutlo%2Fgulp-starter-kit/lists"}