https://github.com/opennti/nti.util.project.scripts
https://github.com/opennti/nti.util.project.scripts
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/opennti/nti.util.project.scripts
- Owner: OpenNTI
- License: other
- Created: 2017-06-08T15:24:27.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-07-17T11:04:45.000Z (almost 3 years ago)
- Last Synced: 2025-03-11T02:51:33.997Z (over 1 year ago)
- Language: JavaScript
- Size: 2.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# nti.util.project.scripts
Repo of project scripts. These scripts manage dependencies as well as project life cycles.
## Project structure
This is a lerna mono-repo. The root package is a meta package and does not represent a single artifact. Its sole purpose is to manage lerna and common dependencies for releasing/testing the individual projects within.
| dir | purpose |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`.github`][.github] | This directory contains the configuration files for github features (dependabot, actions, etc) |
| [`actions/sync`][actions/sync] | A custom github action step to synchronize project template files into all dependent projects within the NextThought org |
| [`packages`][packages] | The main directory of all leaf projects |
| [`packages/command-clone`][cmd-clone] | The main initialization command to clone all projects and install them into a workspace. Workspace template files are located here as well. |
| [`packages/command-fix`][cmd-fix] | The command to start a fix on a maintenance branch. This will create/checkout-head of the `maint-X.X` branch of the project. |
| [`packages/command-gen-docs`][cmd-gen-docs] | Prototype command to generate documents from jsdoc comments. Was never really used. |
| [`packages/command-pre-commit`][cmd-pre-commit] | Command run during a precommit event. Blocking code with lint errors. |
| [`packages/command-release`][cmd-release] | The command that releases a new release from master or a new patch from maint. |
| [`packages/command-rollup`][cmd-rollup] | A tool to run rollup on a directory with just a rollup config. Was only used to babel / commonjs-ify the mobile server directory. |
| [`packages/command-snapshot`][cmd-snapshot] | This command will dispatch an event to github to start a snapshot build. This command is context aware of the current directory and will use the github origin to send the dispatch event details. |
| [`packages/command-workspace-post-install`][cmd-workspace-post-install] | To workaround a limitation of npm7, this script performs some cleanup and invokes the workspace's 'build' script defined in the root package.json as well as run docker setup/update scripts. |
| [`packages/command-workspace-refresh`][cmd-workspace-refresh] | Reinitialize the workspace, reinstalling node_modules. |
| [`packages/dev-ssl-config`][dev-ssl-config] | dev tool library to acquire the ssl cert from the docker container or the locally install buildout. |
| [`packages/github-api`][github-api] | API library wrapper for github. Used by various command line tools in this repo. |
| [`packages/lint-config-app-scripts`][lint-config-app-scripts] | Extends `lint-config-lib-scripts` to add/configure lint rules appropriate from React projects. |
| [`packages/lint-config-lib-scripts`][lint-config-lib-scripts] | Sets the base lint rules for all js projects |
| [`packages/lint-config-styles`][lint-config-styles] | Sets the base lint rules for all css in each project. |
| [`packages/scripts-app`][scripts-app] | Extends lib-scripts to add webpack config and dev-server common runtime and overrides some templates |
| [`packages/scripts-ci`][scripts-ci] | Defines the steps used in Jenkinsfile pipelines and commands for GitHub Actions to test/lint/build projects |
| [`packages/scripts-cmp`][scripts-cmp] | Extends app-scripts to add storybook and templates/config/commands appropriate for component libraries that are not standalone apps. |
| [`packages/scripts-lib`][scripts-lib] | Defines the template files, common configs, and actions for js projects. (start, test, fix, snapshot, init, install, etc) |
### Core concepts
1. Command hierarchy: lib -> app -> cmp. each overrides portions of the templates and commands in the package below it.
2. These projects depend on a paths.js that makes the assumption that commands are executed by npm in the host project root.
3. configs are passed to tools by wrappers. eg: test calls jest and passes a config. in app-scripts, start wraps web-service and passes a config.
4. node_module resolution algorithm is heavily assumed
### Common dependencies
Dependencies needed by the build/test tools as well as shared (react) libraries are mananaged by specifying them in the lib/app scripts projects.
---
## Build Statuses
[](https://github.com/NextThought/nti.web.app/actions) nti.web.app
[](https://github.com/NextThought/nti.web.environments/actions) nti.web.environments
[](https://github.com/NextThought/nti.web.login/actions) nti.web.login
[](https://github.com/NextThought/nti.web.mobile/actions) nti.web.mobile
---
[](https://github.com/NextThought/nti.lib.analytics/actions) nti.lib.analytics
[](https://github.com/NextThought/nti.lib.anchors/actions) nti.lib.anchors
[](https://github.com/NextThought/nti.lib.commons/actions) nti.lib.commons
[](https://github.com/NextThought/nti.lib.content-processing/actions) nti.lib.content-processing
[](https://github.com/NextThought/nti.lib.decorators/actions) nti.lib.decorators
[](https://github.com/NextThought/nti.lib.dispatcher/actions) nti.lib.dispatcher
[](https://github.com/NextThought/nti.lib.dom/actions) nti.lib.dom
[](https://github.com/NextThought/nti.lib.interfaces/actions) nti.lib.interfaces
[](https://github.com/NextThought/nti.lib.locale/actions) nti.lib.locale
[](https://github.com/NextThought/nti.lib.ntiids/actions) nti.lib.ntiids
[](https://github.com/NextThought/nti.lib.ranges/actions) nti.lib.ranges
[](https://github.com/NextThought/nti.lib.store.connector/actions) nti.lib.store.connector
[](https://github.com/NextThought/nti.lib.store/actions) nti.lib.store
[](https://github.com/NextThought/nti.lib.whiteboard/actions) nti.lib.whiteboard
[](https://github.com/NextThought/nti.util.detection.touch/actions) nti.util.detection.touch
[](https://github.com/NextThought/nti.util.git.rev/actions) nti.util.git.rev
[](https://github.com/NextThought/nti.util.ios-version/actions) nti.util.ios-version
[](https://github.com/NextThought/nti.util.logger/actions) nti.util.logger
[](https://github.com/NextThought/nti.web.assignment-editor/actions) nti.web.assignment-editor
[](https://github.com/NextThought/nti.web.calendar/actions) nti.web.calendar
[](https://github.com/NextThought/nti.web.catalog/actions) nti.web.catalog
[](https://github.com/NextThought/nti.web.charts/actions) nti.web.charts
[](https://github.com/NextThought/nti.web.client/actions) nti.web.client
[](https://github.com/NextThought/nti.web.commons/actions) nti.web.commons
[](https://github.com/NextThought/nti.web.contacts/actions) nti.web.contacts
[](https://github.com/NextThought/nti.web.content/actions) nti.web.content
[](https://github.com/NextThought/nti.web.core/actions) nti.web.core
[](https://github.com/NextThought/nti.web.course/actions) nti.web.course
[](https://github.com/NextThought/nti.web.discussions/actions) nti.web.discussions
[](https://github.com/NextThought/nti.web.editor/actions) nti.web.editor
[](https://github.com/NextThought/nti.web.help/actions) nti.web.help
[](https://github.com/NextThought/nti.web.integrations/actions) nti.web.integrations
[](https://github.com/NextThought/nti.web.library/actions) nti.web.library
[](https://github.com/NextThought/nti.web.modeled-content/actions) nti.web.modeled-content
[](https://github.com/NextThought/nti.web.notifications/actions) nti.web.notifications
[](https://github.com/NextThought/nti.web.payments/actions) nti.web.payments
[](https://github.com/NextThought/nti.web.profiles/actions) nti.web.profiles
[](https://github.com/NextThought/nti.web.reports/actions) nti.web.reports
[](https://github.com/NextThought/nti.web.routing/actions) nti.web.routing
[](https://github.com/NextThought/nti.web.search/actions) nti.web.search
[](https://github.com/NextThought/nti.web.service/actions) nti.web.service
[](https://github.com/NextThought/nti.web.session/actions) nti.web.session
[](https://github.com/NextThought/nti.web.storage/actions) nti.web.storage
[](https://github.com/NextThought/nti.web.video/actions) nti.web.video
[](https://github.com/NextThought/nti.web.whiteboard/actions) nti.web.whiteboard
[.github]: https://github.com/NextThought/nti.util.project.scripts/tree/master/.github
[actions/sync]: https://github.com/NextThought/nti.util.project.scripts/tree/master/actions/sync
[packages]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages
[cmd-clone]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-clone
[cmd-fix]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-fix
[cmd-gen-docs]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-gen-docs
[cmd-pre-commit]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-pre-commit
[cmd-release]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-release
[cmd-rollup]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-rollup
[cmd-snapshot]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-snapshot
[cmd-workspace-post-install]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-workspace-post-install
[cmd-workspace-refresh]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-workspace-refresh
[dev-ssl-config]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/dev-ssl-config
[github-api]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/github-api
[lint-config-app-scripts]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-app-scripts
[lint-config-lib-scripts]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-lib-scripts
[lint-config-styles]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-styles
[scripts-app]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-app
[scripts-ci]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-ci
[scripts-cmp]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-cmp
[scripts-lib]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-lib