Compare commits

...

43 Commits

Author SHA1 Message Date
6a7b4c8b7e 1.15.3
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 22:16:16 +00:00
25c0162c39 fix(deps): update dependency versions and improve website template variable handling 2025-04-15 22:16:16 +00:00
e66d1f05e4 1.15.2
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 16:06:28 +00:00
b1a8a5527e fix(website_update): Await supplyVariables call in website update template 2025-04-15 16:06:27 +00:00
0017781516 1.15.1
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 15:54:04 +00:00
da0cd0ed71 fix(cli): Refresh internal CLI tooling and configuration for consistency. 2025-04-15 15:54:03 +00:00
4890afb2f0 1.15.0
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 15:53:34 +00:00
77bb8bf22e feat(config/template): Add assetbrokerUrl and legalUrl fields to module config and update website template to supply these values 2025-04-15 15:53:34 +00:00
ff2ebc076d 1.14.1
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 15:36:51 +00:00
d71b082b75 fix(package.json): Add packageManager field to specify pnpm version for consistent package management 2025-04-15 15:36:51 +00:00
f6680dc45e 1.14.0
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-04-15 15:35:33 +00:00
cb4a02d1ef feat(tsconfig_update): Add runafter directive to trigger gitzone format after tsconfig update 2025-04-15 15:35:33 +00:00
9e39444daa 1.13.1
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-03-07 02:30:14 +00:00
6ec5d275bb fix(cli): Improve commit message logging 2025-03-07 02:30:14 +00:00
f5d78f3b40 1.13.0 2025-02-28 18:00:11 +00:00
68546939ca feat(templates): Updated and added new TypeScript template files for npm projects 2025-02-28 18:00:11 +00:00
08e9849116 1.12.8
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-02-25 18:47:41 +00:00
f25ade3e97 fix(metadata): Updated package and npmextra json description and keywords for enhanced development workflow clarity 2025-02-25 18:47:41 +00:00
6870c40e57 1.12.7
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-02-25 18:43:56 +00:00
5e99a37a55 fix(meta): Fix issues in project metadata and configuration. 2025-02-25 18:43:56 +00:00
44d1cefc9f fix(ci): Updated dependencies and added CI/CD workflows. 2025-02-25 18:43:29 +00:00
83bafbb6f6 1.12.6
Some checks failed
Default (tags) / security (push) Failing after 2s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-29 17:56:21 +01:00
b90234e226 fix(project): Minor fixes and cleanup 2025-01-29 17:56:21 +01:00
a039a58f8e 1.12.5
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-29 15:38:36 +01:00
d861fcb2d4 fix(cli): Initial implementation of CLI utility with project management features 2025-01-29 15:38:35 +01:00
3a1138da83 1.12.4
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-29 14:45:43 +01:00
bdbd2b6e08 update 2025-01-29 14:45:32 +01:00
43f5643ab1 1.12.3
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-29 14:42:30 +01:00
99e4dcb2e8 update 2025-01-29 14:42:24 +01:00
52f6afb69a 1.12.2
Some checks failed
Default (tags) / security (push) Failing after 2s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-29 14:39:31 +01:00
75c1e3d8f2 fix(format): Add overrides for peek-readable in package.json formatting 2025-01-29 14:39:31 +01:00
2a1ed874b2 1.12.1
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-18 12:38:15 +01:00
58fb0bc3d5 fix(dependencies): Update various package dependencies and Dockerfile base image 2025-01-18 12:38:14 +01:00
b1fbd38dba 1.12.0
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-17 17:48:56 +01:00
fad5e046d3 feat(build): Update TypeScript configuration to support emit decorator metadata 2025-01-17 17:48:56 +01:00
eb1498c242 1.11.0
Some checks failed
Default (tags) / security (push) Failing after 2s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-08 22:31:12 +01:00
6b3d4d1ecf feat(cli): Add Docker command for cleaning up Docker system and extend deprecation command for multiple registries 2025-01-08 22:31:11 +01:00
16ea9bb8bd 1.10.10
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-01 05:33:40 +01:00
7e7aa098f9 fix(templates): Corrected typo in template file comment 2025-01-01 05:33:40 +01:00
df4350d29d 1.10.9
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-01 05:32:10 +01:00
81eb713dee fix(templates): Correct template file paths and organization for service projects 2025-01-01 05:32:10 +01:00
90637b1466 1.10.8
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-01-01 05:02:37 +01:00
6c3b78d0fe fix(assets/templates): Update CI template configurations to use module.githost 2025-01-01 05:02:36 +01:00
36 changed files with 8536 additions and 3853 deletions

3
.gitignore vendored
View File

@ -3,7 +3,6 @@
# artifacts # artifacts
coverage/ coverage/
public/ public/
pages/
# installs # installs
node_modules/ node_modules/
@ -17,4 +16,4 @@ node_modules/
dist/ dist/
dist_*/ dist_*/
# custom #------# custom

1
assets/overrides.json Normal file
View File

@ -0,0 +1 @@
{}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/host.today/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_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/host.today/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_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}

View File

@ -7,7 +7,7 @@ on:
env: env:
IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{git.host}}/${-{gitea.repository}-}.git NPMCI_COMPUTED_REPOURL: https://${-{gitea.repository_owner}-}:${-{secrets.GITEA_TOKEN}-}@{{module.githost}}/${-{gitea.repository}-}.git
NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-} NPMCI_TOKEN_NPM: ${-{secrets.NPMCI_TOKEN_NPM}-}
NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-} NPMCI_TOKEN_NPM2: ${-{secrets.NPMCI_TOKEN_NPM2}-}
NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-} NPMCI_GIT_GITHUBTOKEN: ${-{secrets.NPMCI_GIT_GITHUBTOKEN}-}
@ -89,8 +89,8 @@ jobs:
npmci docker login npmci docker login
npmci docker build npmci docker build
npmci docker test npmci docker test
# npmci docker push {{git.host}} # npmci docker push {{module.githost}}
npmci docker push {{git.host}} npmci docker push {{module.githost}}
metadata: metadata:
needs: test needs: test

View File

@ -24,7 +24,7 @@ RUN rm -rf node_modules/ && pnpm install --prod
## STAGE 3 // rebuild dependencies for alpine ## STAGE 3 // rebuild dependencies for alpine
FROM code.foss.global/host.today/ht-docker-node:alpinenpmci as node3 FROM code.foss.global/host.today/ht-docker-node:alpine_npmci as node3
WORKDIR /app WORKDIR /app
COPY --from=node2 /app /app COPY --from=node2 /app /app
ARG NPMCI_TOKEN_NPM2 ARG NPMCI_TOKEN_NPM2

View File

@ -0,0 +1,8 @@
---
fileName: paths.ts
---
import * as plugins from './plugins.js';
export const packageDir = plugins.path.join(
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
'../'
);

View File

@ -0,0 +1,12 @@
---
fileName: plugins.ts
---
// native scope
import * as path from 'path';
export { path };
// @push.rocks scope
import * as smartpath from '@push.rocks/smartpath';
export { smartpath };

View File

@ -1,7 +0,0 @@
---
fileName: {{module.name}}.plugins.ts
---
const removeme = {};
export {
removeme
}

View File

@ -21,14 +21,14 @@ fileName: package.json
"@git.zone/tsrun": "^1.2.8", "@git.zone/tsrun": "^1.2.8",
"@git.zone/tstest": "^1.0.28", "@git.zone/tstest": "^1.0.28",
"@git.zone/tswatch": "^2.0.1", "@git.zone/tswatch": "^2.0.1",
"@push.rocks/tapbundle": "^5.0.3" "@push.rocks/tapbundle": "^5.5.4"
}, },
"dependencies": { "dependencies": {
"@api.global/typedserver": "^1.0.24", "@api.global/typedserver": "^3.0.53",
"@push.rocks/projectinfo": "^5.0.1", "@push.rocks/projectinfo": "^5.0.1",
"@push.rocks/qenv": "^4.0.10", "@push.rocks/qenv": "^6.1.0",
"@push.rocks/smartdata": "^5.0.7", "@push.rocks/smartdata": "^5.0.7",
"@push.rocks/smartpath": "^5.0.5", "@push.rocks/smartpath": "^5.0.5",
"@push.rocks/smartstate": "^2.0.0" "@push.rocks/smartstate": "^2.0.0"
} },
} }

View File

@ -1,8 +1,8 @@
--- ---
fileName: {{module.name}}.classes.{{module.name}}db.ts fileName: classes.{{module.name}}db.ts
--- ---
import * as plugins from './{{module.name}}.plugins.js'; import * as plugins from './{{module.name}}.plugins.js';
import { {{module.name}} } from './{{module.name}}.classes.{{module.name}}.js'; import { {{module.name}} } from './classes.{{module.name}}.js';

View File

@ -1,9 +1,9 @@
--- ---
fileName: {{module.name}}.classes.{{module.name}}.ts fileName: classes.{{module.name}}.ts
--- ---
import * as plugins from './{{module.name}}.plugins.js'; import * as plugins from './{{module.name}}.plugins.js';
import * as paths from './{{module.name}}.paths.js'; import * as paths from './{{module.name}}.paths.js';
import { {{module.name}}Db } from './{{module.name}}.db.js' import { {{module.name}}Db } from './classes.{{module.name}}db.js'
export class {{module.name}} { export class {{module.name}} {
public projectinfo: plugins.projectinfo.ProjectInfo; public projectinfo: plugins.projectinfo.ProjectInfo;

View File

@ -15,8 +15,7 @@ export {
loleServiceserver loleServiceserver
} }
// pushrocks scope // @push.rocks scope
// pushrocks scope
import * as projectinfo from '@push.rocks/projectinfo'; import * as projectinfo from '@push.rocks/projectinfo';
import * as qenv from '@push.rocks/qenv'; import * as qenv from '@push.rocks/qenv';
import * as smartdata from '@push.rocks/smartdata'; import * as smartdata from '@push.rocks/smartdata';

View File

@ -0,0 +1,2 @@
runafter:
- gitzone format

View File

@ -1,6 +1,7 @@
{ {
"compilerOptions": { "compilerOptions": {
"experimentalDecorators": true, "experimentalDecorators": true,
"emitDecoratorMetadata": true,
"useDefineForClassFields": false, "useDefineForClassFields": false,
"target": "ES2022", "target": "ES2022",
"module": "NodeNext", "module": "NodeNext",

View File

@ -0,0 +1,2 @@
export * from './page2.js';
export * from './page1.js';

View File

@ -0,0 +1,5 @@
import { html } from "@design.estate/dees-element";
export const page1 = () => html`
<first-element></first-element>
`;

View File

@ -0,0 +1,5 @@
import { html } from "@design.estate/dees-element";
export const page2 = () => html`
<first-element></first-element>
`;

View File

@ -1,5 +1,126 @@
# Changelog # Changelog
## 2025-04-15 - 1.15.3 - fix(deps)
update dependency versions and improve website template variable handling
- Bumped @git.zone/tsbuild from ^2.2.1 to ^2.3.2 and @types/node to ^22.14.1
- Upgraded @push.rocks/smartscaf from ^4.0.15 to ^4.0.16 and prettier from ^3.5.2 to ^3.5.3
- Refactored website template update to correctly supply variables with added logging
## 2025-04-15 - 1.15.2 - fix(website_update)
Await supplyVariables call in website update template
- Changed website template update to properly await the supplyVariables method
- Ensured asynchronous consistency in updating website template variables
## 2025-04-15 - 1.15.1 - fix(cli)
Refresh internal CLI tooling and configuration for consistency.
## 2025-04-15 - 1.15.0 - feat(config/template)
Add assetbrokerUrl and legalUrl fields to module config and update website template to supply these values
- Added assetbrokerUrl and legalUrl properties in ts/classes.gitzoneconfig.ts
- Updated ts/mod_format/format.templates.ts to pass assetbrokerUrl and legalUrl to website template
## 2025-04-15 - 1.14.1 - fix(package.json)
Add packageManager field to specify pnpm version for consistent package management
- Inserted packageManager property in package.json with pnpm version info to ensure reproducible dependency installs
## 2025-04-15 - 1.14.0 - feat(tsconfig_update)
Add runafter directive to trigger gitzone format after tsconfig update
- Added runafter configuration in assets/templates/tsconfig_update/.smartscaf.yml to automate formatting task
## 2025-03-07 - 1.13.1 - fix(cli)
Improve commit message logging
- Updated logging to display recommended next commit details.
- Enabled interactive prompt for choosing commit type and scope.
## 2025-02-28 - 1.13.0 - feat(templates)
Updated and added new TypeScript template files for npm projects
- Added new paths.ts and plugins.ts template files for npm projects.
- Removed outdated some.plugins.ts template file.
## 2025-02-25 - 1.12.8 - fix(metadata)
Updated package and npmextra json description and keywords for enhanced development workflow clarity
- Updated the description in package.json to focus on project setup and management.
- Aligned the keywords in both package.json and npmextra.json to include more relevant terms such as gitzone utilities, template management, and CI/CD.
## 2025-02-25 - 1.12.7 - fix(meta)
Fix issues in project metadata and configuration.
- Updated package metadata to ensure accurate project description and licensing.
- Ensured npm access level configuration consistency within npmextra.json.
## 2025-02-25 - 1.12.7 - fix(ci)
Updated dependencies and added CI/CD workflows.
- Updated several dependencies in package.json for compatibility and security.
- Added default GitHub and GitLab CI/CD workflow files to the test directory.
- Introduced a .gitignore file to exclude certain directories and files.
- Ensured consistent formatting with Prettier and TypeScript configurations.
## 2025-01-29 - 1.12.6 - fix(project)
Minor fixes and cleanup
- Removed outdated pages/ directory entry in .gitignore.
- Adjusted Docker module files to include proper newlines.
- Updated TypeScript configuration for modular paths.
- Fixed formatting issues across various TypeScript files.
## 2025-01-29 - 1.12.5 - fix(cli)
Initial implementation of CLI utility with project management features
- Integration of various plugins for logging, command-line interactions, and project management.
- Setup CLI commands for project initialization, updating, formatting, and more.
- Implement commands for packaging, versioning, and deprecating npm packages.
## 2025-01-29 - 1.12.2 - fix(format)
Add overrides for peek-readable in package.json formatting
- Added a URL correction in the packageJson repository information.
- Introduced support for pnpm overrides by including an `overrides.json` file.
## 2025-01-18 - 1.12.1 - fix(dependencies)
Update various package dependencies and Dockerfile base image
- Updated Dockerfile base image from 'alpinenpmci' to 'alpine_npmci'.
- Upgraded @git.zone/tsbuild, @git.zone/tsrun, @git.zone/tsdoc, and other dependencies to their latest versions.
## 2025-01-17 - 1.12.0 - feat(build)
Update TypeScript configuration to support emit decorator metadata
- Added emitDecoratorMetadata to the tsconfig.json template in assets/templates/tsconfig_update.
## 2025-01-08 - 1.11.0 - feat(cli)
Add Docker command for cleaning up Docker system and extend deprecation command for multiple registries
- Added a new command 'docker' to handle Docker system cleanup operations.
- Improved the 'deprecate' command to support deprecating packages across multiple npm registry URLs.
## 2025-01-01 - 1.10.10 - fix(templates)
Corrected typo in template file comment
- Fixed repeated comment in the template file for services under 'assets/templates/service/ts/some.plugins.ts'.
## 2025-01-01 - 1.10.9 - fix(templates)
Correct template file paths and organization for service projects
- Moved 'some.classes.some.ts' to 'classes.some.ts'
- Moved 'some.classes.some.db.ts' to 'classes.some.db.ts'
- Resolved incorrect import paths in service templates
## 2025-01-01 - 1.10.8 - fix(assets/templates)
Update CI template configurations to use module.githost
- Replaced occurrences of {{git.host}} with {{module.githost}} in CI workflow files
- Updated package dependencies for service template
## 2024-12-26 - 1.10.7 - fix(assets) ## 2024-12-26 - 1.10.7 - fix(assets)
Correct URLs in templates and fix TypeScript declaration Correct URLs in templates and fix TypeScript declaration

View File

@ -10,21 +10,26 @@
"githost": "gitlab.com", "githost": "gitlab.com",
"gitscope": "gitzone/private", "gitscope": "gitzone/private",
"gitrepo": "gitzone", "gitrepo": "gitzone",
"description": "A CLI toolbelt to streamline local development cycles by using various gitzone utilities.", "description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
"npmPackagename": "@gitzone_private/gitzone", "npmPackagename": "@gitzone_private/gitzone",
"license": "MIT", "license": "MIT",
"keywords": [ "keywords": [
"CLI", "CLI",
"development", "local development",
"git", "gitzone utilities",
"npm", "project setup",
"version control",
"code formatting",
"template management",
"npm packages",
"TypeScript", "TypeScript",
"automation", "automation",
"project setup", "commit management",
"code formatting",
"template creation", "template creation",
"logging", "meta project management",
"meta project management" "sync",
"Docker",
"CI/CD"
] ]
} }
}, },

View File

@ -1,8 +1,8 @@
{ {
"name": "@git.zone/cli", "name": "@git.zone/cli",
"private": false, "private": false,
"version": "1.10.7", "version": "1.15.3",
"description": "A CLI toolbelt to streamline local development cycles by using various gitzone utilities.", "description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
"main": "dist_ts/index.ts", "main": "dist_ts/index.ts",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
"type": "module", "type": "module",
@ -30,46 +30,51 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://code.foss.global/git.zone/cli.git" "url": "https://gitlab.com/gitzone/private/gitzone.git"
}, },
"keywords": [ "keywords": [
"CLI", "CLI",
"development", "local development",
"git", "gitzone utilities",
"npm", "project setup",
"version control",
"code formatting",
"template management",
"npm packages",
"TypeScript", "TypeScript",
"automation", "automation",
"project setup", "commit management",
"code formatting",
"template creation", "template creation",
"logging", "meta project management",
"meta project management" "sync",
"Docker",
"CI/CD"
], ],
"author": "Task Venture Capital GmbH", "author": "Task Venture Capital GmbH",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://code.foss.global/git.zone/cli/issues" "url": "https://gitlab.com/gitzone/private/gitzone/issues"
}, },
"homepage": "https://pages.foss.global/git.zone/cli", "homepage": "https://gitlab.com/gitzone/private/gitzone#readme",
"devDependencies": { "devDependencies": {
"@git.zone/tsbuild": "^2.1.84", "@git.zone/tsbuild": "^2.3.2",
"@git.zone/tsrun": "^1.2.49", "@git.zone/tsrun": "^1.3.3",
"@git.zone/tstest": "^1.0.90", "@git.zone/tstest": "^1.0.96",
"@types/node": "^22.8.1" "@types/node": "^22.14.1"
}, },
"dependencies": { "dependencies": {
"@git.zone/tsdoc": "^1.3.12", "@git.zone/tsdoc": "^1.4.4",
"@git.zone/tspublish": "^1.4.0", "@git.zone/tspublish": "^1.9.1",
"@push.rocks/commitinfo": "^1.0.12", "@push.rocks/commitinfo": "^1.0.12",
"@push.rocks/early": "^4.0.4", "@push.rocks/early": "^4.0.4",
"@push.rocks/gulp-function": "^3.0.7", "@push.rocks/gulp-function": "^3.0.7",
"@push.rocks/lik": "^6.0.15", "@push.rocks/lik": "^6.0.15",
"@push.rocks/npmextra": "^5.0.23", "@push.rocks/npmextra": "^5.1.2",
"@push.rocks/projectinfo": "^5.0.2", "@push.rocks/projectinfo": "^5.0.2",
"@push.rocks/smartchok": "^1.0.34", "@push.rocks/smartchok": "^1.0.34",
"@push.rocks/smartcli": "^4.0.11", "@push.rocks/smartcli": "^4.0.11",
"@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartdelay": "^3.0.5",
"@push.rocks/smartfile": "^11.0.21", "@push.rocks/smartfile": "^11.2.0",
"@push.rocks/smartgulp": "^3.0.4", "@push.rocks/smartgulp": "^3.0.4",
"@push.rocks/smartinteract": "^2.0.15", "@push.rocks/smartinteract": "^2.0.15",
"@push.rocks/smartjson": "^5.0.20", "@push.rocks/smartjson": "^5.0.20",
@ -81,14 +86,14 @@
"@push.rocks/smartobject": "^1.0.12", "@push.rocks/smartobject": "^1.0.12",
"@push.rocks/smartopen": "^2.0.0", "@push.rocks/smartopen": "^2.0.0",
"@push.rocks/smartpath": "^5.0.18", "@push.rocks/smartpath": "^5.0.18",
"@push.rocks/smartpromise": "^4.0.4", "@push.rocks/smartpromise": "^4.2.3",
"@push.rocks/smartscaf": "^4.0.15", "@push.rocks/smartscaf": "^4.0.16",
"@push.rocks/smartshell": "^3.0.6", "@push.rocks/smartshell": "^3.2.3",
"@push.rocks/smartstream": "^3.0.44", "@push.rocks/smartstream": "^3.2.5",
"@push.rocks/smartunique": "^3.0.9", "@push.rocks/smartunique": "^3.0.9",
"@push.rocks/smartupdate": "^2.0.6", "@push.rocks/smartupdate": "^2.0.6",
"@types/through2": "^2.0.41", "@types/through2": "^2.0.41",
"prettier": "^3.3.3", "prettier": "^3.5.3",
"through2": "^4.0.2" "through2": "^4.0.2"
}, },
"files": [ "files": [
@ -105,5 +110,11 @@
], ],
"browserslist": [ "browserslist": [
"last 1 chrome versions" "last 1 chrome versions"
] ],
"pnpm": {
"overrides": {
"peek-readable": "5.3.1"
}
},
"packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6"
} }

11798
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

224
readme.md
View File

@ -1,191 +1,155 @@
# @git.zone/cli # @git.zone/cli
A CLI toolbelt to streamline local development cycles by using various gitzone utilities. A CLI toolbelt to streamline local development cycles by utilizing various gitzone utilities.
## Install ## Install
To install the `@git.zone/cli` tool, you need to have Node.js and npm installed on your machine. Once you have those set up, you can install the CLI tool globally using the following command: To begin using `@git.zone/cli`, ensure that Node.js and npm are installed on your system. Once they are set up, install the CLI tool globally with the following command:
```shell ```shell
npm install -g @git.zone/cli npm install -g @git.zone/cli
``` ```
This will add the `gitzone` or `gzone` command to your PATH, allowing you to use the tool from any directory. This command makes `gitzone` or `gzone` accessible from any directory on your system.
## Usage ## Usage
The `gitzone` CLI is designed to streamline various aspects of the local development cycle, including project setup, maintenance, and deployment. Below, we'll go through several scenarios that demonstrate the capabilities of `gitzone`. The `gitzone` CLI provides a comprehensive set of utilities to optimize and manage the development lifecycle of projects, ranging from project initialization to version control, code formatting, and deployment processes. This usage guide will walk you through the available commands, their use cases, and provide detailed examples.
### Getting Started ### Initializing a New Project
To start using `gitzone`, you need to initialize a new project or use it with an existing one. This section will guide you through the initial setup and provide examples of the core commands. To bootstrap a new project aligned with modern TypeScript practices, use gitzone's template command. Choose from a range of templates tailored for different project types:
#### Initialize a New Project
`gitzone` can create several types of projects, including standard npm modules, websites using LitElement, and custom web components. To create a new project, you can use the following command:
```shell ```shell
gitzone template [templatename] gitzone template [templatename]
``` ```
Replace `[templatename]` with one of the following: Replace `[templatename]` with any of the following:
- `npm`: A standard npm module with TypeScript support, testing, and CI/CD setup. - `npm`: Starts an npm module with TypeScript, complete with test and CI/CD integration.
- `website`: A LitElement-based website with e2e testing, bundling, and service worker support. - `website`: Initializes a LitElement-based frontend application with features such as e2e testing and service worker setup.
- `element`: A LitElement standard setup for creating web components. - `element`: Prepares a new standard setup for creating reusable web components with LitElement.
Example of starting a new npm project: **Example: Starting a New npm Project**
1. Open your terminal and navigate to the directory where you want to create your project. 1. Navigate to your desired directory in the terminal.
2. Execute the following command: 2. Execute:
```shell ```shell
gitzone template npm gitzone template npm
``` ```
3. Follow the interactive prompts to set up your project. You will be asked to provide information such as the project name, description, GitHub repository, etc. 3. Respond to the prompts to customize the project settings. This includes setting up essential metadata such as name and repository information.
#### Committing Changes ### Committing Changes
To standardize commit messages and increment versions based on change types (fix, feat, breaking change): Standardizing commit messages and versionning with gitzone:
```shell ```shell
gitzone commit gitzone commit
``` ```
This command will prompt you with a series of questions to help construct a standardized commit message and create a new commit. This command provides an interactive prompt to create a conventional commit message, which will be automatically versioned based on the significance of the changes like `fix`, `feat`, or `BREAKING CHANGE`.
#### Deprecating a Package ### Handling Package Deprecation
To deprecate an old package in favor of a new one: Replace an outdated package with a new one for your team and users:
```shell ```shell
gitzone deprecate gitzone deprecate
``` ```
This command will prompt you for the old and new package names and will automatically deprecate the old package on npm. The utility collects information about old and new package names through interactive prompts, and proceeds with deprecation notices in npm, guiding users towards the updated package.
#### Opening CI/CD Settings ### CI/CD Utilities
Quickly open the CI/CD settings page of your project repository: Access your projects CI/CD settings instantly:
```shell ```shell
gitzone open ci gitzone open ci
``` ```
### Example Commands This command opens the settings page of the repositorys CI/CD configuration directly from your CLI, thus swiftly transitioning from local tasks to cloud configurations.
#### Project Setup and Initialization ### Maintaining Project Cleanliness
Let's go through how to scaffold a new web component project: For consistent code formatting across your project:
1. Navigate to your desired directory.
2. Run the following command:
```shell
gitzone template element
```
3. Follow the prompts to set up your web component project.
#### Managing Project Lifecycle
Commands to manage your project's lifecycle:
- **Commit Changes:**
```shell
gitzone commit
```
- **Deprecate a Package:**
```shell
gitzone deprecate
```
- **Format Project Files:**
```shell
gitzone format
```
- **Regenerate Readme:**
```shell
gitzone readme
```
- **Update Local Repositories:**
```shell
gitzone update
```
#### Advanced Scenarios
##### Formatting
To ensure consistent formatting using Prettier:
```shell ```shell
gitzone format gitzone format
``` ```
##### Building the Project This command applies uniform formatting styles using Prettier, ensuring your JS/TS and markdown files align with the project's style guide.
To build your project as defined in your `package.json`: ### Lifecycle Management Commands
```shell #### Clean Builds
npm run build
```
##### Git and Version Control Remove generated files and prepare for a fresh build:
Check the current project version:
```shell
gitzone -v
```
To synchronize local repositories with remotes:
```shell
gitzone update
```
##### Metadata and Configuration
To initialize or update metadata:
```shell
gitzone meta init
```
### Continuous Integration and Delivery (CI/CD)
#### Running Tests
To execute tests defined in your `package.json`:
```shell
npm test
```
#### Building Documentation
Generate documentation:
```shell
npm run buildDocs
```
### Troubleshooting and Debugging
#### Detailed Logs
Enable detailed logging for troubleshooting:
```shell
gitzone --loglevel=debug
```
#### Cleaning Up
To clean up project artifacts:
```shell ```shell
gitzone clean gitzone clean
``` ```
### Summary This utility cleans up build artifacts from your project directory so that you can run a fresh build without residual clutter affecting outcomes.
The `gitzone` CLI tool provides a comprehensive suite of commands that streamline project setup, lifecycle management, and deployment, which are indispensable for modern development workflows. By familiarizing yourself with the different commands, you can maximize your productivity and focus on what really matters—writing code. Whether you are starting a new project, maintaining an existing one, or deploying your work, `gitzone` is your toolbelt for efficient development cycles. #### Sync and meta Configuration
To manage metadata that guides your project configurations and module syncing:
```shell
gitzone meta init
```
This initialization sets the groundwork for supporting gitzone projects by helping you create a `.meta.json` file that tracks subprojects.
### Advanced Operations
#### Cloud and Docker Integrations
For projects integrating cloud deployment or containerization:
```shell
gitzone docker prune
```
This utility manages Docker resources by cleaning stale volumes, containers, and images, ensuring efficient resource use.
### Detailed Use Cases
#### **Project Setup and Template Management**
Whether creating an npm module or a web component, the command `gitzone template [templatename]` invokes smart scaffolding processes that automatically set up a robust project environment equipped with modern tooling like TypeScript, Prettier configurations, and testing frameworks.
#### **Commit Management**
The `gitzone commit` command assures that your commit messages complement semantic versioning practices. It proposes version bumps based on detected changes and helps maintain an accurate project change log.
- **Interactive Commit:** Users engage in dialogues to define commit type (`fix`, `feat`, `BREAKING CHANGE`), scope, and description, resulting in uniform and meaningful commit logs.
- **Automatic Versioning:** After message crafting, the versioning is attended by bumps similar to npms `npm version` with stages such as `major`, `minor`, and `patch`.
#### **Formatting and Configurations**
A consistent format yields a professional and readable codebase:
```shell
gitzone format
```
- **Prettier Integration:** Formats not only TypeScript and JavaScript files but also documents such as `readme.md`, maintaining consistency in both code and documentation style.
#### **Synced Meta Projects**
Effectively supervise interconnected repositories or module collections:
- **Meta Initialization (`meta init`)**: Lay down a foundation for a meta repository that orchestrates multiple projects by overseeing them through a centralized metadata file.
- **Subproject Operations:** Commands such as `meta update`, `meta add`, `meta remove` enable dynamic management of subprojects, ensuring they remain updated with current features and aligned to the meta repository's standards.
#### **CI/CD Integration**
Directly linking your local development processes to continuous integration settings with `gitzone open ci` provides seamless switches between code and configuration in cloud-based environments.
#### **Real-time Docker Management**
For developers employing Docker for service deployments, `gitzone docker prune` offers a quick remedy to residual services, optimizing local/docker-storage for a more streamlined experience in container management.
### Leveraging gitzone
By mastering the `gitzone` CLI commands, you gain unparalleled efficiency in managing your projects from conception to deployment. Encompassing a wide gamut of functionalities, from initial project scaffolding to synchronization of modularized repositories and beyond, `gitzone` serves as a linchpin for developers intent on optimizing their workflow. Understanding and utilizing its full potential catalyzes development cycles, granting the freedom to focus on innovation, collaboration, and delivering outstanding software products.
## License and Legal Information ## License and Legal Information

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/cli', name: '@git.zone/cli',
version: '1.10.7', version: '1.15.3',
description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.' description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
} }

View File

@ -16,6 +16,8 @@ export interface IGitzoneConfigData {
npmPackageName: string; npmPackageName: string;
license: string; license: string;
projectDomain: string; projectDomain: string;
assetbrokerUrl: string;
legalUrl: string;
}; };
copy: { [key: string]: string }; copy: { [key: string]: string };
npmciOptions: { npmciOptions: {

View File

@ -48,6 +48,14 @@ export let run = async () => {
await modDeprecate.run(); await modDeprecate.run();
}); });
/**
* docker
*/
gitzoneSmartcli.addCommand('docker').subscribe(async (argvArg) => {
const modDocker = await import('./mod_docker/index.js');
await modDocker.run(argvArg);
});
/** /**
* Update all files that comply with the gitzone standard * Update all files that comply with the gitzone standard
*/ */

View File

@ -4,6 +4,15 @@ import { logger } from '../gitzone.logging.js';
export const run = async () => { export const run = async () => {
const smartInteract = new plugins.smartinteract.SmartInteract([ const smartInteract = new plugins.smartinteract.SmartInteract([
{
name: `registryUrls`,
message: `What are the comma separated registry URLs?`,
type: `input`,
default: `https://registry.npmjs.org`,
validate: (stringInput) => {
return stringInput !== '' && !process.env.CI;
},
},
{ {
name: `oldPackageName`, name: `oldPackageName`,
message: `Whats the name of the OLD package?`, message: `Whats the name of the OLD package?`,
@ -24,14 +33,17 @@ export const run = async () => {
}, },
]); ]);
const answerBucket = await smartInteract.runQueue(); const answerBucket = await smartInteract.runQueue();
const registryUrls = answerBucket.getAnswerFor(`registryUrls`).split(',');
const oldPackageName = answerBucket.getAnswerFor(`oldPackageName`); const oldPackageName = answerBucket.getAnswerFor(`oldPackageName`);
const newPackageName = answerBucket.getAnswerFor(`newPackageName`); const newPackageName = answerBucket.getAnswerFor(`newPackageName`);
logger.log('info', `Deprecating package ${oldPackageName} in favour of ${newPackageName}`); logger.log('info', `Deprecating package ${oldPackageName} in favour of ${newPackageName}`);
const smartshellInstance = new plugins.smartshell.Smartshell({ const smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash', executor: 'bash',
}); });
await smartshellInstance.exec( for (const registryUrl of registryUrls) {
`npm deprecate ${oldPackageName}@* ` + await smartshellInstance.exec(
`"${oldPackageName} has been deprecated in favour of ${newPackageName} - please upgrade asap!!!"` `npm deprecate ${oldPackageName}@* ` +
); `"${oldPackageName} has been deprecated in favour of ${newPackageName} - please upgrade asap!!!" --registry ${registryUrl}`,
);
}
}; };

12
ts/mod_docker/index.ts Normal file
View File

@ -0,0 +1,12 @@
import * as plugins from './mod.plugins.js';
export const run = async (argvArg) => {
const smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash',
});
switch (argvArg._[1]) {
case 'prune':
await smartshellInstance.exec(`docker system prune -a -f --volumes`);
break;
}
};

View File

@ -0,0 +1,4 @@
export * from '../plugins.js';
import * as smartshell from '@push.rocks/smartshell';
export { smartshell };

View File

@ -27,7 +27,7 @@ export const run = async (projectArg: Project) => {
// metadata // metadata
packageJson.repository = { packageJson.repository = {
type: 'git', type: 'git',
url: `git+https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}.git`, url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}.git`,
}; };
(packageJson.bugs = { (packageJson.bugs = {
url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}/issues`, url: `https://${gitzoneData.module.githost}/${gitzoneData.module.gitscope}/${gitzoneData.module.gitrepo}/issues`,
@ -89,6 +89,13 @@ export const run = async (projectArg: Project) => {
await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tstest'); await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tstest');
await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tsbuild'); await ensureDependency(packageJson, 'devDep', 'latest', '@git.zone/tsbuild');
// set overrides
const overrides = plugins.smartfile.fs.toObjectSync(
plugins.path.join(paths.assetsDir, 'overrides.json'),
);
packageJson.pnpm = packageJson.pnpm || {};
packageJson.pnpm.overrides = overrides;
// exclude // exclude
// TODO // TODO

View File

@ -38,7 +38,7 @@ export const run = async (project: Project) => {
case 'website': case 'website':
const ciTemplateDocker = await templateModule.getTemplate('ci_docker'); const ciTemplateDocker = await templateModule.getTemplate('ci_docker');
await ciTemplateDocker.writeToDisk(paths.cwd); await ciTemplateDocker.writeToDisk(paths.cwd);
logger.log('info', 'Updated .gitlabci.yml!'); logger.log('info', 'Updated CI/CD config files!');
// lets care about docker // lets care about docker
const dockerTemplate = await templateModule.getTemplate('dockerfile_service'); const dockerTemplate = await templateModule.getTemplate('dockerfile_service');
@ -57,6 +57,12 @@ export const run = async (project: Project) => {
// update html // update html
if (project.gitzoneConfig.data.projectType === 'website') { if (project.gitzoneConfig.data.projectType === 'website') {
const websiteUpdateTemplate = await templateModule.getTemplate('website_update'); const websiteUpdateTemplate = await templateModule.getTemplate('website_update');
const variables ={
assetbrokerUrl: project.gitzoneConfig.data.module.assetbrokerUrl,
legalUrl: project.gitzoneConfig.data.module.legalUrl,
};
console.log('updating website template with variables\n', JSON.stringify(variables, null, 2));
websiteUpdateTemplate.supplyVariables(variables);
await websiteUpdateTemplate.writeToDisk(paths.cwd); await websiteUpdateTemplate.writeToDisk(paths.cwd);
logger.log('info', `Updated html for website!`); logger.log('info', `Updated html for website!`);
} else if (project.gitzoneConfig.data.projectType === 'service') { } else if (project.gitzoneConfig.data.projectType === 'service') {

View File

@ -7,7 +7,9 @@ import { Project } from '../classes.project.js';
export const run = async (projectArg: Project) => { export const run = async (projectArg: Project) => {
// lets care about tsconfig.json // lets care about tsconfig.json
logger.log('info', 'Formatting tsconfig.json...'); logger.log('info', 'Formatting tsconfig.json...');
const tsconfigSmartfile = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(paths.cwd, 'tsconfig.json')); const tsconfigSmartfile = await plugins.smartfile.SmartFile.fromFilePath(
plugins.path.join(paths.cwd, 'tsconfig.json'),
);
const tsconfigObject = JSON.parse(tsconfigSmartfile.contentBuffer.toString()); const tsconfigObject = JSON.parse(tsconfigSmartfile.contentBuffer.toString());
tsconfigObject.compilerOptions = tsconfigObject.compilerOptions || {}; tsconfigObject.compilerOptions = tsconfigObject.compilerOptions || {};
tsconfigObject.compilerOptions.baseUrl = '.'; tsconfigObject.compilerOptions.baseUrl = '.';
@ -21,4 +23,4 @@ export const run = async (projectArg: Project) => {
} }
tsconfigSmartfile.setContentsFromString(JSON.stringify(tsconfigObject, null, 2)); tsconfigSmartfile.setContentsFromString(JSON.stringify(tsconfigObject, null, 2));
await tsconfigSmartfile.write(); await tsconfigSmartfile.write();
}; };

View File

@ -6,9 +6,11 @@
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"esModuleInterop": true, "esModuleInterop": true,
"verbatimModuleSyntax": true "verbatimModuleSyntax": true,
"baseUrl": ".",
"paths": {}
}, },
"exclude": [ "exclude": [
"dist_*/**/*.d.ts" "dist_*/**/*.d.ts"
] ]
} }