Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
f0c7cf34e6 | |||
b9b5736e5e | |||
b73acf904a | |||
6614529122 | |||
9ff5e9a70f | |||
9dbf511d50 | |||
b7a239abca | |||
181fad27fd | |||
59c3deb83a | |||
c76403a34c | |||
23b361f26a | |||
9f7d447bc7 | |||
8904bf9427 | |||
3c5a8282ab | |||
4f0fb26a15 | |||
00f06b48f3 | |||
74f4cb3034 | |||
b98dc7a9fa | |||
924470407a | |||
f346a397d5 | |||
c05f2d35e5 | |||
c0a409bbc9 | |||
7cb798077d | |||
fc4409bea4 | |||
27ee8195e8 | |||
2f80abafc2 | |||
0d95cda8b5 | |||
4a9d98b3f9 | |||
c99ff2556e | |||
f1d75a3aba | |||
377fa83fe7 | |||
8199c6c2cc | |||
3ef785438e | |||
d8fe8bae64 | |||
ad4175b3f9 | |||
707c1718a3 | |||
7e0df65de6 | |||
fe30629ff9 | |||
05bf7aa9d6 | |||
847798e9c9 | |||
b797fca1fc | |||
ae46afdee6 | |||
ceddc23423 | |||
4f8ca3fe5e | |||
947fe781d8 | |||
1c7fbb073d | |||
9b05252045 | |||
f34718bfb3 | |||
0db0b17e0d | |||
7c4dffd142 | |||
d716364cb0 | |||
53cb139277 | |||
5c0834aa48 | |||
a2df347ee3 | |||
632bdd7847 |
@ -6,7 +6,7 @@ on:
|
||||
- '**'
|
||||
|
||||
env:
|
||||
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
|
||||
IMAGE: code.foss.global/host.today/ht-docker-node:npmci
|
||||
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git
|
||||
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
|
||||
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
|
||||
|
@ -6,7 +6,7 @@ on:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
|
||||
IMAGE: code.foss.global/host.today/ht-docker-node:npmci
|
||||
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git
|
||||
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
|
||||
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
|
||||
|
@ -7,7 +7,7 @@ on:
|
||||
|
||||
env:
|
||||
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
|
||||
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{gi.host}}/${-{gitea.repository}-}.git
|
||||
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git
|
||||
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
|
||||
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
|
||||
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}
|
||||
|
@ -1,6 +1,6 @@
|
||||
# gitzone dockerfile_service
|
||||
## STAGE 1 // BUILD
|
||||
FROM code.foss.global/hosttoday/ht-docker-node:npmci as node1
|
||||
FROM code.foss.global/host.today/ht-docker-node:npmci as node1
|
||||
COPY ./ /app
|
||||
WORKDIR /app
|
||||
ARG NPMCI_TOKEN_NPM2
|
||||
@ -12,7 +12,7 @@ RUN pnpm run build
|
||||
|
||||
# gitzone dockerfile_service
|
||||
## STAGE 2 // install production
|
||||
FROM code.foss.global/hosttoday/ht-docker-node:npmci as node2
|
||||
FROM code.foss.global/host.today/ht-docker-node:npmci as node2
|
||||
WORKDIR /app
|
||||
COPY --from=node1 /app /app
|
||||
RUN rm -rf .pnpm-store
|
||||
@ -24,7 +24,7 @@ RUN rm -rf node_modules/ && pnpm install --prod
|
||||
|
||||
|
||||
## STAGE 3 // rebuild dependencies for alpine
|
||||
FROM code.foss.global/hosttoday/ht-docker-node:alpinenpmci as node3
|
||||
FROM code.foss.global/host.today/ht-docker-node:alpinenpmci as node3
|
||||
WORKDIR /app
|
||||
COPY --from=node2 /app /app
|
||||
ARG NPMCI_TOKEN_NPM2
|
||||
@ -34,7 +34,7 @@ RUN pnpm config set store-dir .pnpm-store
|
||||
RUN pnpm rebuild -r
|
||||
|
||||
## STAGE 4 // the final production image with all dependencies in place
|
||||
FROM code.foss.global/hosttoday/ht-docker-node:alpine as node4
|
||||
FROM code.foss.global/host.today/ht-docker-node:alpine as node4
|
||||
WORKDIR /app
|
||||
COPY --from=node3 /app /app
|
||||
|
||||
|
@ -6,7 +6,6 @@ fileName: .gitignore
|
||||
# artifacts
|
||||
coverage/
|
||||
public/
|
||||
pages/
|
||||
|
||||
# installs
|
||||
node_modules/
|
||||
@ -20,4 +19,4 @@ node_modules/
|
||||
dist/
|
||||
dist_*/
|
||||
|
||||
# custom
|
||||
#------# custom
|
@ -18,12 +18,12 @@ fileName: package.json
|
||||
"author": "{{author.name}}",
|
||||
"license": "{{module.license}}",
|
||||
"dependencies": {
|
||||
"@api.global/typedserver": "^1.0.16",
|
||||
"@api.global/typedserver": "^3.0.51",
|
||||
"@consentsoftware_private/catalog": "^1.0.73",
|
||||
"@design.estate/dees-domtools": "^2.0.23",
|
||||
"@design.estate/dees-element": "^2.0.15",
|
||||
"@push.rocks/smartlog": "^2.0.1",
|
||||
"@push.rocks/qenv": "^5.0.2",
|
||||
"@push.rocks/qenv": "^6.0.5",
|
||||
"@push.rocks/smartlog": "^3.0.7",
|
||||
"@push.rocks/smartpath": "^5.0.5",
|
||||
"@push.rocks/smartstate": "^2.0.0",
|
||||
"@push.rocks/websetup": "^3.0.15"
|
||||
|
@ -3,10 +3,10 @@ import * as paths from './ffb.paths.js';
|
||||
|
||||
export const runCli = async () => {
|
||||
const serviceQenv = new plugins.qenv.Qenv('./', './.nogit', false);
|
||||
const websiteServer = new plugins.loleWebsiteserver.LoleWebsiteServer({
|
||||
const websiteServer = new plugins.typedserver.utilityservers.UtilityWebsiteServer({
|
||||
feedMetadata: null,
|
||||
domain: '{{module.projectDomain}}',
|
||||
serveDir: paths.distWebDir
|
||||
serveDir: paths.distWebDir,
|
||||
});
|
||||
await websiteServer.start();
|
||||
};
|
||||
|
@ -6,7 +6,7 @@ import {
|
||||
cssManager,
|
||||
unsafeCSS,
|
||||
css,
|
||||
TemplateResult,
|
||||
type TemplateResult,
|
||||
} from '@design.estate/dees-element';
|
||||
|
||||
@customElement('default-header')
|
||||
|
@ -45,7 +45,7 @@ const run = async () => {
|
||||
},
|
||||
});
|
||||
|
||||
const serviceWorker = serviceworker.getServiceWorker();
|
||||
const serviceWorker = serviceworker.getServiceworkerClient();
|
||||
|
||||
const mainTemplate = html`
|
||||
<style>
|
||||
|
172
changelog.md
172
changelog.md
@ -1,40 +1,162 @@
|
||||
# Changelog
|
||||
|
||||
## 23.06.2024 - 1.9.107 - {{nextVersionScope}}
|
||||
fix(dependencies): Updated @git.zone/tsdoc from version 1.3.0 to 1.3.1
|
||||
{{nextVersionDetails}}
|
||||
## 2024-12-26 - 1.10.7 - fix(assets)
|
||||
Correct URLs in templates and fix TypeScript declaration
|
||||
|
||||
- Updated incorrect URLs in Dockerfile templates to 'host.today'.
|
||||
- Fixed type declaration for 'TemplateResult' in header.ts file.
|
||||
|
||||
## 2024-12-08 - 1.10.6 - fix(ci)
|
||||
Corrected Docker image URL in CI templates
|
||||
|
||||
- Updated Docker image URL from 'code.foss.global/hosttoday' to 'code.foss.global/host.today' in default_nottags.yaml and default_tags.yaml.
|
||||
- Adjusted gitignore template to include a custom section delineation.
|
||||
|
||||
## 2024-12-02 - 1.10.5 - fix(assets)
|
||||
Update .gitignore template to remove pages directory
|
||||
|
||||
- Removed 'pages/' from the ignored directories in the .gitignore template.
|
||||
|
||||
## 2024-11-05 - 1.10.4 - fix(mod_format)
|
||||
Correct file extension for TypeScript path configuration
|
||||
|
||||
- Fixed the TypeScript configuration to use correct file extensions for module subdirectories.
|
||||
|
||||
## 2024-10-27 - 1.10.3 - fix(mod_format)
|
||||
Reorder TypeScript formatting steps in mod_format module
|
||||
|
||||
- Moved TypeScript configuration formatting earlier in the sequence for better logical consistency.
|
||||
|
||||
## 2024-10-27 - 1.10.2 - fix(format)
|
||||
Add logging for tsconfig.json formatting
|
||||
|
||||
- Added an info log message for tsconfig.json formatting in format.tsconfig.ts.
|
||||
|
||||
## 2024-10-27 - 1.10.1 - fix(format)
|
||||
Fixed async issue in tsconfig module lookup and corrected property access
|
||||
|
||||
|
||||
## 1.9.106 - fix(dependencies): Updated @git.zone/tsdoc dependency from 1.2.2 to 1.3.0 in package.json and pnpm-lock.yaml.
|
||||
## 2024-10-27 - 1.10.0 - feat(mod_format)
|
||||
Add support for tsconfig.json formatting
|
||||
|
||||
## 1.9.99 - Core Updates
|
||||
- update core components
|
||||
- Added a new script to format tsconfig.json.
|
||||
- Updated package.json to include `@git.zone/tspublish` as a dependency.
|
||||
|
||||
## 1.9.98 - Core Updates
|
||||
- update core components
|
||||
## 2024-10-23 - 1.9.126 - fix(format)
|
||||
Remove redundant package.json property checks
|
||||
|
||||
## 1.9.97 - Core Updates
|
||||
- update core components
|
||||
- Removed property checks for `main`, `typings`, and `browserslist` from format.packagejson.ts
|
||||
- This change streamlines the formatting process by removing unnecessary exits
|
||||
|
||||
## 1.9.96 - Core Updates
|
||||
- update core components
|
||||
## 2024-09-29 - 1.9.125 - fix(cli)
|
||||
Fix package version configuration and formatting issues
|
||||
|
||||
## 1.9.95 - Core Updates
|
||||
- update core components
|
||||
- Updated metadata fields in package.json (repository URL, bugs URL, and homepage).
|
||||
- Ensured presence and correctness of essential fields in package.json (main, typings, files, scripts, etc.).
|
||||
- Added missing Prettier default TypeScript and Markdown configurations.
|
||||
|
||||
## 1.9.105 - fix(changelog): Remove placeholder entries and adjust formatting in changelog.
|
||||
## 2024-09-27 - 1.9.124 - fix(cli)
|
||||
Ensured proper existence and initialization of readme files
|
||||
|
||||
## 1.9.104 - Fix changelog and format adjustments
|
||||
- Fix changelog to remove placeholder entries and adjust formatting
|
||||
- Ensured readme.md and readme.hints.md files are created and initialized if they do not exist.
|
||||
|
||||
## 1.9.103 - Logger Optimization
|
||||
- Optimize logger instantiation and configuration
|
||||
## 2024-09-27 - 1.9.123 - fix(core)
|
||||
No changes detected
|
||||
|
||||
## 1.9.102 - Metadata Accuracy
|
||||
- Ensure accurate project metadata in package.json
|
||||
|
||||
## 1.9.101 - Dependency Update
|
||||
- Updated @git.zone/tsdoc dependency version to ^1.2.2 in package.json and pnpm-lock.yaml
|
||||
## 2024-09-27 - 1.9.123 - fix(core)
|
||||
Update dependencies and improve build configurations
|
||||
|
||||
## 1.9.100 - Changelog Writing Fix
|
||||
- Fix variable reassignment issue in changelog writing step
|
||||
- Updated several dependencies in package.json for better compatibility
|
||||
- Changed typedserver dependency version in website template
|
||||
- Adjusted website server and service worker in templates
|
||||
- Added security and test workflows for Gitea repositories
|
||||
- Added and configured .gitignore, .npmrc, .vscode settings for the project
|
||||
- Provided initial structure for readme and readme hints
|
||||
|
||||
## 2024-06-24 - 1.9.122 - fix(mod_commit)
|
||||
Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
||||
|
||||
- - Updated @git.zone/tsdoc to ^1.3.12
|
||||
- - Updated @push.rocks/smartfile to ^11.0.21
|
||||
|
||||
## 2024-06-23 - 1.9.121 - fix(mod_commit)
|
||||
Fix changelog template rendering by removing extra new line when no version details are provided.
|
||||
|
||||
- Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
||||
|
||||
## 2024-06-23 - 1.9.120 - fix(mod_commit)
|
||||
Handle edge case for empty version details in changelog formatting
|
||||
|
||||
- Added check for the length of the recommendedNextVersionDetails array
|
||||
- Ensure no extra newline in changelog if there are no version details
|
||||
|
||||
## 2024-06-23 - 1.9.119 - fix(dependencies)
|
||||
Update @git.zone/tsdoc to v1.3.8
|
||||
|
||||
- Updated @git.zone/tsdoc from v1.3.7 to v1.3.8 in package.json
|
||||
|
||||
## 2024-06-23 - 1.9.118 - fix(dependencies)
|
||||
Update @git.zone/tsdoc to version 1.3.7
|
||||
|
||||
- Bump @git.zone/tsdoc from 1.3.6 to 1.3.7 in both package.json and pnpm-lock.yaml
|
||||
|
||||
## 2024-06-23 - 1.9.117 - fix(dependencies)
|
||||
Update @git.zone/tsdoc dependency to v1.3.6
|
||||
|
||||
- Updated @git.zone/tsdoc version from 1.3.5 to 1.3.6 in package.json
|
||||
- Updated pnpm-lock.yaml to reflect the new version of @git.zone/tsdoc
|
||||
|
||||
## 2024-06-23 - 1.9.116 - fix(dependencies)
|
||||
Update @git.zone/tsdoc to version 1.3.5
|
||||
|
||||
- Updated the @git.zone/tsdoc dependency in package.json and pnpm-lock.yaml from version 1.3.4 to 1.3.5
|
||||
- Removed the outdated changelog.md file.
|
||||
|
||||
## 2024-06-23 - 1.9.114 - fix(format)
|
||||
Fixed formatting issues across multiple TypeScript files.
|
||||
|
||||
## 2024-06-23 - 1.9.113 - fix(mod_commit)
|
||||
Remove extra new lines in changelog.
|
||||
|
||||
## 2024-06-23 - 1.9.112 - fix(core)
|
||||
Update changelog formatting and remove outdated entries.
|
||||
|
||||
## 2024-06-23 - 1.9.111 - fix(changelog)
|
||||
Remove outdated changelog entries and update formatting.
|
||||
|
||||
## 2024-06-23 - 1.9.110 - fix(dependencies)
|
||||
Update @git.zone/tsdoc to version 1.3.4.
|
||||
|
||||
## 2024-06-23 - 1.9.109 - fix(changelog)
|
||||
Remove outdated entries and adjust formatting in changelog.
|
||||
|
||||
## 2024-06-23 - 1.9.108 - fix(dependencies)
|
||||
Update @git.zone/tsdoc dependency to version 1.3.2.
|
||||
|
||||
## 2024-06-23 - 1.9.107 - fix(changelog)
|
||||
Remove placeholder entries and adjust formatting in changelog.
|
||||
|
||||
## 2024-06-23 - 1.9.106 - fix(dependencies)
|
||||
Updated @git.zone/tsdoc from version 1.3.0 to 1.3.1.
|
||||
|
||||
## 2024-06-23 - 1.9.105 - fix(dependencies)
|
||||
Updated @git.zone/tsdoc dependency from 1.2.2 to 1.3.0 in package.json and pnpm-lock.yaml.
|
||||
|
||||
## 2024-06-23 - 1.9.104 - fix(changelog)
|
||||
Remove placeholder entries and adjust formatting in changelog.
|
||||
|
||||
## 2024-06-23 - 1.9.103 - fix(changelog)
|
||||
Fix changelog to remove placeholder entries and adjust formatting.
|
||||
|
||||
## 2024-06-23 - 1.9.102 - fix(logging)
|
||||
Optimize logger instantiation and configuration.
|
||||
|
||||
## 2024-06-23 - 1.9.101 - fix(metadata)
|
||||
Ensure accurate project metadata in package.json.
|
||||
|
||||
## 2024-06-23 - 1.9.100 - fix(dependencies)
|
||||
Updated @git.zone/tsdoc dependency version to ^1.2.2 in package.json and pnpm-lock.yaml.
|
||||
|
||||
## 2024-06-23 - 1.9.99 - fix(mod_commit)
|
||||
Fix variable reassignment issue in changelog writing step.
|
||||
|
19
package.json
19
package.json
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@git.zone/cli",
|
||||
"private": false,
|
||||
"version": "1.9.107",
|
||||
"version": "1.10.7",
|
||||
"description": "A CLI toolbelt to streamline local development cycles by using various gitzone utilities.",
|
||||
"main": "dist_ts/index.ts",
|
||||
"typings": "dist_ts/index.d.ts",
|
||||
@ -52,13 +52,14 @@
|
||||
},
|
||||
"homepage": "https://pages.foss.global/git.zone/cli",
|
||||
"devDependencies": {
|
||||
"@git.zone/tsbuild": "^2.1.80",
|
||||
"@git.zone/tsrun": "^1.2.46",
|
||||
"@git.zone/tsbuild": "^2.1.84",
|
||||
"@git.zone/tsrun": "^1.2.49",
|
||||
"@git.zone/tstest": "^1.0.90",
|
||||
"@types/node": "^20.14.8"
|
||||
"@types/node": "^22.8.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@git.zone/tsdoc": "^1.3.1",
|
||||
"@git.zone/tsdoc": "^1.3.12",
|
||||
"@git.zone/tspublish": "^1.4.0",
|
||||
"@push.rocks/commitinfo": "^1.0.12",
|
||||
"@push.rocks/early": "^4.0.4",
|
||||
"@push.rocks/gulp-function": "^3.0.7",
|
||||
@ -68,7 +69,7 @@
|
||||
"@push.rocks/smartchok": "^1.0.34",
|
||||
"@push.rocks/smartcli": "^4.0.11",
|
||||
"@push.rocks/smartdelay": "^3.0.5",
|
||||
"@push.rocks/smartfile": "^11.0.20",
|
||||
"@push.rocks/smartfile": "^11.0.21",
|
||||
"@push.rocks/smartgulp": "^3.0.4",
|
||||
"@push.rocks/smartinteract": "^2.0.15",
|
||||
"@push.rocks/smartjson": "^5.0.20",
|
||||
@ -80,14 +81,14 @@
|
||||
"@push.rocks/smartobject": "^1.0.12",
|
||||
"@push.rocks/smartopen": "^2.0.0",
|
||||
"@push.rocks/smartpath": "^5.0.18",
|
||||
"@push.rocks/smartpromise": "^4.0.3",
|
||||
"@push.rocks/smartpromise": "^4.0.4",
|
||||
"@push.rocks/smartscaf": "^4.0.15",
|
||||
"@push.rocks/smartshell": "^3.0.5",
|
||||
"@push.rocks/smartshell": "^3.0.6",
|
||||
"@push.rocks/smartstream": "^3.0.44",
|
||||
"@push.rocks/smartunique": "^3.0.9",
|
||||
"@push.rocks/smartupdate": "^2.0.6",
|
||||
"@types/through2": "^2.0.41",
|
||||
"prettier": "^3.3.2",
|
||||
"prettier": "^3.3.3",
|
||||
"through2": "^4.0.2"
|
||||
},
|
||||
"files": [
|
||||
|
8922
pnpm-lock.yaml
generated
8922
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.107',
|
||||
version: '1.10.7',
|
||||
description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ export interface IGitzoneConfigData {
|
||||
license: string;
|
||||
projectDomain: string;
|
||||
};
|
||||
copy: {[key: string]: string}
|
||||
copy: { [key: string]: string };
|
||||
npmciOptions: {
|
||||
npmAccessLevel: 'public' | 'private';
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
import * as plugins from './plugins.js'
|
||||
import * as plugins from './plugins.js';
|
||||
import * as paths from './paths.js';
|
||||
|
||||
import { GitzoneConfig } from './classes.gitzoneconfig.js';
|
||||
|
@ -15,7 +15,7 @@ export let run = async () => {
|
||||
await smartupdateInstance.check(
|
||||
'gitzone',
|
||||
projectInfo.npm.version,
|
||||
'http://gitzone.gitlab.io/gitzone/changelog.html'
|
||||
'http://gitzone.gitlab.io/gitzone/changelog.html',
|
||||
);
|
||||
console.log('---------------------------------------------');
|
||||
gitzoneSmartcli.addVersion(projectInfo.npm.version);
|
||||
|
@ -5,6 +5,12 @@ import * as paths from '../paths.js';
|
||||
import { logger } from '../gitzone.logging.js';
|
||||
|
||||
export const run = async (argvArg: any) => {
|
||||
if (argvArg.format) {
|
||||
const formatMod = await import('../mod_format/index.js');
|
||||
await formatMod.run();
|
||||
}
|
||||
|
||||
|
||||
logger.log('info', `gathering facts...`);
|
||||
const aidoc = new plugins.tsdoc.AiDoc();
|
||||
await aidoc.start();
|
||||
@ -74,7 +80,11 @@ export const run = async (argvArg: any) => {
|
||||
changelog = changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString);
|
||||
changelog = changelog.replaceAll('{{nextVersionScope}}', `${await answerBucket.getAnswerFor('commitType')}(${await answerBucket.getAnswerFor('commitScope')})`);
|
||||
changelog = changelog.replaceAll('{{nextVersionMessage}}', nextCommitObject.recommendedNextVersionMessage);
|
||||
changelog = changelog.replaceAll('{{nextVersionDetails}}', '- ' + nextCommitObject.recommendedNextVersionDetails.join('\n- '));
|
||||
if (nextCommitObject.recommendedNextVersionDetails?.length > 0) {
|
||||
changelog = changelog.replaceAll('{{nextVersionDetails}}', '- ' + nextCommitObject.recommendedNextVersionDetails.join('\n- '));
|
||||
} else {
|
||||
changelog = changelog.replaceAll('\n{{nextVersionDetails}}', '');
|
||||
}
|
||||
|
||||
await plugins.smartfile.memory.toFs(changelog, plugins.path.join(paths.cwd, `changelog.md`));
|
||||
|
||||
|
@ -3,4 +3,4 @@ import * as plugins from '../plugins.js';
|
||||
|
||||
export const run = async (projectArg: Project) => {
|
||||
const gitzoneConfig = await projectArg.gitzoneConfig;
|
||||
}
|
||||
};
|
||||
|
@ -4,20 +4,21 @@ import { Project } from '../classes.project.js';
|
||||
|
||||
import { logger } from '../gitzone.logging.js';
|
||||
|
||||
const incompatibleLicenses: string[] = [
|
||||
"AGPL",
|
||||
"GPL",
|
||||
"SSPL",
|
||||
];
|
||||
const incompatibleLicenses: string[] = ['AGPL', 'GPL', 'SSPL'];
|
||||
|
||||
export const run = async (projectArg: Project) => {
|
||||
const nodeModulesInstalled = await plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, 'node_modules'));
|
||||
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);
|
||||
const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath(
|
||||
paths.cwd,
|
||||
incompatibleLicenses,
|
||||
);
|
||||
if (licenseCheckResult.failingModules.length === 0) {
|
||||
logger.log('info', 'Success -> licenses passed!');
|
||||
} else {
|
||||
|
@ -48,7 +48,7 @@ export const run = async (projectArg: Project) => {
|
||||
plugins.smartobject.smartAdd(
|
||||
npmextraJson.gitzone,
|
||||
expectedRepoInformationItem,
|
||||
cliProvidedValue
|
||||
cliProvidedValue,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ const ensureDependency = async (
|
||||
packageJsonObjectArg: any,
|
||||
position: 'dep' | 'devDep' | 'everywhere',
|
||||
constraint: 'exclude' | 'include' | 'latest',
|
||||
dependencyArg: string
|
||||
dependencyArg: string,
|
||||
) => {};
|
||||
|
||||
export const run = async (projectArg: Project) => {
|
||||
@ -26,14 +26,13 @@ export const run = async (projectArg: Project) => {
|
||||
|
||||
// metadata
|
||||
packageJson.repository = {
|
||||
"type": "git",
|
||||
"url": `git+https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}.git`
|
||||
type: 'git',
|
||||
url: `git+https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}.git`,
|
||||
};
|
||||
packageJson.bugs = {
|
||||
"url": `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}/issues`
|
||||
},
|
||||
packageJson.homepage = `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}#readme`;
|
||||
|
||||
(packageJson.bugs = {
|
||||
url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}/issues`,
|
||||
}),
|
||||
(packageJson.homepage = `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}#readme`);
|
||||
|
||||
// Check for module type
|
||||
if (!packageJson.type) {
|
||||
@ -71,23 +70,6 @@ export const run = async (projectArg: Project) => {
|
||||
packageJson.scripts.buildDocs = `tsdoc`;
|
||||
}
|
||||
|
||||
// check package.json
|
||||
if (!packageJson.main) {
|
||||
logger.log('error', 'no "main" property');
|
||||
process.exit(0);
|
||||
}
|
||||
if (!packageJson.typings) {
|
||||
logger.log('error', 'no "typings" property');
|
||||
process.exit(0);
|
||||
}
|
||||
if (!packageJson.browserslist) {
|
||||
packageJson.browserslist = ['last 1 chrome versions'];
|
||||
}
|
||||
if (!packageJson.main.includes('dist_') || !packageJson.typings.includes('dist_')) {
|
||||
logger.log('error', 'check packagesJson main and typings');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
// check for files
|
||||
packageJson.files = [
|
||||
'ts/**/*',
|
||||
|
@ -43,7 +43,7 @@ const prettierTypeScriptPipestop = plugins.through2.obj(
|
||||
fileArg.setContentsFromString(formatedFileString);
|
||||
cb(null, fileArg);
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
export const run = async (projectArg: Project) => {
|
||||
|
@ -8,7 +8,10 @@ export const run = async () => {
|
||||
// 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);
|
||||
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');
|
||||
@ -17,9 +20,12 @@ export const run = async () => {
|
||||
// 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);
|
||||
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');
|
||||
}
|
||||
};
|
||||
};
|
||||
|
24
ts/mod_format/format.tsconfig.ts
Normal file
24
ts/mod_format/format.tsconfig.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import * as plugins from './mod.plugins.js';
|
||||
import * as paths from '../paths.js';
|
||||
|
||||
import { logger } from '../gitzone.logging.js';
|
||||
import { Project } from '../classes.project.js';
|
||||
|
||||
export const run = async (projectArg: Project) => {
|
||||
// lets care about tsconfig.json
|
||||
logger.log('info', 'Formatting tsconfig.json...');
|
||||
const tsconfigSmartfile = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(paths.cwd, 'tsconfig.json'));
|
||||
const tsconfigObject = JSON.parse(tsconfigSmartfile.contentBuffer.toString());
|
||||
tsconfigObject.compilerOptions = tsconfigObject.compilerOptions || {};
|
||||
tsconfigObject.compilerOptions.baseUrl = '.';
|
||||
tsconfigObject.compilerOptions.paths = {};
|
||||
const tsPublishMod = await import('@git.zone/tspublish');
|
||||
const tsPublishInstance = new tsPublishMod.TsPublish();
|
||||
const publishModules = await tsPublishInstance.getModuleSubDirs(paths.cwd);
|
||||
for (const publishModule of Object.keys(publishModules)) {
|
||||
const publishConfig = publishModules[publishModule];
|
||||
tsconfigObject.compilerOptions.paths[`${publishConfig.name}`] = [`./${publishModule}/index.js`];
|
||||
}
|
||||
tsconfigSmartfile.setContentsFromString(JSON.stringify(tsconfigObject, null, 2));
|
||||
await tsconfigSmartfile.write();
|
||||
};
|
@ -1,7 +1,7 @@
|
||||
import * as plugins from './mod.plugins.js';
|
||||
import { Project } from '../classes.project.js';
|
||||
|
||||
export let run = async (write: boolean = true): Promise<any> => {
|
||||
export let run = async (writeArg: boolean = true): Promise<any> => {
|
||||
const project = await Project.fromCwd();
|
||||
|
||||
// cleanup
|
||||
@ -29,6 +29,8 @@ export let run = async (write: boolean = true): Promise<any> => {
|
||||
await formatGitignore.run(project);
|
||||
|
||||
// format TypeScript
|
||||
const formatTsConfig = await import('./format.tsconfig.js');
|
||||
await formatTsConfig.run(project);
|
||||
const formatPrettier = await import('./format.prettier.js');
|
||||
await formatPrettier.run(project);
|
||||
|
||||
|
@ -10,4 +10,14 @@ import * as smartnpm from '@push.rocks/smartnpm';
|
||||
import * as smartstream from '@push.rocks/smartstream';
|
||||
import * as through2 from 'through2';
|
||||
|
||||
export { lik, smartfile, smartgulp, smartinteract, smartlegal, smartobject, smartnpm, smartstream, through2 };
|
||||
export {
|
||||
lik,
|
||||
smartfile,
|
||||
smartgulp,
|
||||
smartinteract,
|
||||
smartlegal,
|
||||
smartobject,
|
||||
smartnpm,
|
||||
smartstream,
|
||||
through2,
|
||||
};
|
||||
|
@ -73,7 +73,7 @@ export class Meta {
|
||||
// write .meta.json to disk
|
||||
plugins.smartfile.memory.toFsSync(
|
||||
JSON.stringify(this.metaRepoData, null, 2),
|
||||
this.filePaths.metaJson
|
||||
this.filePaths.metaJson,
|
||||
);
|
||||
// write .gitignore to disk
|
||||
plugins.smartfile.memory.toFsSync(await this.generateGitignore(), this.filePaths.gitIgnore);
|
||||
@ -104,12 +104,12 @@ export class Meta {
|
||||
if (
|
||||
preExistingFolderArg !== '.git' &&
|
||||
!Object.keys(projects).find((projectFolder) =>
|
||||
projectFolder.startsWith(preExistingFolderArg)
|
||||
projectFolder.startsWith(preExistingFolderArg),
|
||||
)
|
||||
) {
|
||||
const response = await plugins.smartinteraction.SmartInteract.getCliConfirmation(
|
||||
`Do you want to delete superfluous directory >>${preExistingFolderArg}<< ?`,
|
||||
true
|
||||
true,
|
||||
);
|
||||
if (response) {
|
||||
logger.log('warn', `Deleting >>${preExistingFolderArg}<<!`);
|
||||
@ -131,7 +131,7 @@ export class Meta {
|
||||
logger.log('info', `found ${missingRepos.length} missing repos`);
|
||||
for (const missingRepo of missingRepos) {
|
||||
await this.smartshellInstance.exec(
|
||||
`cd ${this.cwd} && git clone ${this.metaRepoData.projects[missingRepo]} ${missingRepo}`
|
||||
`cd ${this.cwd} && git clone ${this.metaRepoData.projects[missingRepo]} ${missingRepo}`,
|
||||
);
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ export class Meta {
|
||||
|
||||
logger.log('info', `persist changes with a git commit`);
|
||||
await this.smartshellInstance.exec(
|
||||
`cd ${this.cwd} && git add -A && git commit -m "updated structure"`
|
||||
`cd ${this.cwd} && git add -A && git commit -m "updated structure"`,
|
||||
);
|
||||
await this.syncToRemote();
|
||||
|
||||
@ -166,7 +166,7 @@ export class Meta {
|
||||
JSON.stringify({
|
||||
projects: {},
|
||||
}),
|
||||
this.filePaths.metaJson
|
||||
this.filePaths.metaJson,
|
||||
);
|
||||
logger.log(`success`, `created a new .meta.json in directory ${this.cwd}`);
|
||||
await plugins.smartfile.memory.toFs(
|
||||
@ -174,14 +174,14 @@ export class Meta {
|
||||
name: this.dirName,
|
||||
version: '1.0.0',
|
||||
}),
|
||||
this.filePaths.packageJson
|
||||
this.filePaths.packageJson,
|
||||
);
|
||||
logger.log(`success`, `created a new package.json in directory ${this.cwd}`);
|
||||
} else {
|
||||
logger.log(`error`, `directory ${this.cwd} already has a .metaJson file. Doing nothing.`);
|
||||
}
|
||||
await this.smartshellInstance.exec(
|
||||
`cd ${this.cwd} && git add -A && git commit -m "feat(project): init meta project for ${this.dirName}"`
|
||||
`cd ${this.cwd} && git add -A && git commit -m "feat(project): init meta project for ${this.dirName}"`,
|
||||
);
|
||||
await this.updateLocalRepos();
|
||||
}
|
||||
@ -203,7 +203,7 @@ export class Meta {
|
||||
await this.sortMetaRepoData();
|
||||
await this.writeToDisk();
|
||||
await this.smartshellInstance.exec(
|
||||
`cd ${this.cwd} && git add -A && git commit -m "feat(project): add ${projectNameArg}"`
|
||||
`cd ${this.cwd} && git add -A && git commit -m "feat(project): add ${projectNameArg}"`,
|
||||
);
|
||||
await this.updateLocalRepos();
|
||||
}
|
||||
|
@ -5,11 +5,11 @@ export let run = (argvArg) => {
|
||||
let projectInfo = new plugins.projectinfo.ProjectInfo(paths.cwd);
|
||||
if (argvArg._[1] === 'ci') {
|
||||
plugins.smartopen.openUrl(
|
||||
`https://gitlab.com/${projectInfo.git.gituser}/${projectInfo.git.gitrepo}/settings/ci_cd`
|
||||
`https://gitlab.com/${projectInfo.git.gituser}/${projectInfo.git.gitrepo}/settings/ci_cd`,
|
||||
);
|
||||
} else if (argvArg._[1] === 'pipelines') {
|
||||
plugins.smartopen.openUrl(
|
||||
`https://gitlab.com/${projectInfo.git.gituser}/${projectInfo.git.gitrepo}/pipelines`
|
||||
`https://gitlab.com/${projectInfo.git.gituser}/${projectInfo.git.gitrepo}/pipelines`,
|
||||
);
|
||||
}
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ export let run = () => {
|
||||
return projects;
|
||||
})()}
|
||||
* format a project with 'gitzone format'
|
||||
`
|
||||
`,
|
||||
);
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
|
@ -2,7 +2,7 @@ import * as plugins from './plugins.js';
|
||||
|
||||
export let packageDir = plugins.path.join(
|
||||
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
|
||||
'../'
|
||||
'../',
|
||||
);
|
||||
export let assetsDir = plugins.path.join(packageDir, './assets');
|
||||
export let templatesDir = plugins.path.join(assetsDir, 'templates');
|
||||
|
Reference in New Issue
Block a user