@ncfour-us/projen-utils
Project description
projen-utils
This project contains a couple of constructs which are meant
to be used with the projen project. These utilities
extend existing projen constructs to enable easier development
of TypeScript ESM projects/packages as well as handling
pre-commit configuration in projen-managed projects.
Badges
Table of Contents
Installation
Install using npm, yarn, or pnpm (preferred).
pnpm add --save-dev @ncfour-us/projen-utils
Getting Started
The TypeScriptESMProject supports both "local" and "Github workflow" styles
of build/release handling. (NOTE: "Github workflow" handling is still
under development).
Local build and release processing
With "local" style builds/releases, a project is managed from a user's
workstation terminal interface, using the pnpm build and pnpm release
commands.
Support exists for publishing build artifacts to:
- "local" archive (a folder on the local workstation)
- "npm" package registry (the NPM Package registry)
- "github" creating tagged releases in the associated Github-hosted Git repository
There are some preparatory steps required before publishing to NPM and Github will work.
For publishing to NPM, the package MUST have first been created in NPM by a manual publishing step.
The command to publish to NPM is:
npm publish <file name .tgz file containing the package> --access public
This command will create the package in the NPM registry.
The command to create a Github repository, using the gh GitHub CLI is:
gh repo create ncfour-us/byte-buffer --public --source=. --remote=origin
This command will use the contents of the current folder to create a
Git repository on Github and link the remote repository with name origin.
After creating the repository, use git push to link the main branch
of the local repository to the main branch in GitHub using command:
git push -u origin main
Once these steps are completed, the publish tasks for NPM and GitHub can be enabled by setting:
releaseToNpm: true
releaseToGithub: true
in the constructor options of the TypeScriptESMProject project.
When running pnpm release locally, there is a requirement that the user
has active login credentials to both NPM and GitHub. For NPM, 2FA login
is required when running a npm publish. If interactive user
credentials are being used, the user will be prompted to supply their
2FA login info during the publish:npm task processing.
To login to GitHub, use the gh auth login command. Login status
can be checked using the gh auth status command. GitHub login credentials
are used during the publish:github task processing.
Contributing
Fork this repository and submit a PR.
Authors
- Tim Hahn (hahntj@gmail.com, github: @climbertjh)
License
The project is covered by the MIT license, see LICENSE.
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ncfour_us_projen_utils-0.1.16.tar.gz.
File metadata
- Download URL: ncfour_us_projen_utils-0.1.16.tar.gz
- Upload date:
- Size: 138.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09a26065e36c1d87e7345db2d9008471c812bbbdfb74fe6b796b94cd601bf575
|
|
| MD5 |
8b61368649028ecce00d577f09b7927c
|
|
| BLAKE2b-256 |
c71257861793e4b6afbba073de782b0dcf1559fe2a384c7f88fef730f04a9f65
|
Provenance
The following attestation bundles were made for ncfour_us_projen_utils-0.1.16.tar.gz:
Publisher:
release.yml on ncfour-us/projen-utils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncfour_us_projen_utils-0.1.16.tar.gz -
Subject digest:
09a26065e36c1d87e7345db2d9008471c812bbbdfb74fe6b796b94cd601bf575 - Sigstore transparency entry: 1734498326
- Sigstore integration time:
-
Permalink:
ncfour-us/projen-utils@5a93efba01baf4cc941a2e2977a70db4803f3664 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ncfour-us
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5a93efba01baf4cc941a2e2977a70db4803f3664 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncfour_us_projen_utils-0.1.16-py3-none-any.whl.
File metadata
- Download URL: ncfour_us_projen_utils-0.1.16-py3-none-any.whl
- Upload date:
- Size: 136.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a17b3d6aa65f18049050c98de28b21fce630637493aea98184d73c07664dfed6
|
|
| MD5 |
0a004c7ad58c03ff8533b4e726c69d8e
|
|
| BLAKE2b-256 |
03d501327cb2a69c6887aa5e8accd883d72d75647fd81fd53fb05f45d687929e
|
Provenance
The following attestation bundles were made for ncfour_us_projen_utils-0.1.16-py3-none-any.whl:
Publisher:
release.yml on ncfour-us/projen-utils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncfour_us_projen_utils-0.1.16-py3-none-any.whl -
Subject digest:
a17b3d6aa65f18049050c98de28b21fce630637493aea98184d73c07664dfed6 - Sigstore transparency entry: 1734497899
- Sigstore integration time:
-
Permalink:
ncfour-us/projen-utils@5a93efba01baf4cc941a2e2977a70db4803f3664 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ncfour-us
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5a93efba01baf4cc941a2e2977a70db4803f3664 -
Trigger Event:
push
-
Statement type: