generated from templates/typescript-library
	Initial commit
This commit is contained in:
		
							
								
								
									
										36
									
								
								.gitea/workflows/build-and-publish.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.gitea/workflows/build-and-publish.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  |  | ||||||
|  | name: Build and publish | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: { } | ||||||
|  |   # push: | ||||||
|  |   #   branches: | ||||||
|  |   #   - master | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build-and-publish: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     env: | ||||||
|  |       NPM_PUBLISH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||||||
|  |     steps: | ||||||
|  |       - name: Check out the repo | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|  |       - name: Use Node.js 20 | ||||||
|  |         uses: actions/setup-node@v3 | ||||||
|  |         with: | ||||||
|  |           node-version: 20 | ||||||
|  |  | ||||||
|  |       - name: Login to package registry | ||||||
|  |         run: | | ||||||
|  |           npm config set @<scope name>:registry https://gitea.jbrumond.me/api/packages/<scope name>/npm/ | ||||||
|  |           npm config set -- '//gitea.jbrumond.me/api/packages/<scope name>/npm/:_authToken' "$NPM_PUBLISH_TOKEN" | ||||||
|  |  | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: npm ci | ||||||
|  |  | ||||||
|  |       - name: Compile TypeScript | ||||||
|  |         run: npm run tsc | ||||||
|  |  | ||||||
|  |       - name: Publish package | ||||||
|  |         run: npm publish | ||||||
							
								
								
									
										40
									
								
								.gitea/workflows/build-and-test.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.gitea/workflows/build-and-test.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  |  | ||||||
|  | name: Build and test | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |     - master | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |     - master | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build-and-test: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         node-version: [18.x, 20.x] | ||||||
|  |     steps: | ||||||
|  |       - name: Check out the repo | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|  |       - name: Use Node.js ${{ matrix.node-version }} | ||||||
|  |         uses: actions/setup-node@v3 | ||||||
|  |         with: | ||||||
|  |           node-version: ${{ matrix.node-version }} | ||||||
|  |  | ||||||
|  |       - name: Login to package registry | ||||||
|  |         run: | | ||||||
|  |           npm config set @<scope name>:registry https://gitea.jbrumond.me/api/packages/<scope name>/npm/ | ||||||
|  |           npm config set -- '//gitea.jbrumond.me/api/packages/<scope name>/npm/:_authToken' "$NPM_PUBLISH_TOKEN" | ||||||
|  |  | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: npm ci | ||||||
|  |  | ||||||
|  |       - name: Compile TypeScript | ||||||
|  |         run: npm run tsc | ||||||
|  |  | ||||||
|  |       # todo: tests | ||||||
|  |       - name: Run tests | ||||||
|  |         run: exit 0 | ||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | node_modules | ||||||
|  | build | ||||||
							
								
								
									
										3
									
								
								.npmignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.npmignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | .gitea | ||||||
|  | src | ||||||
|  | tsconfig.json | ||||||
							
								
								
									
										29
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | { | ||||||
|  |   "name": "@templates/typescript-library", | ||||||
|  |   "version": "1.0.0", | ||||||
|  |   "lockfileVersion": 3, | ||||||
|  |   "requires": true, | ||||||
|  |   "packages": { | ||||||
|  |     "": { | ||||||
|  |       "name": "@templates/typescript-library", | ||||||
|  |       "version": "1.0.0", | ||||||
|  |       "license": "ISC", | ||||||
|  |       "devDependencies": { | ||||||
|  |         "typescript": "^5.1.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/typescript": { | ||||||
|  |       "version": "5.1.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", | ||||||
|  |       "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "bin": { | ||||||
|  |         "tsc": "bin/tsc", | ||||||
|  |         "tsserver": "bin/tsserver" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=14.17" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										23
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | { | ||||||
|  |   "name": "@templates/typescript-library", | ||||||
|  |   "version": "1.0.0", | ||||||
|  |   "description": "Template project for creating new TypeScript library packages", | ||||||
|  |   "main": "build/index.js", | ||||||
|  |   "types": "build/index.d.ts", | ||||||
|  |   "scripts": { | ||||||
|  |     "tsc": "tsc --build", | ||||||
|  |     "clean": "rm -rf ./build" | ||||||
|  |   }, | ||||||
|  |   "publishConfig": { | ||||||
|  |     "registry": "https://gitea.jbrumond.me/api/packages/templates/npm/" | ||||||
|  |   }, | ||||||
|  |   "repository": { | ||||||
|  |     "type": "git", | ||||||
|  |     "url": "https://gitea.jbrumond.me/templates/typescript-library.git" | ||||||
|  |   }, | ||||||
|  |   "author": "James Brumond <https://jbrumond.me>", | ||||||
|  |   "license": "ISC", | ||||||
|  |   "devDependencies": { | ||||||
|  |     "typescript": "^5.1.3" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										30
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  |  | ||||||
|  | Template project for creating new TypeScript library packages | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## Get Started | ||||||
|  |  | ||||||
|  | ### Pull down the code | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | git init | ||||||
|  | git pull https://gitea.jbrumond.me/templates/typescript-library.git master | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### Update configuration | ||||||
|  |  | ||||||
|  | - In `package.json`, update any fields like `name`, `description`, `repository`, etc. | ||||||
|  | - In `.gitea/workflows/publish.yaml`, update `<scope name>` placeholders | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Building | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | npm run tsc | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  |  | ||||||
|  | export function hello() : string { | ||||||
|  | 	return 'hello'; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | { | ||||||
|  | 	"include": [ | ||||||
|  | 		"src/**/*.ts" | ||||||
|  | 	], | ||||||
|  | 	"compilerOptions": { | ||||||
|  | 		"rootDir": "./src", | ||||||
|  | 		"outDir": "./build", | ||||||
|  | 		"target": "ES2022", | ||||||
|  | 		"moduleResolution": "NodeNext", | ||||||
|  | 		"module": "CommonJS", | ||||||
|  | 		"declaration": true, | ||||||
|  | 		"sourceMap": true | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 js
					js