initial
This commit is contained in:
		
							
								
								
									
										66
									
								
								.gitea/workflows/default_nottags.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								.gitea/workflows/default_nottags.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| name: Default (not tags) | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags-ignore: | ||||
|       - '**' | ||||
|  | ||||
| env: | ||||
|   IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci | ||||
|   NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git | ||||
|   NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}} | ||||
|   NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}} | ||||
|   NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}} | ||||
|   NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}} | ||||
|  | ||||
| jobs: | ||||
|   security: | ||||
|     runs-on: ubuntu-latest | ||||
|     continue-on-error: true | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Install pnpm and npmci | ||||
|         run: | | ||||
|           pnpm install -g pnpm | ||||
|           pnpm install -g @ship.zone/npmci | ||||
|  | ||||
|       - name: Run npm prepare | ||||
|         run: npmci npm prepare | ||||
|  | ||||
|       - name: Audit production dependencies | ||||
|         run: | | ||||
|           npmci command npm config set registry https://registry.npmjs.org | ||||
|           npmci command pnpm audit --audit-level=high --prod | ||||
|         continue-on-error: true | ||||
|  | ||||
|       - name: Audit development dependencies | ||||
|         run: | | ||||
|           npmci command npm config set registry https://registry.npmjs.org | ||||
|           npmci command pnpm audit --audit-level=high --dev | ||||
|         continue-on-error: true | ||||
|  | ||||
|   test: | ||||
|     if: ${{ always() }} | ||||
|     needs: security | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Test stable | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm install | ||||
|           npmci npm test | ||||
|  | ||||
|       - name: Test build | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm install | ||||
|           npmci npm build | ||||
							
								
								
									
										124
									
								
								.gitea/workflows/default_tags.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								.gitea/workflows/default_tags.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,124 @@ | ||||
| name: Default (tags) | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|       - '*' | ||||
|  | ||||
| env: | ||||
|   IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci | ||||
|   NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git | ||||
|   NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}} | ||||
|   NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}} | ||||
|   NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}} | ||||
|   NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}} | ||||
|  | ||||
| jobs: | ||||
|   security: | ||||
|     runs-on: ubuntu-latest | ||||
|     continue-on-error: true | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Prepare | ||||
|         run: | | ||||
|           pnpm install -g pnpm | ||||
|           pnpm install -g @ship.zone/npmci | ||||
|           npmci npm prepare | ||||
|  | ||||
|       - name: Audit production dependencies | ||||
|         run: | | ||||
|           npmci command npm config set registry https://registry.npmjs.org | ||||
|           npmci command pnpm audit --audit-level=high --prod | ||||
|         continue-on-error: true | ||||
|  | ||||
|       - name: Audit development dependencies | ||||
|         run: | | ||||
|           npmci command npm config set registry https://registry.npmjs.org | ||||
|           npmci command pnpm audit --audit-level=high --dev | ||||
|         continue-on-error: true | ||||
|  | ||||
|   test: | ||||
|     if: ${{ always() }} | ||||
|     needs: security | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Prepare | ||||
|         run: | | ||||
|           pnpm install -g pnpm | ||||
|           pnpm install -g @ship.zone/npmci | ||||
|           npmci npm prepare | ||||
|  | ||||
|       - name: Test stable | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm install | ||||
|           npmci npm test | ||||
|  | ||||
|       - name: Test build | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm install | ||||
|           npmci npm build | ||||
|  | ||||
|   release: | ||||
|     needs: test | ||||
|     if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Prepare | ||||
|         run: | | ||||
|           pnpm install -g pnpm | ||||
|           pnpm install -g @ship.zone/npmci | ||||
|           npmci npm prepare | ||||
|  | ||||
|       - name: Release | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm publish | ||||
|  | ||||
|   metadata: | ||||
|     needs: test | ||||
|     if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: ${{ env.IMAGE }} | ||||
|     continue-on-error: true | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Prepare | ||||
|         run: | | ||||
|           pnpm install -g pnpm | ||||
|           pnpm install -g @ship.zone/npmci | ||||
|           npmci npm prepare | ||||
|  | ||||
|       - name: Code quality | ||||
|         run: | | ||||
|           npmci command npm install -g typescript | ||||
|           npmci npm install | ||||
|  | ||||
|       - name: Trigger | ||||
|         run: npmci trigger | ||||
|  | ||||
|       - name: Build docs and upload artifacts | ||||
|         run: | | ||||
|           npmci node install stable | ||||
|           npmci npm install | ||||
|           pnpm install -g @git.zone/tsdoc | ||||
|           npmci command tsdoc | ||||
|         continue-on-error: true | ||||
							
								
								
									
										20
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| .nogit/ | ||||
|  | ||||
| # artifacts | ||||
| coverage/ | ||||
| public/ | ||||
| pages/ | ||||
|  | ||||
| # installs | ||||
| node_modules/ | ||||
|  | ||||
| # caches | ||||
| .yarn/ | ||||
| .cache/ | ||||
| .rpt2_cache | ||||
|  | ||||
| # builds | ||||
| dist/ | ||||
| dist_*/ | ||||
|  | ||||
| # custom | ||||
							
								
								
									
										11
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| { | ||||
|   "version": "0.2.0", | ||||
|   "configurations": [ | ||||
|     { | ||||
|       "command": "npm test", | ||||
|       "name": "Run npm test", | ||||
|       "request": "launch", | ||||
|       "type": "node-terminal" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| { | ||||
|   "json.schemas": [ | ||||
|     { | ||||
|       "fileMatch": ["/npmextra.json"], | ||||
|       "schema": { | ||||
|         "type": "object", | ||||
|         "properties": { | ||||
|           "npmci": { | ||||
|             "type": "object", | ||||
|             "description": "settings for npmci" | ||||
|           }, | ||||
|           "gitzone": { | ||||
|             "type": "object", | ||||
|             "description": "settings for gitzone", | ||||
|             "properties": { | ||||
|               "projectType": { | ||||
|                 "type": "string", | ||||
|                 "enum": ["website", "element", "service", "npm", "wcc"] | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										4
									
								
								cli.child.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cli.child.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| #!/usr/bin/env node | ||||
| process.env.CLI_CALL = 'true'; | ||||
| import * as cliTool from './ts/index.js'; | ||||
| cliTool.runCli(); | ||||
							
								
								
									
										4
									
								
								cli.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cli.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| #!/usr/bin/env node | ||||
| process.env.CLI_CALL = 'true'; | ||||
| const cliTool = await import('./dist_ts/index.js'); | ||||
| cliTool.runCli(); | ||||
							
								
								
									
										5
									
								
								cli.ts.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								cli.ts.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| #!/usr/bin/env node | ||||
| process.env.CLI_CALL = 'true'; | ||||
|  | ||||
| import * as tsrun from '@git.zone/tsrun'; | ||||
| tsrun.runPath('./cli.child.js', import.meta.url); | ||||
							
								
								
									
										18
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| { | ||||
|   "gitzone": { | ||||
|     "projectType": "npm", | ||||
|     "module": { | ||||
|       "githost": "code.foss.global", | ||||
|       "gitscope": "git.zone", | ||||
|       "gitrepo": "tspublish", | ||||
|       "description": "publish multiple, concise and small packages from monorepos", | ||||
|       "npmPackagename": "@git.zone/tspublish", | ||||
|       "license": "MIT", | ||||
|       "projectDomain": "git.zone" | ||||
|     } | ||||
|   }, | ||||
|   "npmci": { | ||||
|     "npmGlobalTools": [], | ||||
|     "npmAccessLevel": "public" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										54
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| { | ||||
|   "name": "@git.zone/tspublish", | ||||
|   "version": "1.0.1", | ||||
|   "private": false, | ||||
|   "description": "publish multiple, concise and small packages from monorepos", | ||||
|   "main": "dist_ts/index.js", | ||||
|   "typings": "dist_ts/index.d.ts", | ||||
|   "type": "module", | ||||
|   "author": "Task Venture Capital GmbH", | ||||
|   "license": "MIT", | ||||
|   "scripts": { | ||||
|     "test": "(tstest test/ --web)", | ||||
|     "build": "(tsbuild --web --allowimplicitany)", | ||||
|     "buildDocs": "(tsdoc)" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@git.zone/tsbuild": "^2.1.25", | ||||
|     "@git.zone/tsbundle": "^2.0.5", | ||||
|     "@git.zone/tsrun": "^1.2.46", | ||||
|     "@git.zone/tstest": "^1.0.44", | ||||
|     "@push.rocks/tapbundle": "^5.0.15", | ||||
|     "@types/node": "^22.7.6" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://code.foss.global/git.zone/tspublish.git" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://code.foss.global/git.zone/tspublish/issues" | ||||
|   }, | ||||
|   "homepage": "https://code.foss.global/git.zone/tspublish#readme", | ||||
|   "browserslist": [ | ||||
|     "last 1 chrome versions" | ||||
|   ], | ||||
|   "files": [ | ||||
|     "ts/**/*", | ||||
|     "ts_web/**/*", | ||||
|     "dist/**/*", | ||||
|     "dist_*/**/*", | ||||
|     "dist_ts/**/*", | ||||
|     "dist_ts_web/**/*", | ||||
|     "assets/**/*", | ||||
|     "cli.js", | ||||
|     "npmextra.json", | ||||
|     "readme.md" | ||||
|   ], | ||||
|   "dependencies": { | ||||
|     "@push.rocks/smartcli": "^4.0.11", | ||||
|     "@push.rocks/smartfile": "^11.0.21", | ||||
|     "@push.rocks/smartlog": "^3.0.7", | ||||
|     "@push.rocks/smartnpm": "^2.0.4", | ||||
|     "@push.rocks/smartpath": "^5.0.18" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										7190
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										7190
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3
									
								
								readme.hints.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								readme.hints.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| # Project Readme Hints | ||||
|  | ||||
| This is the initial readme hints file. | ||||
							
								
								
									
										7
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| # @git.zone/tspublish | ||||
|  | ||||
| publish multiple, concise and small packages from monorepos | ||||
|  | ||||
| ## How to create the docs | ||||
|  | ||||
| To create docs run gitzone aidoc. | ||||
							
								
								
									
										8
									
								
								test/test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| import { expect, expectAsync, tap } from '@push.rocks/tapbundle'; | ||||
| import * as tspublish from '../ts/index.js'; | ||||
|  | ||||
| tap.test('first test', async () => { | ||||
|   console.log(tspublish); | ||||
| }); | ||||
|  | ||||
| tap.start(); | ||||
							
								
								
									
										8
									
								
								ts/00_commitinfo_data.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								ts/00_commitinfo_data.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| /** | ||||
|  * autocreated commitinfo by @push.rocks/commitinfo | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@idp.global/idp.global', | ||||
|   version: '1.4.2', | ||||
|   description: 'An identity provider software managing user authentications, registrations, and sessions.' | ||||
| } | ||||
							
								
								
									
										95
									
								
								ts/classes.publishmodule.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								ts/classes.publishmodule.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,95 @@ | ||||
| import * as plugins from './plugins.js'; | ||||
| import * as paths from './paths.js'; | ||||
| import { logger } from './logging.js'; | ||||
|  | ||||
| export interface IPublishModuleOptions { | ||||
|   monoRepoDir: string; | ||||
|   packageSubFolder: string; | ||||
|   packageSubFolderFullPath?: string; | ||||
|   publishModDirFullPath?: string; | ||||
|   name?: string; | ||||
|   version?: string; | ||||
|   dependencies?: {[key: string]: string}; | ||||
| } | ||||
|  | ||||
| export class PublishModule { | ||||
|   public options: IPublishModuleOptions; | ||||
|   constructor(options: IPublishModuleOptions) { | ||||
|     this.options = options; | ||||
|   } | ||||
|  | ||||
|   public async init() { | ||||
|  | ||||
|     this.options.packageSubFolderFullPath = plugins.path.join( | ||||
|       this.options.monoRepoDir, | ||||
|       this.options.packageSubFolder | ||||
|     ); | ||||
|  | ||||
|     // check requirements | ||||
|     if (!this.options.packageSubFolder.startsWith('ts')) { | ||||
|       throw new Error('subFolder must start with "ts"'); | ||||
|     } | ||||
|     const jsonData = plugins.smartfile.fs.toObjectSync( | ||||
|       plugins.path.join(this.options.packageSubFolderFullPath, 'tspublish.json'), | ||||
|     ); | ||||
|     this.options.dependencies = this.options.dependencies || {}; | ||||
|     this.options.dependencies = { | ||||
|       ...this.options.dependencies, | ||||
|       ...jsonData.dependencies, | ||||
|     }; | ||||
|     this.options.name = this.options.name || jsonData.name; | ||||
|     this.options.version = plugins.smartfile.fs.toObjectSync( | ||||
|       plugins.path.join(this.options.monoRepoDir, 'package.json') | ||||
|     ).version; | ||||
|  | ||||
|     // now that we have a name and version, lets check if there is already a package under the same name and version. | ||||
|     const smartnpmInstance = new plugins.smartnpm.NpmRegistry({}); // TODO: pass in options | ||||
|     const packageInfo = await smartnpmInstance.getPackageInfo(this.options.name); | ||||
|     if (packageInfo) { | ||||
|       const availableVersions = packageInfo.allVersions.map(versionArg => versionArg.version); | ||||
|       logger.log('info', `available versions are: ${availableVersions.toString()}`); | ||||
|       if (availableVersions.includes(this.options.version)) { | ||||
|         throw new Error(`package ${this.options.name} already exists with version ${this.options.version}`); | ||||
|       }; | ||||
|     } | ||||
|      | ||||
|   } | ||||
|  | ||||
|   public async getLatestVersionOfPackage(name: string) { | ||||
|     const smartnpmInstance = new plugins.smartnpm.NpmRegistry({}); // TODO: pass in options | ||||
|     const packageInfo = await smartnpmInstance.getPackageInfo(name); | ||||
|     if (!packageInfo) { | ||||
|       throw new Error(`package ${name} not found`); | ||||
|     } | ||||
|     return packageInfo.allVersions[0].version; | ||||
|   } | ||||
|  | ||||
|   public async createPackageJson() { | ||||
|     const packageJson = { | ||||
|       name: this.options.name, | ||||
|       version: this.options.version, | ||||
|       description: '', | ||||
|       exports : { | ||||
|         '.': { | ||||
|           import: './dist/index.js', | ||||
|         }, | ||||
|       }, | ||||
|       scripts: { | ||||
|         build: 'tsbuild tsfolders --allowimplicitany', | ||||
|       }, | ||||
|       dependencies: this.options.dependencies, | ||||
|       devDependencies: { | ||||
|         '@git.zone/tsbuild': await this.getLatestVersionOfPackage('@git.zone/tsbuild'), | ||||
|       }, | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public async createPublishModuleDir() { | ||||
|     this.options.publishModDirFullPath = plugins.path.join( | ||||
|       this.options.monoRepoDir, | ||||
|       `dist_publish_${this.options.packageSubFolder}` | ||||
|     ); | ||||
|     await plugins.smartfile.fs.ensureEmptyDir(publishModDir); | ||||
|     plugins. | ||||
|   } | ||||
| } | ||||
							
								
								
									
										38
									
								
								ts/classes.tspublish.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								ts/classes.tspublish.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| import { logger } from './logging.js'; | ||||
| import * as plugins from './plugins.js'; | ||||
|  | ||||
| import { PublishModule } from './classes.publishmodule.js'; | ||||
|  | ||||
| export class TsPublish { | ||||
|   constructor() {} | ||||
|  | ||||
|   public async publish (monorepoDirArg: string) { | ||||
|     const publishModules = await this.readDirectory(monorepoDirArg); | ||||
|     for (const publishModule of publishModules) { | ||||
|       const publishModuleInstance = new PublishModule({ | ||||
|         monoRepoDir: monorepoDirArg, | ||||
|         packageSubFolder: publishModule, | ||||
|       }); | ||||
|       await publishModuleInstance.init(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public async readDirectory (dirArg: string) { | ||||
|     const subDirs = await plugins.smartfile.fs.listFolders(dirArg); | ||||
|     const publishModules: string[] = []; | ||||
|     for (const subDir of subDirs) { | ||||
|       if (!subDir.startsWith('ts')) { | ||||
|         continue; | ||||
|       } | ||||
|       const fileTree = await plugins.smartfile.fs.listFileTree(subDir, '**/*'); | ||||
|       const hasPublishJson = fileTree.includes('tspublish.json'); | ||||
|       if (!hasPublishJson) { | ||||
|         continue; | ||||
|       } | ||||
|       logger.log('info', `found publish module: ${subDir}`); | ||||
|       publishModules.push(subDir); | ||||
|     } | ||||
|     logger.log('ok', `found ${publishModules.length} publish modules`); | ||||
|     return publishModules; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										1
									
								
								ts/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ts/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| export * from './classes.tspublish.js' | ||||
							
								
								
									
										4
									
								
								ts/logging.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								ts/logging.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| import * as plugins from './plugins.js'; | ||||
| import * as commitinfo from './00_commitinfo_data.js'; | ||||
|  | ||||
| export const logger = plugins.smartlog.Smartlog.createForCommitinfo(commitinfo.commitinfo); | ||||
							
								
								
									
										7
									
								
								ts/paths.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ts/paths.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| import * as plugins from './plugins.js'; | ||||
|  | ||||
| export const cwd = process.cwd(); | ||||
|  | ||||
| export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '..'); | ||||
| export const nogitDir = plugins.path.join(packageDir, '.nogit'); | ||||
|  | ||||
							
								
								
									
										14
									
								
								ts/plugins.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								ts/plugins.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| // node native scope | ||||
| import * as path from 'path'; | ||||
| export { | ||||
|   path, | ||||
| } | ||||
|  | ||||
| // @push.rocks scope | ||||
| import * as smartfile from '@push.rocks/smartfile'; | ||||
| import * as smartcli from '@push.rocks/smartcli'; | ||||
| import * as smartlog from '@push.rocks/smartlog'; | ||||
| import * as smartnpm from '@push.rocks/smartnpm'; | ||||
| import * as smartpath from '@push.rocks/smartpath'; | ||||
|  | ||||
| export { smartfile, smartcli, smartlog, smartnpm, smartpath, }; | ||||
							
								
								
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| { | ||||
|   "compilerOptions": { | ||||
|     "experimentalDecorators": true, | ||||
|     "useDefineForClassFields": false, | ||||
|     "target": "ES2022", | ||||
|     "module": "NodeNext", | ||||
|     "moduleResolution": "NodeNext", | ||||
|     "esModuleInterop": true, | ||||
|     "verbatimModuleSyntax": true | ||||
|   }, | ||||
|   "exclude": [ | ||||
|     "dist_*/**/*.d.ts" | ||||
|   ] | ||||
| } | ||||
		Reference in New Issue
	
	Block a user