{"id":20697762,"url":"https://github.com/opennti/nti.util.project.scripts","last_synced_at":"2025-08-27T17:23:03.800Z","repository":{"id":154601050,"uuid":"93764618","full_name":"OpenNTI/nti.util.project.scripts","owner":"OpenNTI","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-17T11:04:45.000Z","size":2487,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T02:51:33.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNTI.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-08T15:24:27.000Z","updated_at":"2023-04-24T15:18:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"31136b79-646e-49e3-8160-cde6410ea4d3","html_url":"https://github.com/OpenNTI/nti.util.project.scripts","commit_stats":null,"previous_names":[],"tags_count":873,"template":false,"template_full_name":null,"purl":"pkg:github/OpenNTI/nti.util.project.scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNTI%2Fnti.util.project.scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNTI%2Fnti.util.project.scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNTI%2Fnti.util.project.scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNTI%2Fnti.util.project.scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNTI","download_url":"https://codeload.github.com/OpenNTI/nti.util.project.scripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNTI%2Fnti.util.project.scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272356664,"owners_count":24920356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T00:19:42.041Z","updated_at":"2025-08-27T17:23:03.779Z","avatar_url":"https://github.com/OpenNTI.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD030 MD033 --\u003e\n\n# nti.util.project.scripts\n\nRepo of project scripts. These scripts manage dependencies as well as project life cycles.\n\n## Project structure\n\nThis 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.\n\n| dir                                                                     | purpose                                                                                                                                                                                            |\n| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [`.github`][.github]                                                    | This directory contains the configuration files for github features (dependabot, actions, etc)                                                                                                     |\n| [`actions/sync`][actions/sync]                                          | A custom github action step to synchronize project template files into all dependent projects within the NextThought org                                                                           |\n| [`packages`][packages]                                                  | The main directory of all leaf projects                                                                                                                                                            |\n| [`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.                                                        |\n| [`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.                                                                       |\n| [`packages/command-gen-docs`][cmd-gen-docs]                             | Prototype command to generate documents from jsdoc comments. Was never really used.                                                                                                                |\n| [`packages/command-pre-commit`][cmd-pre-commit]                         | Command run during a precommit event. Blocking code with lint errors.                                                                                                                              |\n| [`packages/command-release`][cmd-release]                               | The command that releases a new release from master or a new patch from maint.                                                                                                                     |\n| [`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.                                                                  |\n| [`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. |\n| [`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.      |\n| [`packages/command-workspace-refresh`][cmd-workspace-refresh]           | Reinitialize the workspace, reinstalling node_modules.                                                                                                                                             |\n| [`packages/dev-ssl-config`][dev-ssl-config]                             | dev tool library to acquire the ssl cert from the docker container or the locally install buildout.                                                                                                |\n| [`packages/github-api`][github-api]                                     | API library wrapper for github. Used by various command line tools in this repo.                                                                                                                   |\n| [`packages/lint-config-app-scripts`][lint-config-app-scripts]           | Extends `lint-config-lib-scripts` to add/configure lint rules appropriate from React projects.                                                                                                     |\n| [`packages/lint-config-lib-scripts`][lint-config-lib-scripts]           | Sets the base lint rules for all js projects                                                                                                                                                       |\n| [`packages/lint-config-styles`][lint-config-styles]                     | Sets the base lint rules for all css in each project.                                                                                                                                              |\n| [`packages/scripts-app`][scripts-app]                                   | Extends lib-scripts to add webpack config and dev-server common runtime and overrides some templates                                                                                               |\n| [`packages/scripts-ci`][scripts-ci]                                     | Defines the steps used in Jenkinsfile pipelines and commands for GitHub Actions to test/lint/build projects                                                                                        |\n| [`packages/scripts-cmp`][scripts-cmp]                                   | Extends app-scripts to add storybook and templates/config/commands appropriate for component libraries that are not standalone apps.                                                               |\n| [`packages/scripts-lib`][scripts-lib]                                   | Defines the template files, common configs, and actions for js projects. (start, test, fix, snapshot, init, install, etc)                                                                          |\n\n### Core concepts\n\n1. Command hierarchy: lib -\u003e app -\u003e cmp. each overrides portions of the templates and commands in the package below it.\n2. These projects depend on a paths.js that makes the assumption that commands are executed by npm in the host project root.\n3. 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.\n4. node_module resolution algorithm is heavily assumed\n\n### Common dependencies\n\nDependencies needed by the build/test tools as well as shared (react) libraries are mananaged by specifying them in the lib/app scripts projects.\n\n---\n\n## Build Statuses\n\n[![Health Check](https://github.com/NextThought/nti.web.app/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.app/actions) nti.web.app\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.environments/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.environments/actions) nti.web.environments\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.login/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.login/actions) nti.web.login\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.mobile/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.mobile/actions) nti.web.mobile\u003cbr/\u003e\n\n---\n\n[![Health Check](https://github.com/NextThought/nti.lib.analytics/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.analytics/actions) nti.lib.analytics\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.anchors/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.anchors/actions) nti.lib.anchors\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.commons/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.commons/actions) nti.lib.commons\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.content-processing/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.content-processing/actions) nti.lib.content-processing\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.decorators/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.decorators/actions) nti.lib.decorators\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.dispatcher/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.dispatcher/actions) nti.lib.dispatcher\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.dom/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.dom/actions) nti.lib.dom\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.interfaces/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.interfaces/actions) nti.lib.interfaces\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.locale/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.locale/actions) nti.lib.locale\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.ntiids/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.ntiids/actions) nti.lib.ntiids\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.ranges/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.ranges/actions) nti.lib.ranges\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.store.connector/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.store.connector/actions) nti.lib.store.connector\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.store/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.store/actions) nti.lib.store\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.lib.whiteboard/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.lib.whiteboard/actions) nti.lib.whiteboard\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.util.detection.touch/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.util.detection.touch/actions) nti.util.detection.touch\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.util.git.rev/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.util.git.rev/actions) nti.util.git.rev\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.util.ios-version/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.util.ios-version/actions) nti.util.ios-version\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.util.logger/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.util.logger/actions) nti.util.logger\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.assignment-editor/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.assignment-editor/actions) nti.web.assignment-editor\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.calendar/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.calendar/actions) nti.web.calendar\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.catalog/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.catalog/actions) nti.web.catalog\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.charts/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.charts/actions) nti.web.charts\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.client/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.client/actions) nti.web.client\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.commons/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.commons/actions) nti.web.commons\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.contacts/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.contacts/actions) nti.web.contacts\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.content/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.content/actions) nti.web.content\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.core/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.core/actions) nti.web.core\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.course/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.course/actions) nti.web.course\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.discussions/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.discussions/actions) nti.web.discussions\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.editor/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.editor/actions) nti.web.editor\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.help/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.help/actions) nti.web.help\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.integrations/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.integrations/actions) nti.web.integrations\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.library/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.library/actions) nti.web.library\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.modeled-content/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.modeled-content/actions) nti.web.modeled-content\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.notifications/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.notifications/actions) nti.web.notifications\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.payments/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.payments/actions) nti.web.payments\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.profiles/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.profiles/actions) nti.web.profiles\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.reports/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.reports/actions) nti.web.reports\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.routing/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.routing/actions) nti.web.routing\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.search/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.search/actions) nti.web.search\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.service/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.service/actions) nti.web.service\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.session/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.session/actions) nti.web.session\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.storage/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.storage/actions) nti.web.storage\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.video/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.video/actions) nti.web.video\u003cbr/\u003e\n[![Health Check](https://github.com/NextThought/nti.web.whiteboard/workflows/Project%20Health/badge.svg)](https://github.com/NextThought/nti.web.whiteboard/actions) nti.web.whiteboard\u003cbr/\u003e\n\n[.github]: https://github.com/NextThought/nti.util.project.scripts/tree/master/.github\n[actions/sync]: https://github.com/NextThought/nti.util.project.scripts/tree/master/actions/sync\n[packages]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages\n[cmd-clone]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-clone\n[cmd-fix]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-fix\n[cmd-gen-docs]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-gen-docs\n[cmd-pre-commit]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-pre-commit\n[cmd-release]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-release\n[cmd-rollup]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-rollup\n[cmd-snapshot]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-snapshot\n[cmd-workspace-post-install]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-workspace-post-install\n[cmd-workspace-refresh]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/command-workspace-refresh\n[dev-ssl-config]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/dev-ssl-config\n[github-api]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/github-api\n[lint-config-app-scripts]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-app-scripts\n[lint-config-lib-scripts]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-lib-scripts\n[lint-config-styles]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/lint-config-styles\n[scripts-app]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-app\n[scripts-ci]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-ci\n[scripts-cmp]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-cmp\n[scripts-lib]: https://github.com/NextThought/nti.util.project.scripts/tree/master/packages/scripts-lib\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennti%2Fnti.util.project.scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennti%2Fnti.util.project.scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennti%2Fnti.util.project.scripts/lists"}