Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
135e860c71 | |||
56be247d16 | |||
94ce004e91 |
@ -117,9 +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 install
|
- npmci command npmpage
|
||||||
- npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- notpriv
|
- notpriv
|
||||||
|
26
dist/index.js
vendored
26
dist/index.js
vendored
@ -2,20 +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: '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;
|
if (process.argv.includes("--nocache")) {
|
||||||
defaultTsNodeOptions.compilerOptions = Object.assign({}, previousCompilerOptions, { lib: [...previousCompilerOptions.lib, 'dom'] });
|
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) {
|
||||||
@ -26,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFHbEMsTUFBTSxvQkFBb0IsR0FBbUI7SUFDM0MsZUFBZSxFQUFtQjtRQUNoQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sRUFBTyxRQUFRO1FBQ3JCLHNCQUFzQixFQUFFLElBQUk7S0FDN0I7SUFDRCxVQUFVLEVBQUUsSUFBSTtDQUNqQixDQUFDO0FBRUYsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUNsQyxNQUFNLHVCQUF1QixHQUFHLG9CQUFvQixDQUFDLGVBQWtDLENBQUM7SUFDeEYsb0JBQW9CLENBQUMsZUFBZSxxQkFDL0IsdUJBQXVCLElBQzFCLEdBQUcsRUFBRSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUM3QyxDQUFBO0NBQ0Y7QUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQ3RDLGdDQUFnQztDQUNqQztBQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUV0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFO0lBQzlCLHlCQUF5QjtJQUN6QixxQ0FBcUM7SUFDckMsc0NBQXNDO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUQscUNBQU8sVUFBVSxHQUFFO0NBQ3BCIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFdEQsTUFBTSxvQkFBb0IsR0FBbUI7SUFDM0MsZUFBZSxFQUFFO1FBQ2YsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUN6QixNQUFNLEVBQUUsUUFBUTtLQUNqQjtJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSxVQUFVO0NBQzNCLENBQUM7QUFFRixtQ0FBbUM7QUFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUN0QyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0NBQ3BDO0tBQU07SUFDTCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBUyxHQUFHO1FBQ25ELElBQUksR0FBRyxFQUFFO1lBQ1Asb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUMsQ0FBQyxDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRTtJQUM5Qix5QkFBeUI7SUFDekIscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzFELHFDQUFPLFVBQVUsR0FBRTtDQUNwQiJ9
|
@ -2,7 +2,10 @@
|
|||||||
"npmts": {
|
"npmts": {
|
||||||
},
|
},
|
||||||
"npmci": {
|
"npmci": {
|
||||||
"npmGlobalTools": [],
|
"npmGlobalTools": [
|
||||||
|
"@gitzone/npmts",
|
||||||
|
"ts-node"
|
||||||
|
],
|
||||||
"npmAccessLevel": "public"
|
"npmAccessLevel": "public"
|
||||||
}
|
}
|
||||||
}
|
}
|
1069
package-lock.json
generated
1069
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.0",
|
"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.10.4",
|
"@types/node": "^10.5.2"
|
||||||
"tslint": "^5.13.1",
|
|
||||||
"tslint-config-prettier": "^1.18.0"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.8",
|
"@pushrocks/smartfile": "^6.0.3",
|
||||||
"@pushrocks/smartfile": "^7.0.0",
|
"ts-node": "^7.0.0",
|
||||||
"ts-node": "^8.0.2",
|
"typescript": "^2.9.2"
|
||||||
"typescript": "^3.3.3333"
|
|
||||||
},
|
},
|
||||||
"private": false
|
"private": false
|
||||||
}
|
}
|
||||||
|
43
readme.md
43
readme.md
@ -1,43 +0,0 @@
|
|||||||
# tsrun
|
|
||||||
|
|
||||||
run typescript programs efficiently
|
|
||||||
|
|
||||||
## Availabililty
|
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/@gitzone/tsrun)
|
|
||||||
[](https://GitLab.com/gitzone/tsrun)
|
|
||||||
[](https://github.com/gitzone/tsrun)
|
|
||||||
[](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://www.bithound.io/github/gitzonetools/tsrun/master/dependencies/npm)
|
|
||||||
[](https://www.bithound.io/github/gitzonetools/tsrun)
|
|
||||||
[](https://snyk.io/test/npm/@gitzone/tsrun)
|
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
|
||||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
|
||||||
[](http://standardjs.com/)
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Use TypeScript for best in class instellisense.
|
|
||||||
|
|
||||||
To simply run a TypeScript file on the fly type
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
tsrun myfiletorun.ts
|
|
||||||
```
|
|
||||||
|
|
||||||
There are two options available:
|
|
||||||
* `--nocache` will disable any caching. Caching speeds up execution, but causes problems in read only environments (e.g. sometimes docker containers are readonly)
|
|
||||||
* `--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.
|
|
||||||
|
|
||||||
> licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
|
||||||
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
|
||||||
|
|
||||||
[](https://git.zone)
|
|
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();
|
37
ts/index.ts
37
ts/index.ts
@ -1,26 +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>'es2015', // 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: [...previousCompilerOptions.lib, 'dom']
|
var fs = require('fs');
|
||||||
}
|
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);
|
||||||
|
Reference in New Issue
Block a user