Compare commits

...

5 Commits

Author SHA1 Message Date
0f5e451e60 7.2.10 2017-07-28 17:33:31 +02:00
3595bf3590 fix module testimport recognition 2017-07-28 17:33:28 +02:00
efe73d0fd0 7.2.9 2017-07-28 17:16:17 +02:00
c52322ec12 add smart replacer 2017-07-28 17:16:14 +02:00
b7cf9949bf update docs 2017-07-28 01:27:21 +02:00
5 changed files with 23 additions and 4 deletions

8
dist/mod02/index.js vendored
View File

@ -49,6 +49,14 @@ let tap = function (configArg) {
*/
let testFilesSmartstream = new plugins.smartstream.Smartstream([
plugins.smartgulp.src([plugins.path.join(paths.cwd, 'test/*.ts')]),
plugins.gulpFunction.forEach((fileArg) => __awaiter(this, void 0, void 0, function* () {
let stringToModify = fileArg.contents.toString();
let testRegex = /\/\/\smodule\stestimport\nimport[a-zA-Z0-9\*\s]*\sfrom\s'(..\/ts\/index)'/;
let replacer = (match, group1, offset, completeString) => {
return match.replace(group1, '../dist/index');
};
fileArg.contents = Buffer.from(stringToModify.replace(testRegex, replacer));
})),
plugins.gulpSourcemaps.init(),
plugins.gulpTypeScript({
target: 'ES5',

View File

@ -39,11 +39,12 @@ with default behaviour.
| key | default value | description |
| --- | --- | --- |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify, "merge" will merge default options with whatever you specify on your own |
| `"test"` | `true` | test your module |
| `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions |
| `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc |
| `"cli"` | "false" | some modules are designed to be used from cli. If set to true NPMTS will create a cli.js that wires you dist files up for cli use. |
| `"cli"` | `"false"` | some modules are designed to be used from cli. If set to true NPMTS will create a cli.js that wires you dist files up for cli use. |
| `"testConfig"` | `{ parallel: true, coverage: true }` | allows you to control test behaviour. `"parallel"` controls wether testfiles are run sequentially or in parallel, and `"coverage` wether to create coverage reports |
### TypeScript
by default npmts looks for `./ts/*.ts` and `./test/test.ts` that will compile to

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "npmts",
"version": "7.2.8",
"version": "7.2.10",
"lockfileVersion": 1,
"dependencies": {
"@gulp-sourcemaps/identity-map": {

View File

@ -1,6 +1,6 @@
{
"name": "npmts",
"version": "7.2.8",
"version": "7.2.10",
"description": "Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.",
"main": "dist/index.js",
"bin": {

View File

@ -6,7 +6,9 @@ import paths = require('../npmts.paths')
import * as q from 'smartq'
// interfaces
import { INpmtsConfig } from '../npmts.config'
import { Smartfile } from 'smartfile'
/**
* runs mocha
@ -47,6 +49,14 @@ let tap = function (configArg: INpmtsConfig) {
*/
let testFilesSmartstream = new plugins.smartstream.Smartstream([
plugins.smartgulp.src([ plugins.path.join(paths.cwd, 'test/*.ts') ]),
plugins.gulpFunction.forEach(async (fileArg: Smartfile) => {
let stringToModify = fileArg.contents.toString()
let testRegex = /\/\/\smodule\stestimport\nimport[a-zA-Z0-9\*\s]*\sfrom\s'(..\/ts\/index)'/
let replacer = (match: string, group1: string, offset: number, completeString: string) => {
return match.replace(group1, '../dist/index')
}
fileArg.contents = Buffer.from(stringToModify.replace(testRegex, replacer))
}),
plugins.gulpSourcemaps.init(),
plugins.gulpTypeScript({
target: 'ES5',