fix(core): update
This commit is contained in:
		| @@ -11,7 +11,7 @@ | ||||
|     "gzone": "./cli.js" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "(npm run clean && npm run prepareTest && npm run testCli && npm run testCommit && npm run testDeprecate && npm run testVersion && npm run testReadme && npm run testFormat && npm run testUpdate && npm run testTemplateNpm && npm run testTemplateLit) && rm -rf test", | ||||
|     "test": "(npm run clean && npm run prepareTest && npm run testCli && npm run testFormat && npm run testCommit && npm run testDeprecate && npm run testVersion && npm run testReadme && npm run testUpdate && npm run testTemplateNpm && npm run testTemplateLit) && rm -rf test", | ||||
|     "build": "(tsbuild --web --allowimplicitany)", | ||||
|     "clean": "(rm -rf test/)", | ||||
|     "prepareTest": "(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)", | ||||
| @@ -48,17 +48,18 @@ | ||||
|   "author": "Task Venture Capital GmbH", | ||||
|   "license": "MIT", | ||||
|   "bugs": { | ||||
|     "url": "https://gitlab.com/gitzone/private/gitzone/issues" | ||||
|     "url": "https://code.foss.global/git.zone/cli/issues" | ||||
|   }, | ||||
|   "homepage": "https://pages.foss.global/git.zone/cli", | ||||
|   "devDependencies": { | ||||
|     "@git.zone/tsbuild": "^2.1.80", | ||||
|     "@git.zone/tsrun": "^1.2.46", | ||||
|     "@git.zone/tstest": "^1.0.90", | ||||
|     "@types/node": "^20.14.7" | ||||
|     "@types/node": "^20.14.8" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@push.rocks/commitinfo": "^1.0.11", | ||||
|     "@git.zone/tsdoc": "^1.1.40", | ||||
|     "@push.rocks/commitinfo": "^1.0.12", | ||||
|     "@push.rocks/early": "^4.0.4", | ||||
|     "@push.rocks/gulp-function": "^3.0.7", | ||||
|     "@push.rocks/lik": "^6.0.15", | ||||
|   | ||||
							
								
								
									
										545
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										545
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@git.zone/cli', | ||||
|   version: '1.9.98', | ||||
|   version: '1.9.99', | ||||
|   description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.' | ||||
| } | ||||
|   | ||||
| @@ -5,6 +5,19 @@ import * as paths from '../paths.js'; | ||||
| import { logger } from '../gitzone.logging.js'; | ||||
|  | ||||
| export const run = async (argvArg: any) => { | ||||
|   logger.log('info', `gathering facts...`); | ||||
|   const aidoc = new plugins.tsdoc.AiDoc(); | ||||
|   await aidoc.start(); | ||||
|  | ||||
|   const nextCommitObject = await aidoc.buildNextCommitObject(paths.cwd); | ||||
|  | ||||
|   logger.log('info', `--------- | ||||
|     Next recommended commit would be: | ||||
|     =========== | ||||
|     -> ${nextCommitObject.recommendedNextVersion}: | ||||
|     -> ${nextCommitObject.recommendedNextVersionLevel}(${nextCommitObject.recommendedNextVersionScope}): ${nextCommitObject.recommendedNextVersionMessage} | ||||
|     =========== | ||||
|   `); | ||||
|   const commitInteract = new plugins.smartinteract.SmartInteract(); | ||||
|   commitInteract.addQuestions([ | ||||
|     { | ||||
| @@ -12,19 +25,19 @@ export const run = async (argvArg: any) => { | ||||
|       name: `commitType`, | ||||
|       message: `Choose TYPE of the commit:`, | ||||
|       choices: [`fix`, `feat`, `BREAKING CHANGE`], | ||||
|       default: `fix`, | ||||
|       default: nextCommitObject.recommendedNextVersionLevel, | ||||
|     }, | ||||
|     { | ||||
|       type: 'input', | ||||
|       name: `commitScope`, | ||||
|       message: `What is the SCOPE of the commit:`, | ||||
|       default: `core`, | ||||
|       default: nextCommitObject.recommendedNextVersionScope, | ||||
|     }, | ||||
|     { | ||||
|       type: `input`, | ||||
|       name: `commitDescription`, | ||||
|       message: `What is the DESCRIPTION of the commit?`, | ||||
|       default: `update`, | ||||
|       default: nextCommitObject.recommendedNextVersionMessage, | ||||
|     }, | ||||
|     { | ||||
|       type: 'confirm', | ||||
| @@ -52,10 +65,17 @@ export const run = async (argvArg: any) => { | ||||
|     sourceFilePaths: [], | ||||
|   }); | ||||
|  | ||||
|   logger.log('info', `Baking commitinfo into code`); | ||||
|   logger.log('info', `Baking commitinfo into code ...`); | ||||
|   const commitInfo = new plugins.commitinfo.CommitInfo(paths.cwd, commitVersionType); | ||||
|   await commitInfo.writeIntoPotentialDirs(); | ||||
|  | ||||
|   logger.log('info', `Writing changelog.md ...`); | ||||
|   const changelog = nextCommitObject.changelog; | ||||
|   changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString); | ||||
|   changelog.replaceAll('{{nextVersionMessage}}', commitString); | ||||
|  | ||||
|   await plugins.smartfile.memory.toFs(changelog, plugins.path.join(paths.cwd, `changelog.md`)); | ||||
|  | ||||
|   logger.log('info', `Staging files for commit:`); | ||||
|   await smartshellInstance.exec(`git add -A`); | ||||
|   await smartshellInstance.exec(`git commit -m "${commitString}"`); | ||||
|   | ||||
| @@ -1,7 +1,10 @@ | ||||
| export * from '../plugins.js'; | ||||
|  | ||||
| import * as commitinfo from '@push.rocks/commitinfo'; | ||||
| import * as smartfile from '@push.rocks/smartfile'; | ||||
| import * as smartinteract from '@push.rocks/smartinteract'; | ||||
| import * as smartshell from '@push.rocks/smartshell'; | ||||
|  | ||||
| export { commitinfo, smartinteract, smartshell }; | ||||
| import * as tsdoc from '@git.zone/tsdoc'; | ||||
|  | ||||
| export { commitinfo, smartfile, smartinteract, smartshell, tsdoc }; | ||||
|   | ||||
| @@ -11,6 +11,11 @@ const incompatibleLicenses: string[] = [ | ||||
| ]; | ||||
|  | ||||
| export const run = async (projectArg: Project) => { | ||||
|   const nodeModulesInstalled = await plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, 'node_modules')); | ||||
|   if (!nodeModulesInstalled) { | ||||
|     logger.log('warn', 'No node_modules found. Skipping license check'); | ||||
|     return; | ||||
|   } | ||||
|   const licenseChecker = await plugins.smartlegal.createLicenseChecker(); | ||||
|   const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath(paths.cwd, incompatibleLicenses); | ||||
|   if (licenseCheckResult.failingModules.length === 0) { | ||||
|   | ||||
| @@ -1,47 +1,25 @@ | ||||
| import * as plugins from './mod.plugins.js'; | ||||
| import * as paths from '../paths.js'; | ||||
| import { GitzoneConfig } from '../classes.gitzoneconfig.js'; | ||||
| import { Project } from '../classes.project.js'; | ||||
|  | ||||
| export const run = async (projectArg: Project) => { | ||||
| export const run = async () => { | ||||
|   const readmePath = plugins.path.join(paths.cwd, 'readme.md'); | ||||
|   const readmeFile = await plugins.smartfile.SmartFile.fromFilePath(readmePath); | ||||
|   const readmeHintsPath = plugins.path.join(paths.cwd, 'readme.hints.md'); | ||||
|  | ||||
|   // lets do our transformation | ||||
|  | ||||
|   let usageInfo: string = ''; | ||||
|   const gitzoneConfig = await GitzoneConfig.fromCwd(); | ||||
|  | ||||
|   if (readmeFile) { | ||||
|     const readmeFileString = readmeFile.contentBuffer.toString(); | ||||
|     const stringArray1 = readmeFileString.split('## Usage\n'); | ||||
|     if (stringArray1[1]) { | ||||
|       const stringArray2 = stringArray1[1].split( | ||||
|         '\nFor further information read the linked docs at the top of this readme.' | ||||
|       ); | ||||
|       const stringArray3 = stringArray2[0].split('\n\n## Contribution'); | ||||
|       usageInfo = stringArray3[0]; | ||||
|     } | ||||
|   // Check and initialize readme.md if it doesn't exist | ||||
|   const readmeExists = await plugins.smartfile.fs.fileExists(readmePath); | ||||
|   if (!readmeExists) { | ||||
|     await plugins.smartfile.fs.toFs('# Project Readme\n\nThis is the initial readme file.', readmePath); | ||||
|     console.log('Initialized readme.md'); | ||||
|   } else { | ||||
|     console.log('readme.md already exists'); | ||||
|   } | ||||
|  | ||||
|   if (gitzoneConfig.data.module && gitzoneConfig.data.module.license === 'MIT') { | ||||
|     usageInfo += | ||||
|       '\n\n## Contribution\n\n' + | ||||
|       'We are always happy for code contributions. If you are not the code contributing type that is ok. ' + | ||||
|       'Still, maintaining Open Source repositories takes considerable time and thought. ' + | ||||
|       'If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: ' + | ||||
|       'You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)\n'; | ||||
|   // Check and initialize readme.hints.md if it doesn't exist | ||||
|   const readmeHintsExists = await plugins.smartfile.fs.fileExists(readmeHintsPath); | ||||
|   if (!readmeHintsExists) { | ||||
|     await plugins.smartfile.fs.toFs('# Project Readme Hints\n\nThis is the initial readme hints file.', readmeHintsPath); | ||||
|     console.log('Initialized readme.hints.md'); | ||||
|   } else { | ||||
|     console.log('readme.hints.md already exists'); | ||||
|   } | ||||
|  | ||||
|   const templateModule = await import('../mod_template/index.js'); | ||||
|   const readmeTemplate = await templateModule.getTemplate('readme'); | ||||
|   console.log(gitzoneConfig.data); | ||||
|   await readmeTemplate.supplyVariables({ | ||||
|     module: { | ||||
|       ...gitzoneConfig.data.module, | ||||
|     }, | ||||
|     usageInfo, | ||||
|   }); | ||||
|   await readmeTemplate.askCliForMissingVariables(); | ||||
|   await readmeTemplate.writeToDisk(paths.cwd); | ||||
| }; | ||||
| }; | ||||
| @@ -34,5 +34,5 @@ export let run = async (write: boolean = true): Promise<any> => { | ||||
|  | ||||
|   // format readme.md | ||||
|   const formatReadme = await import('./format.readme.js'); | ||||
|   // await formatReadme.run(); | ||||
|   await formatReadme.run(); | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user