fix(core): Updated dependencies and improved npm preparation logic.

This commit is contained in:
Philipp Kunz 2024-11-05 02:38:21 +01:00
parent 66d28e5081
commit c6918399bf
6 changed files with 863 additions and 182 deletions

View File

@ -1,5 +1,14 @@
# Changelog # Changelog
## 2024-11-05 - 4.1.33 - fix(core)
Updated dependencies and improved npm preparation logic.
- Updated @git.zone/tsbuild from ^2.1.84 to ^2.2.0.
- Updated @git.zone/tsrun from ^1.2.49 to ^1.3.3.
- Updated @types/node from ^22.7.9 to ^22.8.7.
- Updated @serve.zone/api from ^1.2.1 to ^4.3.1.
- Improved npm preparation logic to handle empty tokens gracefully.
## 2024-10-23 - 4.1.32 - fix(dependencies) ## 2024-10-23 - 4.1.32 - fix(dependencies)
Update project dependencies to latest versions Update project dependencies to latest versions

View File

@ -26,11 +26,11 @@
}, },
"homepage": "https://gitlab.com/gitzone/npmci#README", "homepage": "https://gitlab.com/gitzone/npmci#README",
"devDependencies": { "devDependencies": {
"@git.zone/tsbuild": "^2.1.84", "@git.zone/tsbuild": "^2.2.0",
"@git.zone/tsrun": "^1.2.49", "@git.zone/tsrun": "^1.3.3",
"@git.zone/tstest": "^1.0.77", "@git.zone/tstest": "^1.0.77",
"@push.rocks/tapbundle": "^5.3.0", "@push.rocks/tapbundle": "^5.3.0",
"@types/node": "^22.7.9" "@types/node": "^22.8.7"
}, },
"dependencies": { "dependencies": {
"@api.global/typedrequest": "^3.1.10", "@api.global/typedrequest": "^3.1.10",
@ -54,7 +54,7 @@
"@push.rocks/smartsocket": "^2.0.22", "@push.rocks/smartsocket": "^2.0.22",
"@push.rocks/smartssh": "^2.0.1", "@push.rocks/smartssh": "^2.0.1",
"@push.rocks/smartstring": "^4.0.8", "@push.rocks/smartstring": "^4.0.8",
"@serve.zone/api": "^1.2.1", "@serve.zone/api": "^4.3.1",
"@tsclass/tsclass": "^4.1.2", "@tsclass/tsclass": "^4.1.2",
"@types/through2": "^2.0.38", "@types/through2": "^2.0.38",
"through2": "^4.0.2" "through2": "^4.0.2"

1013
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@ship.zone/npmci', name: '@ship.zone/npmci',
version: '4.1.32', version: '4.1.33',
description: 'A tool to streamline Node.js and Docker workflows within CI environments, particularly GitLab CI, providing various CI/CD utilities.' description: 'A tool to streamline Node.js and Docker workflows within CI environments, particularly GitLab CI, providing various CI/CD utilities.'
} }

View File

@ -52,12 +52,17 @@ export class NpmciNpmManager {
* authenticates npm with token from env var * authenticates npm with token from env var
*/ */
public async prepare() { public async prepare() {
logger.log('info', 'running >>npm prepare<<');
const config = this.npmciRef.npmciConfig.getConfig(); const config = this.npmciRef.npmciConfig.getConfig();
let npmrcFileString: string = ''; let npmrcFileString: string = '';
await plugins.smartobject.forEachMinimatch( await plugins.smartobject.forEachMinimatch(
process.env, process.env,
'NPMCI_TOKEN_NPM*', 'NPMCI_TOKEN_NPM*',
(npmEnvArg: string) => { (npmEnvArg: string) => {
if (!npmEnvArg) {
logger.log('note','found empty token...');
return;
}
const npmRegistryUrl = npmEnvArg.split('|')[0]; const npmRegistryUrl = npmEnvArg.split('|')[0];
logger.log('ok', `found token for ${npmRegistryUrl}`); logger.log('ok', `found token for ${npmRegistryUrl}`);
let npmToken = npmEnvArg.split('|')[1]; let npmToken = npmEnvArg.split('|')[1];

View File

@ -48,10 +48,10 @@ export class NpmciConfig {
public async init() { public async init() {
this.npmciNpmextra = new plugins.npmextra.Npmextra(paths.cwd); this.npmciNpmextra = new plugins.npmextra.Npmextra(paths.cwd);
this.kvStorage = new plugins.npmextra.KeyValueStore( this.kvStorage = new plugins.npmextra.KeyValueStore({
'userHomeDir', typeArg: 'userHomeDir',
`${this.npmciRef.npmciEnv.repo.user}_${this.npmciRef.npmciEnv.repo.repo}` identityArg: `.npmci_${this.npmciRef.npmciEnv.repo.user}_${this.npmciRef.npmciEnv.repo.repo}`,
); });
this.npmciQenv = new plugins.qenv.Qenv( this.npmciQenv = new plugins.qenv.Qenv(
paths.NpmciProjectDir, paths.NpmciProjectDir,
paths.NpmciProjectNogitDir, paths.NpmciProjectNogitDir,