Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
c91ff6ef4a | |||
2c88c889bf | |||
d3f8ea0433 | |||
d57b05c6d0 | |||
e1ce5f2d5b | |||
7c960649bc | |||
71588595e6 | |||
b31994f163 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
node_modules/
|
||||
test/
|
||||
pages/
|
||||
public/
|
||||
npm-debug/
|
||||
.DS_Store
|
10
README.md
10
README.md
@ -5,7 +5,7 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
|
||||
[](https://www.npmjs.com/package/npmts)
|
||||
[](https://gitlab.com/pushrocks/npmts)
|
||||
[](https://github.com/pushrocks/npmts)
|
||||
[](https://pushrocks.gitlab.io/npmts/gitbook)
|
||||
[](https://pushrocks.gitlab.io/npmts/)
|
||||
|
||||
## Status for master
|
||||
[](https://gitlab.com/pushrocks/npmts/commits/master)
|
||||
@ -31,6 +31,12 @@ npmts will
|
||||
This works on your machine and in CI. There is a prebuild docker image available that includes npmts to make CI a breeze:
|
||||
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
||||
|
||||
For further information read the docs.
|
||||
For further information read the docs:
|
||||
1. [Intro](https://pushrocks.gitlab.io/npmts/gitbook/index.html)
|
||||
2. [Install](https://pushrocks.gitlab.io/npmts/gitbook/install.html)
|
||||
3. [Default Behaviour](https://pushrocks.gitlab.io/npmts/gitbook/default.html)
|
||||
4. [Configuration](https://pushrocks.gitlab.io/npmts/gitbook/config.html)
|
||||
5. [Examples](https://pushrocks.gitlab.io/npmts/gitbook/examples.html)
|
||||
6. [Info](https://pushrocks.gitlab.io/npmts/gitbook/info.html)
|
||||
|
||||
[](https://push.rocks)
|
||||
|
9
dist/npmts.options.js
vendored
9
dist/npmts.options.js
vendored
@ -18,12 +18,9 @@ exports.run = function (argvArg) {
|
||||
watch: false
|
||||
};
|
||||
// mix with configfile
|
||||
npmts_promisechain_1.npmtsOra.text('looking for npmextra.json');
|
||||
let config = plugins.npmextra.dataFor({
|
||||
toolName: 'npmts',
|
||||
defaultSettings: defaultConfig,
|
||||
cwd: paths.cwd
|
||||
});
|
||||
npmts_promisechain_1.npmtsOra.text('running npmextra');
|
||||
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd);
|
||||
let config = localNpmextra.dataFor('npmts', defaultConfig);
|
||||
// add argv
|
||||
config.argv = argvArg;
|
||||
// check mode
|
||||
|
1
dist/npmts.plugins.d.ts
vendored
1
dist/npmts.plugins.d.ts
vendored
@ -23,6 +23,7 @@ export import smartcov = require('smartcov');
|
||||
export import smartenv = require('smartenv');
|
||||
export import smartfile = require('smartfile');
|
||||
export import smartpath = require('smartpath');
|
||||
export import smartstream = require('smartstream');
|
||||
export import smartstring = require('smartstring');
|
||||
export declare let sourceMapSupport: any;
|
||||
export import tsn = require('tsn');
|
||||
|
1
dist/npmts.plugins.js
vendored
1
dist/npmts.plugins.js
vendored
@ -24,6 +24,7 @@ exports.smartcov = require("smartcov");
|
||||
exports.smartenv = require("smartenv");
|
||||
exports.smartfile = require("smartfile");
|
||||
exports.smartpath = require("smartpath");
|
||||
exports.smartstream = require("smartstream");
|
||||
exports.smartstring = require("smartstring");
|
||||
exports.sourceMapSupport = require('source-map-support').install(); // display errors correctly during testing
|
||||
exports.tsn = require("tsn");
|
||||
|
3
dist/npmts.tests.d.ts
vendored
3
dist/npmts.tests.d.ts
vendored
@ -1,4 +1,5 @@
|
||||
/// <reference types="q" />
|
||||
import 'typings-global';
|
||||
import plugins = require('./npmts.plugins');
|
||||
export declare let run: (configArg: any) => plugins.q.Promise<{}>;
|
||||
import { INpmtsConfig } from './npmts.options';
|
||||
export declare let run: (configArg: INpmtsConfig) => plugins.q.Promise<{}>;
|
||||
|
49
dist/npmts.tests.js
vendored
49
dist/npmts.tests.js
vendored
@ -4,8 +4,8 @@ const plugins = require("./npmts.plugins");
|
||||
const paths = require("./npmts.paths");
|
||||
const npmts_promisechain_1 = require("./npmts.promisechain");
|
||||
/**
|
||||
*
|
||||
* @returns {*}
|
||||
* runs mocha
|
||||
* @returns INpmtsConfig
|
||||
*/
|
||||
let mocha = function (configArg) {
|
||||
npmts_promisechain_1.npmtsOra.text('Instrumentalizing and testing transpiled JS');
|
||||
@ -22,22 +22,31 @@ let mocha = function (configArg) {
|
||||
.pipe(plugins.g.sourcemaps.write())
|
||||
.pipe(plugins.g.injectModules())
|
||||
.on('finish', function () {
|
||||
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')])
|
||||
.pipe(plugins.g.babel({
|
||||
presets: [
|
||||
require.resolve('babel-preset-es2015')
|
||||
]
|
||||
}))
|
||||
.pipe(plugins.g.injectModules())
|
||||
.pipe(plugins.g.mocha())
|
||||
.pipe(plugins.g.istanbul.writeReports({
|
||||
dir: plugins.path.join(paths.cwd, './coverage'),
|
||||
reporters: ['lcovonly', 'json', 'text', 'text-summary']
|
||||
}))
|
||||
.pipe(plugins.g.gFunction(function () {
|
||||
plugins.beautylog.ok('Tested!');
|
||||
done.resolve(configArg);
|
||||
}, 'atEnd'));
|
||||
let localSmartstream = new plugins.smartstream.Smartstream([
|
||||
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]),
|
||||
plugins.g.babel({
|
||||
presets: [
|
||||
require.resolve('babel-preset-es2015')
|
||||
]
|
||||
}),
|
||||
plugins.g.injectModules(),
|
||||
plugins.g.mocha(),
|
||||
plugins.g.istanbul.writeReports({
|
||||
dir: plugins.path.join(paths.cwd, './coverage'),
|
||||
reporters: ['lcovonly', 'json', 'text', 'text-summary']
|
||||
})
|
||||
]);
|
||||
localSmartstream.run()
|
||||
.then(() => { done.resolve(configArg); }, (err) => {
|
||||
plugins.beautylog.error('Tests failed!');
|
||||
configArg.watch = true;
|
||||
if (configArg.watch) {
|
||||
done.resolve(configArg);
|
||||
}
|
||||
else {
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
@ -55,7 +64,9 @@ let coverage = function (configArg) {
|
||||
+ `coverage fails your treshold of `
|
||||
+ `${configArg.coverageTreshold.toString()}%`);
|
||||
plugins.beautylog.error('exiting due to coverage failure');
|
||||
process.exit(1);
|
||||
if (!configArg.watch) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
done.resolve(configArg);
|
||||
});
|
||||
|
3
dist/npmts.watch.d.ts
vendored
3
dist/npmts.watch.d.ts
vendored
@ -1,3 +1,4 @@
|
||||
/// <reference types="q" />
|
||||
import * as plugins from './npmts.plugins';
|
||||
export declare let run: (configArg: any) => plugins.q.Promise<{}>;
|
||||
import { INpmtsConfig } from './npmts.options';
|
||||
export declare let run: (configArg: INpmtsConfig) => plugins.q.Promise<{}>;
|
||||
|
3
dist/npmts.watch.js
vendored
3
dist/npmts.watch.js
vendored
@ -9,6 +9,9 @@ exports.run = (configArg) => {
|
||||
for (let key in configArg.ts) {
|
||||
pathsToWatch.push(key);
|
||||
}
|
||||
for (let key in configArg.testTs) {
|
||||
pathsToWatch.push(key);
|
||||
}
|
||||
npmtsSmartchok = new plugins.smartchok.Smartchok(pathsToWatch);
|
||||
npmtsSmartchok.getObservableFor('change').then((changeObservableArg) => {
|
||||
plugins.beautylog.info('now watching...');
|
||||
|
42
docs/index.md
Normal file
42
docs/index.md
Normal file
@ -0,0 +1,42 @@
|
||||
# npmts
|
||||
Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
|
||||
|
||||
## Availabililty
|
||||
[](https://www.npmjs.com/package/npmts)
|
||||
[](https://gitlab.com/pushrocks/npmts)
|
||||
[](https://github.com/pushrocks/npmts)
|
||||
[](https://pushrocks.gitlab.io/npmts/gitbook)
|
||||
|
||||
## Status for master
|
||||
[](https://gitlab.com/pushrocks/npmts/commits/master)
|
||||
[](https://gitlab.com/pushrocks/npmts/commits/master)
|
||||
[](https://david-dm.org/pushrocks/npmts)
|
||||
[](https://www.bithound.io/github/pushrocks/npmts/master/dependencies/npm)
|
||||
[](https://www.bithound.io/github/pushrocks/npmts)
|
||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||
[](http://standardjs.com/)
|
||||
|
||||
## Introduction
|
||||
NPMTS is your friend when writing, testing, publishing and documenting npm modules written in TypeScript.
|
||||
|
||||
npmts will
|
||||
|
||||
1. check your dependencies and package.json
|
||||
1. transpile your code with tsc,
|
||||
1. document your code with typedoc,
|
||||
1. test your code with mocha
|
||||
1. create coverage with istanbul
|
||||
|
||||
This works on your machine and in CI. There is a prebuild docker image available that includes npmts to make CI a breeze:
|
||||
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
||||
|
||||
For further information read the docs:
|
||||
* [1. Intro](https://pushrocks.gitlab.io/npmts/gitbook/index.md)
|
||||
* [2. Install](https://pushrocks.gitlab.io/npmts/gitbook/install.md)
|
||||
* [3. Default Behaviour](https://pushrocks.gitlab.io/npmts/gitbook/default.md)
|
||||
* [4. Configuration](https://pushrocks.gitlab.io/npmts/gitbook/config.md)
|
||||
* [5. Examples](https://pushrocks.gitlab.io/npmts/gitbook/examples.md)
|
||||
* [6. Info](https://pushrocks.gitlab.io/npmts/gitbook/info.md)
|
||||
|
||||
[](https://push.rocks)
|
@ -5,7 +5,7 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
|
||||
[](https://www.npmjs.com/package/npmts)
|
||||
[](https://gitlab.com/pushrocks/npmts)
|
||||
[](https://github.com/pushrocks/npmts)
|
||||
[](https://pushrocks.gitlab.io/npmts/docs)
|
||||
[](https://pushrocks.gitlab.io/npmts/gitbook)
|
||||
|
||||
## Status for master
|
||||
[](https://gitlab.com/pushrocks/npmts/commits/master)
|
||||
@ -31,6 +31,12 @@ npmts will
|
||||
This works on your machine and in CI. There is a prebuild docker image available that includes npmts to make CI a breeze:
|
||||
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
||||
|
||||
For further information read the docs.
|
||||
For further information read the docs:
|
||||
* [1. Intro](https://pushrocks.gitlab.io/npmts/gitbook/index.md)
|
||||
* [2. Install](https://pushrocks.gitlab.io/npmts/gitbook/install.md)
|
||||
* [3. Default Behaviour](https://pushrocks.gitlab.io/npmts/gitbook/default.md)
|
||||
* [4. Configuration](https://pushrocks.gitlab.io/npmts/gitbook/config.md)
|
||||
* [5. Examples](https://pushrocks.gitlab.io/npmts/gitbook/examples.md)
|
||||
* [6. Info](https://pushrocks.gitlab.io/npmts/gitbook/info.md)
|
||||
|
||||
[](https://push.rocks)
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmts",
|
||||
"version": "5.4.36",
|
||||
"version": "5.4.40",
|
||||
"description": "Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
@ -51,7 +51,7 @@
|
||||
"gulp-sourcemaps": "^1.6.0",
|
||||
"gulp-typedoc": "^2.0.0",
|
||||
"lodash": "^4.16.1",
|
||||
"npmextra": "^1.0.12",
|
||||
"npmextra": "^2.0.3",
|
||||
"projectinfo": "1.0.3",
|
||||
"q": "^1.4.1",
|
||||
"shelljs": "^0.7.4",
|
||||
@ -59,8 +59,9 @@
|
||||
"smartcli": "1.0.9",
|
||||
"smartcov": "1.0.0",
|
||||
"smartenv": "1.2.5",
|
||||
"smartfile": "4.0.20",
|
||||
"smartfile": "4.0.21",
|
||||
"smartpath": "3.2.2",
|
||||
"smartstream": "^1.0.5",
|
||||
"smartstring": "^2.0.17",
|
||||
"source-map-support": "^0.4.2",
|
||||
"tsn": "^2.0.3",
|
||||
|
@ -33,12 +33,13 @@ export var run = function (argvArg) {
|
||||
}
|
||||
|
||||
// mix with configfile
|
||||
npmtsOra.text('looking for npmextra.json')
|
||||
let config: INpmtsConfig = plugins.npmextra.dataFor<INpmtsConfig>({
|
||||
toolName: 'npmts',
|
||||
defaultSettings: defaultConfig,
|
||||
cwd: paths.cwd
|
||||
})
|
||||
npmtsOra.text('running npmextra')
|
||||
|
||||
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd)
|
||||
let config: INpmtsConfig = localNpmextra.dataFor<INpmtsConfig>(
|
||||
'npmts',
|
||||
defaultConfig
|
||||
)
|
||||
|
||||
// add argv
|
||||
config.argv = argvArg
|
||||
|
@ -23,6 +23,7 @@ export import smartcov = require('smartcov')
|
||||
export import smartenv = require('smartenv')
|
||||
export import smartfile = require('smartfile')
|
||||
export import smartpath = require('smartpath')
|
||||
export import smartstream = require('smartstream')
|
||||
export import smartstring = require('smartstring')
|
||||
export let sourceMapSupport = require('source-map-support').install() // display errors correctly during testing
|
||||
export import tsn = require('tsn')
|
||||
|
@ -2,12 +2,13 @@ import 'typings-global'
|
||||
import plugins = require('./npmts.plugins')
|
||||
import paths = require('./npmts.paths')
|
||||
import { npmtsOra } from './npmts.promisechain'
|
||||
import { INpmtsConfig } from './npmts.options'
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns {*}
|
||||
* runs mocha
|
||||
* @returns INpmtsConfig
|
||||
*/
|
||||
let mocha = function (configArg) {
|
||||
let mocha = function (configArg: INpmtsConfig) {
|
||||
npmtsOra.text('Instrumentalizing and testing transpiled JS')
|
||||
npmtsOra.end() // end npmtsOra for tests.
|
||||
let done = plugins.q.defer()
|
||||
@ -23,30 +24,34 @@ let mocha = function (configArg) {
|
||||
.pipe(plugins.g.sourcemaps.write())
|
||||
.pipe(plugins.g.injectModules())
|
||||
.on('finish', function () {
|
||||
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')])
|
||||
.pipe(plugins.g.babel({
|
||||
let localSmartstream = new plugins.smartstream.Smartstream([
|
||||
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]),
|
||||
plugins.g.babel({
|
||||
presets: [
|
||||
require.resolve('babel-preset-es2015')
|
||||
]
|
||||
}))
|
||||
.pipe(plugins.g.injectModules())
|
||||
.pipe(plugins.g.mocha())
|
||||
.pipe(plugins.g.istanbul.writeReports({
|
||||
}),
|
||||
plugins.g.injectModules(),
|
||||
plugins.g.mocha(),
|
||||
plugins.g.istanbul.writeReports({
|
||||
dir: plugins.path.join(paths.cwd, './coverage'),
|
||||
reporters: ['lcovonly', 'json', 'text', 'text-summary']
|
||||
}))
|
||||
.pipe(plugins.g.gFunction(
|
||||
function () {
|
||||
plugins.beautylog.ok('Tested!')
|
||||
})
|
||||
])
|
||||
localSmartstream.run()
|
||||
.then(() => { done.resolve(configArg) }, (err) => {
|
||||
plugins.beautylog.error('Tests failed!')
|
||||
if (configArg.watch) {
|
||||
done.resolve(configArg)
|
||||
},
|
||||
'atEnd'
|
||||
))
|
||||
} else {
|
||||
process.exit(1)
|
||||
}
|
||||
})
|
||||
})
|
||||
return done.promise
|
||||
}
|
||||
|
||||
let coverage = function (configArg) {
|
||||
let coverage = function (configArg: INpmtsConfig) {
|
||||
let done = plugins.q.defer()
|
||||
plugins.smartcov.get.percentage(plugins.path.join(paths.coverageDir, 'lcov.info'), 2)
|
||||
.then(function (percentageArg) {
|
||||
@ -63,14 +68,14 @@ let coverage = function (configArg) {
|
||||
+ `${configArg.coverageTreshold.toString()}%`
|
||||
)
|
||||
plugins.beautylog.error('exiting due to coverage failure')
|
||||
process.exit(1)
|
||||
if (!configArg.watch) { process.exit(1) }
|
||||
}
|
||||
done.resolve(configArg)
|
||||
})
|
||||
return done.promise
|
||||
}
|
||||
|
||||
export let run = function (configArg) {
|
||||
export let run = function (configArg: INpmtsConfig) {
|
||||
let done = plugins.q.defer()
|
||||
let config = configArg
|
||||
if (config.test === true) {
|
||||
|
@ -1,14 +1,18 @@
|
||||
import * as plugins from './npmts.plugins'
|
||||
import * as promisechain from './npmts.promisechain'
|
||||
let npmtsSmartchok: plugins.smartchok.Smartchok = null
|
||||
import { INpmtsConfig } from './npmts.options'
|
||||
|
||||
export let run = (configArg) => {
|
||||
export let run = (configArg: INpmtsConfig) => {
|
||||
let done = plugins.q.defer()
|
||||
if (configArg.watch && npmtsSmartchok === null) {
|
||||
let pathsToWatch: string[] = []
|
||||
for (let key in configArg.ts) {
|
||||
pathsToWatch.push(key)
|
||||
}
|
||||
for (let key in configArg.testTs) {
|
||||
pathsToWatch.push(key)
|
||||
}
|
||||
npmtsSmartchok = new plugins.smartchok.Smartchok(pathsToWatch)
|
||||
npmtsSmartchok.getObservableFor('change').then((changeObservableArg) => {
|
||||
plugins.beautylog.info('now watching...')
|
||||
|
Reference in New Issue
Block a user