4545* [ setup] ( #setup )
4646* [ Demos] ( #demos )
4747* [ Demos and Development] ( #demos-and-development )
48- * [Setup](#setup)
48+ * [Repo Setup](#repo- setup)
4949 * [Build](#build)
5050 * [Demos](#demos-1)
51+ * [ Contributing] ( #contributing )
52+ * [Update repo ](#update-repo-)
53+ * [Update readme ](#update-readme-)
54+ * [Update doc ](#update-doc-)
55+ * [Publish](#publish)
56+ * [modifying submodules](#modifying-submodules)
5157* [ Questions] ( #questions )
5258
5359
@@ -95,18 +101,18 @@ $ ns run ios|android
95101## Demos and Development
96102
97103
98- ### Setup
99-
100- To run the demos, you must clone this repo ** recursively** .
104+ ### Repo Setup
101105
106+ The repo uses submodules. If you did not clone with ` --recursive ` then you need to call
102107```
103- git clone https://github.com/@nativescript-community/ui-image-colorfilter.git --recursive
108+ git submodule update --init
104109```
105110
106- ** Install Dependencies:**
107- ``` bash
108- npm i # or 'yarn install' or 'pnpm install'
109- ```
111+ The package manager used to install and link dependencies must be ` pnpm ` or ` yarn ` . ` npm ` wont work.
112+
113+ To develop and test:
114+ if you use ` yarn ` then run ` yarn `
115+ if you use ` pnpm ` then run ` pnpm i `
110116
111117** Interactive Menu:**
112118
@@ -115,10 +121,9 @@ To start the interactive menu, run `npm start` (or `yarn start` or `pnpm start`)
115121### Build
116122
117123``` bash
118- npm run build
119-
120- npm run build.angular # or for Angular
124+ npm run build.all
121125```
126+ WARNING: it seems ` yarn build.all ` wont always work (not finding binaries in ` node_modules/.bin ` ) which is why the doc explicitly uses ` npm run `
122127
123128### Demos
124129
@@ -127,6 +132,61 @@ npm run demo.[ng|react|svelte|vue].[ios|android]
127132
128133npm run demo.svelte.ios # Example
129134```
135+
136+ Demo setup is a bit special in the sense that if you want to modify/add demos you dont work directly in ` demo-[ng|react|svelte|vue] `
137+ Instead you work in ` demo-snippets/[ng|react|svelte|vue] `
138+ You can start from the ` install.ts ` of each flavor to see how to register new demos
139+
140+
141+ [ ] ( #contributing )
142+
143+ ## Contributing
144+
145+ ### Update repo
146+
147+ You can update the repo files quite easily
148+
149+ First update the submodules
150+
151+ ``` bash
152+ npm run update
153+ ```
154+
155+ Then commit the changes
156+ Then update common files
157+
158+ ``` bash
159+ npm run sync
160+ ```
161+ Then you can run ` yarn|pnpm ` , commit changed files if any
162+
163+ ### Update readme
164+ ``` bash
165+ npm run readme
166+ ```
167+
168+ ### Update doc
169+ ``` bash
170+ npm run doc
171+ ```
172+
173+ ### Publish
174+
175+ The publishing is completely handled by ` lerna ` (you can add ` -- --bump major ` to force a major release)
176+ Simply run
177+ ``` shell
178+ npm run publish
179+ ```
180+
181+ ### modifying submodules
182+
183+ The repo uses https:// for submodules which means you won't be able to push directly into the submodules.
184+ One easy solution is t modify ` ~/.gitconfig ` and add
185+ ```
186+ 187+ pushInsteadOf = https://github.com/
188+ ```
189+
130190
131191[ ] ( #questions )
132192
0 commit comments