feat(core): initial
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | .nogit/ | ||||||
|  | node_modules/ | ||||||
|  | coverage/ | ||||||
|  | public/ | ||||||
|  | pages/ | ||||||
|  | .yarn/ | ||||||
							
								
								
									
										130
									
								
								.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | |||||||
|  | # gitzone standard | ||||||
|  | image: hosttoday/ht-docker-node:npmci | ||||||
|  |  | ||||||
|  | cache: | ||||||
|  |   paths: | ||||||
|  |   - .npmci_cache/ | ||||||
|  |   key: "$CI_BUILD_STAGE" | ||||||
|  |  | ||||||
|  | stages: | ||||||
|  | - security | ||||||
|  | - test | ||||||
|  | - release | ||||||
|  | - metadata | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # security stage | ||||||
|  | # ==================== | ||||||
|  | mirror: | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |   - npmci git mirror | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | snyk: | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |     - npmci command npm install -g snyk | ||||||
|  |     - npmci command npm install --ignore-scripts | ||||||
|  |     - npmci command snyk test | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # test stage | ||||||
|  | # ==================== | ||||||
|  | testLEGACY: | ||||||
|  |   stage: test | ||||||
|  |   script: | ||||||
|  |   - npmci node install legacy | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|  |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |   allow_failure: true | ||||||
|  |  | ||||||
|  | testLTS: | ||||||
|  |   stage: test | ||||||
|  |   script: | ||||||
|  |   - npmci node install lts | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|  |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |      | ||||||
|  | testSTABLE: | ||||||
|  |   stage: test | ||||||
|  |   script: | ||||||
|  |   - npmci node install stable | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|  |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | release: | ||||||
|  |   stage: release | ||||||
|  |   script: | ||||||
|  |   - npmci node install stable | ||||||
|  |   - npmci npm publish | ||||||
|  |   only: | ||||||
|  |   - tags | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # metadata stage | ||||||
|  | # ==================== | ||||||
|  | codequality: | ||||||
|  |   stage: metadata | ||||||
|  |   image: docker:stable | ||||||
|  |   allow_failure: true | ||||||
|  |   services: | ||||||
|  |     - docker:stable-dind | ||||||
|  |   script: | ||||||
|  |     - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') | ||||||
|  |     - docker run | ||||||
|  |         --env SOURCE_CODE="$PWD" | ||||||
|  |         --volume "$PWD":/code | ||||||
|  |         --volume /var/run/docker.sock:/var/run/docker.sock | ||||||
|  |         "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code | ||||||
|  |   artifacts: | ||||||
|  |     paths: [codeclimate.json] | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - priv | ||||||
|  |  | ||||||
|  | trigger: | ||||||
|  |   stage: metadata | ||||||
|  |   script: | ||||||
|  |   - npmci trigger | ||||||
|  |   only: | ||||||
|  |   - tags | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | pages: | ||||||
|  |   image: hosttoday/ht-docker-node:npmci | ||||||
|  |   stage: metadata | ||||||
|  |   script: | ||||||
|  |     - npmci command npm install -g npmpage | ||||||
|  |     - npmci command npmpage | ||||||
|  |   tags: | ||||||
|  |     - docker | ||||||
|  |     - notpriv | ||||||
|  |   only: | ||||||
|  |     - tags | ||||||
|  |   artifacts: | ||||||
|  |     expire_in: 1 week | ||||||
|  |     paths: | ||||||
|  |     - public | ||||||
							
								
								
									
										1
									
								
								dependencies.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dependencies.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | .gitignore: ../gitignore/ | ||||||
							
								
								
									
										3
									
								
								dist/cli.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								dist/cli.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | #!/usr/bin/env node | ||||||
|  | process.env.CLI_CALL = 'true' | ||||||
|  | var index = require("../dist/index.js"); | ||||||
							
								
								
									
										1
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | export {}; | ||||||
							
								
								
									
										12
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | "use strict"; | ||||||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
|  | const tsNode = require("ts-node"); | ||||||
|  | const path = require("path"); | ||||||
|  | tsNode.register({ | ||||||
|  |     compilerOptions: { | ||||||
|  |         lib: ['es2016', 'es2017'] | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  | const pathToLoad = path.join(process.cwd(), process.argv.pop()); | ||||||
|  | Promise.resolve().then(() => require(pathToLoad)); | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtDQUFrQztBQUNsQyw2QkFBNkI7QUFFN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNkLGVBQWUsRUFBRTtRQUNmLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7S0FDMUI7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDaEUscUNBQU8sVUFBVSxHQUFFIn0= | ||||||
							
								
								
									
										12
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | { | ||||||
|  |   "npmts": { | ||||||
|  |     "cli": true | ||||||
|  |   }, | ||||||
|  |   "npmci": { | ||||||
|  |     "npmGlobalTools": [ | ||||||
|  |       "@gitzone/npmts", | ||||||
|  |       "ts-node" | ||||||
|  |     ], | ||||||
|  |     "npmAccessLevel": "public" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										91
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | |||||||
|  | { | ||||||
|  |   "name": "tsrun", | ||||||
|  |   "version": "1.0.1", | ||||||
|  |   "lockfileVersion": 1, | ||||||
|  |   "requires": true, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@types/node": { | ||||||
|  |       "version": "10.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.0.tgz", | ||||||
|  |       "integrity": "sha512-hWzNviaVFIr1TqcRA8ou49JaSHp+Rfabmnqg2kNvusKqLhPU0rIsGPUj5WJJ7ld4Bb7qdgLmIhLfCD1qS08IVA==" | ||||||
|  |     }, | ||||||
|  |     "arrify": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", | ||||||
|  |       "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" | ||||||
|  |     }, | ||||||
|  |     "buffer-from": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", | ||||||
|  |       "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" | ||||||
|  |     }, | ||||||
|  |     "diff": { | ||||||
|  |       "version": "3.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", | ||||||
|  |       "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" | ||||||
|  |     }, | ||||||
|  |     "make-error": { | ||||||
|  |       "version": "1.3.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", | ||||||
|  |       "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==" | ||||||
|  |     }, | ||||||
|  |     "minimist": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | ||||||
|  |       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" | ||||||
|  |     }, | ||||||
|  |     "mkdirp": { | ||||||
|  |       "version": "0.5.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | ||||||
|  |       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | ||||||
|  |       "requires": { | ||||||
|  |         "minimist": "0.0.8" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "minimist": { | ||||||
|  |           "version": "0.0.8", | ||||||
|  |           "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | ||||||
|  |           "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "source-map": { | ||||||
|  |       "version": "0.6.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | ||||||
|  |       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | ||||||
|  |     }, | ||||||
|  |     "source-map-support": { | ||||||
|  |       "version": "0.5.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", | ||||||
|  |       "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", | ||||||
|  |       "requires": { | ||||||
|  |         "buffer-from": "^1.0.0", | ||||||
|  |         "source-map": "^0.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "ts-node": { | ||||||
|  |       "version": "6.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.1.0.tgz", | ||||||
|  |       "integrity": "sha512-mw11Bq08RZgrU/bzcVw/Ti9wNyefpOanXgWsHg008wyVHjvFhWxNatVVrciOAu8BcWSECoNOSunRzUokKH8Mmw==", | ||||||
|  |       "requires": { | ||||||
|  |         "arrify": "^1.0.0", | ||||||
|  |         "diff": "^3.1.0", | ||||||
|  |         "make-error": "^1.1.1", | ||||||
|  |         "minimist": "^1.2.0", | ||||||
|  |         "mkdirp": "^0.5.1", | ||||||
|  |         "source-map-support": "^0.5.6", | ||||||
|  |         "yn": "^2.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "typescript": { | ||||||
|  |       "version": "2.9.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.1.tgz", | ||||||
|  |       "integrity": "sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA==" | ||||||
|  |     }, | ||||||
|  |     "yn": { | ||||||
|  |       "version": "2.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", | ||||||
|  |       "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | { | ||||||
|  |   "name": "tsrun", | ||||||
|  |   "version": "1.0.1", | ||||||
|  |   "description": "run typescript programs efficiently", | ||||||
|  |   "main": "dist/index.js", | ||||||
|  |   "typings": "dist/index.d.ts", | ||||||
|  |   "author": "Lossless GmbH", | ||||||
|  |   "license": "MIT", | ||||||
|  |   "bin": { | ||||||
|  |     "tsrun": "dist/cli.js" | ||||||
|  |   }, | ||||||
|  |   "scripts": { | ||||||
|  |     "test": "(npmts --notest && node dist/cli.js -d test/test.ts)", | ||||||
|  |     "format": "(gitzone format)", | ||||||
|  |     "build": "echo \"Not needed for now\"" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": {}, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@types/node": "^10.3.0", | ||||||
|  |     "ts-node": "^6.1.0", | ||||||
|  |     "typescript": "^2.9.1" | ||||||
|  |   }, | ||||||
|  |   "private": false | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								test/test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | const textToPost: string = 'Test runs!'; | ||||||
|  | console.log(textToPost); | ||||||
							
								
								
									
										11
									
								
								ts/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								ts/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | import * as tsNode from 'ts-node'; | ||||||
|  | import * as path from 'path'; | ||||||
|  |  | ||||||
|  | tsNode.register({ | ||||||
|  |   compilerOptions: { | ||||||
|  |     lib: ['es2016', 'es2017'] | ||||||
|  |   } | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | const pathToLoad = path.join(process.cwd(), process.argv.pop()); | ||||||
|  | import(pathToLoad); | ||||||
							
								
								
									
										3
									
								
								tslint.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tslint.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | { | ||||||
|  |     "extends": "tslint-config-standard" | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user