mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
Merge pull request #10182 from jakemcdermott/standardize-dependency-updates
Use development container when updating dependencies GOAL When adding, updating, or removing a package, the resultant changeset to the package.json and package-lock.json files that we check into devel should be consistent and reproducible, regardless of who is doing the update or what machine they're doing the update on. SUMMARY OF CHANGES Even though we usually run the ui development tooling outside of the awx development container, we should standardize on using this environment to update packages to ensure some consistency. Use npm ci instead of npm install as the default package installation command, since we generally want to modify package files only when updating deps You can run into memory limits from docker or node when building in the container, so increase the node memory limit and add a note to the docs that you may need to increase the container memory limit in your docker-for-mac settings (or similar tool, if you use it) Reviewed-by: Kersom <None> Reviewed-by: Keith Grant <keithjgrant@gmail.com> Reviewed-by: Tiago Góes <tiago.goes2009@gmail.com>
This commit is contained in:
commit
2c2aaa7fea
2
Makefile
2
Makefile
@ -387,7 +387,7 @@ clean-ui:
|
||||
rm -rf $(UI_BUILD_FLAG_FILE)
|
||||
|
||||
awx/ui_next/node_modules:
|
||||
$(NPM_BIN) --prefix awx/ui_next --loglevel warn install
|
||||
NODE_OPTIONS=--max-old-space-size=4096 $(NPM_BIN) --prefix awx/ui_next --loglevel warn ci
|
||||
|
||||
$(UI_BUILD_FLAG_FILE):
|
||||
$(NPM_BIN) --prefix awx/ui_next --loglevel warn run compile-strings
|
||||
|
||||
@ -62,26 +62,39 @@ npm --prefix awx/ui_next run test -- --coverage
|
||||
- All commands are run on your host machine and not in the api development containers.
|
||||
|
||||
|
||||
## Adding Dependencies
|
||||
## Updating Dependencies
|
||||
It is not uncommon to run the ui development tooling outside of the awx development
|
||||
container. That said, dependencies should always be modified from within the
|
||||
container to ensure consistency.
|
||||
|
||||
```shell
|
||||
# add an exact development or build dependency
|
||||
npm --prefix awx/ui_next install --save-dev --save-exact dev-package@1.2.3
|
||||
# make sure the awx development container is running and open a shell
|
||||
docker exec -it tools_awx_1 bash
|
||||
|
||||
# start with a fresh install of the current dependencies
|
||||
(tools_awx_1)$ make clean-ui && npm --prefix=awx/ui_next ci
|
||||
|
||||
# add an exact development dependency
|
||||
(tools_awx_1)$ npm --prefix awx/ui_next install --save-dev --save-exact dev-package@1.2.3
|
||||
|
||||
# add an exact production dependency
|
||||
npm --prefix awx/ui_next install --save --save-exact prod-package@1.23
|
||||
(tools_awx_1)$ npm --prefix awx/ui_next install --save --save-exact prod-package@1.23
|
||||
|
||||
# remove a development dependency
|
||||
(tools_awx_1)$ npm --prefix awx/ui_next uninstall --save-dev dev-package
|
||||
|
||||
# remove a production dependency
|
||||
(tools_awx_1)$ npm --prefix awx/ui_next uninstall --save prod-package
|
||||
|
||||
# exit the container
|
||||
(tools_awx_1)$ exit
|
||||
|
||||
# add the updated package.json and package-lock.json files to scm
|
||||
git add awx/ui_next_next/package.json awx/ui_next_next/package-lock.json
|
||||
```
|
||||
|
||||
## Removing Dependencies
|
||||
```shell
|
||||
# remove a development or build dependency
|
||||
npm --prefix awx/ui_next uninstall --save-dev dev-package
|
||||
|
||||
# remove a production dependency
|
||||
npm --prefix awx/ui_next uninstall --save prod-package
|
||||
```
|
||||
#### Note:
|
||||
- Building the ui can use up a lot of resources. If you're running docker for mac or similar
|
||||
virtualization, the default memory limit may not be enough and you should increase it.
|
||||
|
||||
## Building for Production
|
||||
```shell
|
||||
|
||||
1341
awx/ui_next/package-lock.json
generated
1341
awx/ui_next/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user