diff --git a/docs/git-submodule-workflow.md b/docs/git-submodule-workflow.md new file mode 100644 index 00000000..dbf46e28 --- /dev/null +++ b/docs/git-submodule-workflow.md @@ -0,0 +1,33 @@ +# Git Submodule Workflow + +1. Create a new repository on bitbucket +2. Clone it and create the main file: `my_component.js` +```javascript + import React from 'react'; + + let MyComponent = React.createClass({ + render() { + return ( +
+ ); + } + }); + +export default MyComponent; +``` + +3. Commit and push to your newly created repository +4. Open `.gitignore` and add your future package folder to *NOT* to be ignored by git `!node_modules/` +5. Copy the repository's SSH link from bitbucket +6. Open a shell and go to `cd onion/node_modules` +7. Do `git submodule add ` +8. Git will clone the repository and add it to `node_modules` +9. open `package.json` inside of onion and adjust the `browser` field +``` +"browser": { + "MyComponent": "./node_modules/my_component/my_component.js" + } +``` +10. (Optional) If you have browserify-shims in your newly created module, then add them in the `browserify-shim` as well. Check `package.json` for example. +11. Open `gulpfile.js` and find the `filesToWatch` property of `var config`. Add your newly added `my_component` folder to it: `'node_modules//*.js'` +12. THAT'S IT! YOU'RE AWESOME! diff --git a/gulpfile.js b/gulpfile.js index a055e765..38c27949 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -45,7 +45,12 @@ var config = { 'react', 'es6' ] - } + }, + filesToWatch: [ + 'build/css/*.css', + 'build/js/*.js', + 'node_modules/react-s3-fineuploader/*.js' + ] }; var constants = { @@ -83,7 +88,7 @@ gulp.task('run-server', function() { gulp.task('browser-sync', function() { browserSync({ - files: ['build/css/*.css', 'build/js/*.js'], + files: config.filesToWatch, proxy: 'http://localhost:4000', port: 3000 });