Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
135e860c71 | |||
56be247d16 | |||
94ce004e91 |
@ -26,7 +26,6 @@ mirror:
|
|||||||
snyk:
|
snyk:
|
||||||
stage: security
|
stage: security
|
||||||
script:
|
script:
|
||||||
- npmci npm prepare
|
|
||||||
- npmci command npm install -g snyk
|
- npmci command npm install -g snyk
|
||||||
- npmci command npm install --ignore-scripts
|
- npmci command npm install --ignore-scripts
|
||||||
- npmci command snyk test
|
- npmci command snyk test
|
||||||
@ -34,39 +33,24 @@ snyk:
|
|||||||
- docker
|
- docker
|
||||||
- notpriv
|
- notpriv
|
||||||
|
|
||||||
sast:
|
|
||||||
stage: security
|
|
||||||
image: registry.gitlab.com/hosttoday/ht-docker-dbase:npmci
|
|
||||||
variables:
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
allow_failure: true
|
|
||||||
services:
|
|
||||||
- docker:stable-dind
|
|
||||||
script:
|
|
||||||
- npmci npm prepare
|
|
||||||
- npmci npm install
|
|
||||||
- npmci command npm run build
|
|
||||||
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
|
||||||
- docker run
|
|
||||||
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
|
|
||||||
--volume "$PWD:/code"
|
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
sast: gl-sast-report.json
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- priv
|
|
||||||
|
|
||||||
# ====================
|
# ====================
|
||||||
# test stage
|
# 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:
|
testLTS:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci npm prepare
|
|
||||||
- npmci node install lts
|
- npmci node install lts
|
||||||
- npmci npm install
|
- npmci npm install
|
||||||
- npmci npm test
|
- npmci npm test
|
||||||
@ -78,7 +62,6 @@ testLTS:
|
|||||||
testSTABLE:
|
testSTABLE:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci npm prepare
|
|
||||||
- npmci node install stable
|
- npmci node install stable
|
||||||
- npmci npm install
|
- npmci npm install
|
||||||
- npmci npm test
|
- npmci npm test
|
||||||
@ -134,10 +117,8 @@ pages:
|
|||||||
image: hosttoday/ht-docker-node:npmci
|
image: hosttoday/ht-docker-node:npmci
|
||||||
stage: metadata
|
stage: metadata
|
||||||
script:
|
script:
|
||||||
- npmci command npm install -g typedoc typescript
|
- npmci command npm install -g npmpage
|
||||||
- npmci npm prepare
|
- npmci command npmpage
|
||||||
- npmci npm install
|
|
||||||
- npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
- notpriv
|
||||||
@ -148,3 +129,13 @@ pages:
|
|||||||
paths:
|
paths:
|
||||||
- public
|
- public
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
windowsCompatibility:
|
||||||
|
image: stefanscherer/node-windows:10-build-tools
|
||||||
|
stage: metadata
|
||||||
|
script:
|
||||||
|
- npm install & npm test
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
|
tags:
|
||||||
|
- windows
|
||||||
|
allow_failure: true
|
||||||
|
27
dist/index.js
vendored
27
dist/index.js
vendored
@ -2,21 +2,26 @@
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const tsNode = require("ts-node");
|
const tsNode = require("ts-node");
|
||||||
|
const tsCacheDir = path.join(__dirname, "../tscache");
|
||||||
const defaultTsNodeOptions = {
|
const defaultTsNodeOptions = {
|
||||||
compilerOptions: {
|
compilerOptions: {
|
||||||
lib: ['es2016', 'es2017'],
|
lib: ["es2016", "es2017"],
|
||||||
target: 'es2017',
|
target: "es2015"
|
||||||
experimentalDecorators: true
|
|
||||||
},
|
},
|
||||||
skipIgnore: true
|
skipIgnore: true,
|
||||||
|
cacheDirectory: tsCacheDir
|
||||||
};
|
};
|
||||||
if (process.argv.includes('--web')) {
|
// check wether a cache is feasible
|
||||||
const previousCompilerOptions = defaultTsNodeOptions.compilerOptions;
|
if (process.argv.includes("--nocache")) {
|
||||||
defaultTsNodeOptions.compilerOptions = Object.assign({}, previousCompilerOptions, { lib: ['es2016', 'es2017', 'dom'], target: 'es2015' // Script Target should be a string -> 2 is for ES2015
|
defaultTsNodeOptions.cache = false;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
if (process.argv.includes('--nocache')) {
|
else {
|
||||||
// currently caching is not used
|
var fs = require('fs');
|
||||||
|
fs.access(tsCacheDir, fs.constants.W_OK, function (err) {
|
||||||
|
if (err) {
|
||||||
|
defaultTsNodeOptions.cache = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
tsNode.register(defaultTsNodeOptions);
|
tsNode.register(defaultTsNodeOptions);
|
||||||
if (process.env.CLI_CALL_TSRUN) {
|
if (process.env.CLI_CALL_TSRUN) {
|
||||||
@ -27,4 +32,4 @@ if (process.env.CLI_CALL_TSRUN) {
|
|||||||
const pathToLoad = path.join(process.cwd(), pathToTsFile);
|
const pathToLoad = path.join(process.cwd(), pathToTsFile);
|
||||||
Promise.resolve().then(() => require(pathToLoad));
|
Promise.resolve().then(() => require(pathToLoad));
|
||||||
}
|
}
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFHbEMsTUFBTSxvQkFBb0IsR0FBbUI7SUFDM0MsZUFBZSxFQUFtQjtRQUNoQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sRUFBTyxRQUFRO1FBQ3JCLHNCQUFzQixFQUFFLElBQUk7S0FDN0I7SUFDRCxVQUFVLEVBQUUsSUFBSTtDQUNqQixDQUFDO0FBRUYsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUNsQyxNQUFNLHVCQUF1QixHQUFHLG9CQUFvQixDQUFDLGVBQWtDLENBQUM7SUFDeEYsb0JBQW9CLENBQUMsZUFBZSxxQkFDL0IsdUJBQXVCLElBQzFCLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQ2hDLE1BQU0sRUFBTyxRQUFRLENBQUMsc0RBQXNEO09BQzdFLENBQUM7Q0FDSDtBQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7SUFDdEMsZ0NBQWdDO0NBQ2pDO0FBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXRDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUU7SUFDOUIseUJBQXlCO0lBQ3pCLHFDQUFxQztJQUNyQyxzQ0FBc0M7SUFDdEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMxRCxxQ0FBTyxVQUFVLEdBQUU7Q0FDcEIifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFdEQsTUFBTSxvQkFBb0IsR0FBbUI7SUFDM0MsZUFBZSxFQUFFO1FBQ2YsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUN6QixNQUFNLEVBQUUsUUFBUTtLQUNqQjtJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSxVQUFVO0NBQzNCLENBQUM7QUFFRixtQ0FBbUM7QUFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUN0QyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0NBQ3BDO0tBQU07SUFDTCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBUyxHQUFHO1FBQ25ELElBQUksR0FBRyxFQUFFO1lBQ1Asb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUMsQ0FBQyxDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRTtJQUM5Qix5QkFBeUI7SUFDekIscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzFELHFDQUFPLFVBQVUsR0FBRTtDQUNwQiJ9
|
@ -1,17 +1,11 @@
|
|||||||
{
|
{
|
||||||
"npmts": {},
|
"npmts": {
|
||||||
"npmci": {
|
|
||||||
"npmGlobalTools": [],
|
|
||||||
"npmAccessLevel": "public"
|
|
||||||
},
|
},
|
||||||
"gitzone": {
|
"npmci": {
|
||||||
"module": {
|
"npmGlobalTools": [
|
||||||
"githost": "gitlab.com",
|
"@gitzone/npmts",
|
||||||
"gitscope": "gitzone",
|
"ts-node"
|
||||||
"gitrepo": "tsrun",
|
],
|
||||||
"shortDescription": "run typescript programs efficiently",
|
"npmAccessLevel": "public"
|
||||||
"npmPackagename": "@gitzone/tsrun",
|
|
||||||
"license": "MIT"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
1062
package-lock.json
generated
1062
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tsrun",
|
"name": "@gitzone/tsrun",
|
||||||
"version": "1.2.4",
|
"version": "1.1.3",
|
||||||
"description": "run typescript programs efficiently",
|
"description": "run typescript programs efficiently",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
@ -10,20 +10,18 @@
|
|||||||
"tsrun": "./cli.js"
|
"tsrun": "./cli.js"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(tsbuild && node ./cli.js test/test.ts)",
|
"test": "(npmts --notest && node ./cli.js test/test.ts)",
|
||||||
"format": "(gitzone format)",
|
"format": "(gitzone format)",
|
||||||
"build": "(tsbuild)"
|
"build": "echo \"Not needed for now\"",
|
||||||
|
"postinstall": "(node ./cli.js scripts/postinstall.ts)"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^11.13.0",
|
"@types/node": "^10.5.2"
|
||||||
"tslint": "^5.15.0",
|
|
||||||
"tslint-config-prettier": "^1.18.0"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.8",
|
"@pushrocks/smartfile": "^6.0.3",
|
||||||
"@pushrocks/smartfile": "^7.0.2",
|
"ts-node": "^7.0.0",
|
||||||
"ts-node": "^8.0.3",
|
"typescript": "^2.9.2"
|
||||||
"typescript": "^3.4.2"
|
|
||||||
},
|
},
|
||||||
"private": false
|
"private": false
|
||||||
}
|
}
|
||||||
|
38
readme.md
38
readme.md
@ -1,38 +0,0 @@
|
|||||||
# @gitzone/tsrun
|
|
||||||
run typescript programs efficiently
|
|
||||||
|
|
||||||
## Availabililty and Links
|
|
||||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@gitzone/tsrun)
|
|
||||||
* [gitlab.com (source)](https://gitlab.com/gitzone/tsrun)
|
|
||||||
* [github.com (source mirror)](https://github.com/gitzone/tsrun)
|
|
||||||
* [docs (typedoc)](https://gitzone.gitlab.io/tsrun/)
|
|
||||||
|
|
||||||
## Status for master
|
|
||||||
[](https://gitlab.com/gitzone/tsrun/commits/master)
|
|
||||||
[](https://gitlab.com/gitzone/tsrun/commits/master)
|
|
||||||
[](https://www.npmjs.com/package/@gitzone/tsrun)
|
|
||||||
[](https://snyk.io/test/npm/@gitzone/tsrun)
|
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
|
||||||
[](https://prettier.io/)
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Use TypeScript for best in class instellisense.
|
|
||||||
|
|
||||||
To simply run a TypeScript file on the fly type
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
tsrun myfiletorun.ts
|
|
||||||
```
|
|
||||||
|
|
||||||
There are options available:
|
|
||||||
|
|
||||||
- `--web` will inject browser types. this is useful when testing code with polyfills on node, but that is meant for the browser later on.
|
|
||||||
|
|
||||||
For further information read the linked docs at the top of this readme.
|
|
||||||
|
|
||||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
|
||||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
|
||||||
|
|
||||||
[](https://maintainedby.lossless.com)
|
|
10
scripts/postinstall.ts
Normal file
10
scripts/postinstall.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// This file takes care of some postinstall actions like clearing the TypeScript cache.
|
||||||
|
import * as smartfile from '@pushrocks/smartfile';
|
||||||
|
import * as path from 'path';
|
||||||
|
|
||||||
|
const run = async () => {
|
||||||
|
const tsCacheDir = path.join(__dirname, '../tscache');
|
||||||
|
await smartfile.fs.ensureEmptyDir(tsCacheDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
run();
|
38
ts/index.ts
38
ts/index.ts
@ -1,27 +1,27 @@
|
|||||||
import * as path from 'path';
|
import * as path from "path";
|
||||||
import * as tsNode from 'ts-node';
|
import * as tsNode from "ts-node";
|
||||||
import { CompilerOptions } from 'typescript';
|
|
||||||
|
const tsCacheDir = path.join(__dirname, "../tscache");
|
||||||
|
|
||||||
const defaultTsNodeOptions: tsNode.Options = {
|
const defaultTsNodeOptions: tsNode.Options = {
|
||||||
compilerOptions: <CompilerOptions>{
|
compilerOptions: {
|
||||||
lib: ['es2016', 'es2017'],
|
lib: ["es2016", "es2017"],
|
||||||
target: <any>'es2017', // Script Target should be a string -> 2 is for ES2015
|
target: "es2015"
|
||||||
experimentalDecorators: true
|
|
||||||
},
|
},
|
||||||
skipIgnore: true
|
skipIgnore: true,
|
||||||
|
cacheDirectory: tsCacheDir
|
||||||
};
|
};
|
||||||
|
|
||||||
if (process.argv.includes('--web')) {
|
// check wether a cache is feasible
|
||||||
const previousCompilerOptions = defaultTsNodeOptions.compilerOptions as CompilerOptions;
|
if (process.argv.includes("--nocache")) {
|
||||||
defaultTsNodeOptions.compilerOptions = {
|
defaultTsNodeOptions.cache = false;
|
||||||
...previousCompilerOptions,
|
} else {
|
||||||
lib: ['es2016', 'es2017', 'dom'],
|
var fs = require('fs');
|
||||||
target: <any>'es2015' // Script Target should be a string -> 2 is for ES2015
|
fs.access(tsCacheDir, fs.constants.W_OK, function(err) {
|
||||||
};
|
if (err) {
|
||||||
}
|
defaultTsNodeOptions.cache = false;
|
||||||
|
}
|
||||||
if (process.argv.includes('--nocache')) {
|
});
|
||||||
// currently caching is not used
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tsNode.register(defaultTsNodeOptions);
|
tsNode.register(defaultTsNodeOptions);
|
||||||
|
16
tslint.json
16
tslint.json
@ -1,17 +1,3 @@
|
|||||||
{
|
{
|
||||||
"extends": ["tslint:latest", "tslint-config-prettier"],
|
"extends": "tslint-config-standard"
|
||||||
"rules": {
|
|
||||||
"semicolon": [true, "always"],
|
|
||||||
"no-console": false,
|
|
||||||
"ordered-imports": false,
|
|
||||||
"object-literal-sort-keys": false,
|
|
||||||
"member-ordering": {
|
|
||||||
"options":{
|
|
||||||
"order": [
|
|
||||||
"static-method"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"defaultSeverity": "warning"
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user