mirror of
https://github.com/ascribe/onion.git
synced 2024-12-22 17:33:14 +01:00
36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
# Git Submodule Workflow
|
|
|
|
**ATTENTION: Adding submodules at the wrong place of the project will actually f&%k up your git if you want to remove them again. So please take all those steps with care!!!**
|
|
|
|
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 (
|
|
<div></div>
|
|
);
|
|
}
|
|
});
|
|
|
|
export default MyComponent;
|
|
```
|
|
|
|
3. Open a shell and go to `cd onion/node_modules`
|
|
4. Commit and push to your newly created repository
|
|
5. Open `.gitignore` and add your future package folder to *NOT* to be ignored by git `!node_modules/<my-repository-name>`
|
|
6. Copy the repository's SSH link from bitbucket
|
|
7. Do `git submodule add <your-ssh-link>`
|
|
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/<my_component>/*.js'`
|
|
12. THAT'S IT! YOU'RE AWESOME!
|