add proper mocha tests and update deps
This commit is contained in:
parent
9edab1b3ec
commit
32465d2556
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ node_modules/
|
|||||||
|
|
||||||
ts/*.js
|
ts/*.js
|
||||||
ts/*.js.map
|
ts/*.js.map
|
||||||
|
ts/typings/
|
||||||
|
31
index.d.ts
vendored
Normal file
31
index.d.ts
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/// <reference path="ts/typings/main.d.ts" />
|
||||||
|
declare module SmartfilePlugins {
|
||||||
|
var init: () => {
|
||||||
|
beautylog: any;
|
||||||
|
fs: any;
|
||||||
|
path: any;
|
||||||
|
vinyl: any;
|
||||||
|
vinylFile: any;
|
||||||
|
yaml: any;
|
||||||
|
requireReload: any;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
declare module SmartfileSimple {
|
||||||
|
var init: (objectArg: any) => void;
|
||||||
|
}
|
||||||
|
declare module SmartfileVinyl {
|
||||||
|
var init: (objectArg: any) => void;
|
||||||
|
}
|
||||||
|
declare module SmartfileRequire {
|
||||||
|
var init: (objectArg: any) => void;
|
||||||
|
}
|
||||||
|
declare var plugins: {
|
||||||
|
beautylog: any;
|
||||||
|
fs: any;
|
||||||
|
path: any;
|
||||||
|
vinyl: any;
|
||||||
|
vinylFile: any;
|
||||||
|
yaml: any;
|
||||||
|
requireReload: any;
|
||||||
|
};
|
||||||
|
declare var smartfile: any;
|
6
index.js
6
index.js
@ -1,9 +1,11 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
/// <reference path="./index.ts" />
|
/// <reference path="./index.ts" />
|
||||||
var SmartfilePlugins;
|
var SmartfilePlugins;
|
||||||
(function (SmartfilePlugins) {
|
(function (SmartfilePlugins) {
|
||||||
SmartfilePlugins.init = function () {
|
SmartfilePlugins.init = function () {
|
||||||
var plugins = {
|
var plugins = {
|
||||||
beautylog: require("beautylog")("os"),
|
beautylog: require("beautylog"),
|
||||||
fs: require("fs-extra"),
|
fs: require("fs-extra"),
|
||||||
path: require("path"),
|
path: require("path"),
|
||||||
vinyl: require("vinyl"),
|
vinyl: require("vinyl"),
|
||||||
@ -78,7 +80,7 @@ var SmartfileRequire;
|
|||||||
objectArg.requireReload = requireReload;
|
objectArg.requireReload = requireReload;
|
||||||
};
|
};
|
||||||
})(SmartfileRequire || (SmartfileRequire = {}));
|
})(SmartfileRequire || (SmartfileRequire = {}));
|
||||||
/// <reference path="./typings/tsd.d.ts" />
|
/// <reference path="./typings/main.d.ts" />
|
||||||
/// <reference path="./smartfile.plugins.ts" />
|
/// <reference path="./smartfile.plugins.ts" />
|
||||||
/// <reference path="./smartfile.simple.ts" />
|
/// <reference path="./smartfile.simple.ts" />
|
||||||
/// <reference path="./smartfile.vinyl.ts" />
|
/// <reference path="./smartfile.vinyl.ts" />
|
||||||
|
18
package.json
18
package.json
@ -4,7 +4,7 @@
|
|||||||
"description": "offers smart ways to work with files in nodejs",
|
"description": "offers smart ways to work with files in nodejs",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(cd ts/compile && node compile.js) && (node test.js)",
|
"test": "(npmts)",
|
||||||
"reinstall": "(rm -r node_modules && npm install)",
|
"reinstall": "(rm -r node_modules && npm install)",
|
||||||
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
|
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
|
||||||
"update": "(git checkout master && git pull origin master && npm install)",
|
"update": "(git checkout master && git pull origin master && npm install)",
|
||||||
@ -25,16 +25,16 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/smartfile",
|
"homepage": "https://github.com/pushrocks/smartfile",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "1.0.6",
|
"beautylog": "2.0.6",
|
||||||
"fs-extra": "0.26.2",
|
"fs-extra": "0.26.5",
|
||||||
"js-yaml": "3.4.6",
|
"js-yaml": "3.5.2",
|
||||||
"require-reload": "0.2.2",
|
"require-reload": "0.2.2",
|
||||||
"vinyl": "^1.1.0",
|
"vinyl": "1.1.1",
|
||||||
"vinyl-file": "^1.3.0"
|
"vinyl-file": "2.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"gulp": "3.9.0",
|
"beautylog": "2.0.7",
|
||||||
"gulp-typescript": "2.10.0",
|
"npmts": "2.0.3",
|
||||||
"pushrocks": "1.0.23"
|
"should": "^8.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
9
test.js
9
test.js
@ -1,9 +0,0 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
|
||||||
var smartfile = require("./index.js");
|
|
||||||
var beautylog = require("beautylog")("os");
|
|
||||||
beautylog.info(smartfile.readFileToString("./test/mytest.txt"));
|
|
||||||
console.log(smartfile.readFileToObject("./test/mytest.yaml"));
|
|
||||||
console.log(smartfile.readFileToObject("./test/mytest.json"));
|
|
||||||
console.log(smartfile.readFileToVinyl("./test/mytest.json"));
|
|
||||||
//var thisIsAnError = smartfile.readFileToObject("./test/mytestDoesNotExist.json");
|
|
||||||
beautylog.success("Test passed!");
|
|
@ -1 +1 @@
|
|||||||
This is some test text stored in ./test/mytest.txt -> If this is displayed when running "npm test", then the test has succeeded.
|
Some TestString &&%$
|
30
test/test.js
Normal file
30
test/test.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/// <reference path="typings/main.d.ts" />
|
||||||
|
var smartfile = require("../index.js");
|
||||||
|
var beautylog = require("beautylog");
|
||||||
|
var should = require("should");
|
||||||
|
var vinyl = require("vinyl");
|
||||||
|
describe("smartfile", function () {
|
||||||
|
describe(".readFileToString".yellow, function () {
|
||||||
|
it("should read a file to a string", function () {
|
||||||
|
should.equal(smartfile.readFileToString("./test/mytest.txt"), "Some TestString &&%$");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".readFileToObject".yellow, function () {
|
||||||
|
it("should read an " + ".yaml".blue + " file to an object", function () {
|
||||||
|
var testData = smartfile.readFileToObject("./test/mytest.yaml");
|
||||||
|
testData.should.have.property("key1", "this works");
|
||||||
|
testData.should.have.property("key2", "this works too");
|
||||||
|
});
|
||||||
|
it("should read an " + ".json".blue + " file to an object", function () {
|
||||||
|
var testData = smartfile.readFileToObject("./test/mytest.json");
|
||||||
|
testData.should.have.property("key1", "this works");
|
||||||
|
testData.should.have.property("key2", "this works too");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".readFileToVinyl".yellow, function () {
|
||||||
|
it("should read an " + ".json OR .yaml".blue + " file to an " + "vinyl file object".cyan, function () {
|
||||||
|
var testData = smartfile.readFileToVinyl("./test/mytest.json");
|
||||||
|
(vinyl.isVinyl(testData)).should.be.true();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@ -1,30 +0,0 @@
|
|||||||
// import gulp
|
|
||||||
var gulp = require("gulp")
|
|
||||||
var gulpTypescript = require("gulp-typescript");
|
|
||||||
var pr = require("pushrocks");
|
|
||||||
|
|
||||||
gulp.task('compileTS', function() {
|
|
||||||
var stream = gulp.src('../index.ts')
|
|
||||||
.pipe(gulpTypescript({
|
|
||||||
out: "index.js"
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest("../../"));
|
|
||||||
return stream;
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('compileTestTS', function() {
|
|
||||||
var stream = gulp.src('../test.ts')
|
|
||||||
.pipe(gulpTypescript({
|
|
||||||
out: "test.js"
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest("../../"));
|
|
||||||
return stream;
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('default',['compileTS','compileTestTS'], function() {
|
|
||||||
pr.beautylog.success('Typescript compiled');
|
|
||||||
});
|
|
||||||
|
|
||||||
//lets tell gulp to start with the default task.
|
|
||||||
pr.beautylog.log('Starting Gulp to compile TypeScript');
|
|
||||||
gulp.start.apply(gulp, ['default']);
|
|
@ -1,2 +0,0 @@
|
|||||||
# How to compile.
|
|
||||||
Make sure gulp and gulp-taypescript from npm are available. Then run the gulpfile in this directory.
|
|
@ -1,4 +1,4 @@
|
|||||||
/// <reference path="./typings/tsd.d.ts" />
|
/// <reference path="./typings/main.d.ts" />
|
||||||
/// <reference path="./smartfile.plugins.ts" />
|
/// <reference path="./smartfile.plugins.ts" />
|
||||||
/// <reference path="./smartfile.simple.ts" />
|
/// <reference path="./smartfile.simple.ts" />
|
||||||
/// <reference path="./smartfile.vinyl.ts" />
|
/// <reference path="./smartfile.vinyl.ts" />
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
module SmartfilePlugins {
|
module SmartfilePlugins {
|
||||||
export var init = function() {
|
export var init = function() {
|
||||||
var plugins = {
|
var plugins = {
|
||||||
beautylog: require("beautylog")("os"),
|
beautylog: require("beautylog"),
|
||||||
fs: require("fs-extra"),
|
fs: require("fs-extra"),
|
||||||
path: require("path"),
|
path: require("path"),
|
||||||
vinyl: require("vinyl"),
|
vinyl: require("vinyl"),
|
||||||
|
45
ts/test.ts
45
ts/test.ts
@ -1,9 +1,36 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
/// <reference path="typings/main.d.ts" />
|
||||||
var smartfile = require("./index.js");
|
var smartfile = require("../index.js");
|
||||||
var beautylog = require("beautylog")("os");
|
var beautylog = require("beautylog");
|
||||||
beautylog.info(smartfile.readFileToString("./test/mytest.txt"));
|
var should = require("should");
|
||||||
console.log(smartfile.readFileToObject("./test/mytest.yaml"));
|
var vinyl = require("vinyl");
|
||||||
console.log(smartfile.readFileToObject("./test/mytest.json"));
|
describe("smartfile",function(){
|
||||||
console.log(smartfile.readFileToVinyl("./test/mytest.json"));
|
describe(".readFileToString".yellow,function(){
|
||||||
//var thisIsAnError = smartfile.readFileToObject("./test/mytestDoesNotExist.json");
|
it("should read a file to a string",function(){
|
||||||
beautylog.success("Test passed!");
|
should.equal(
|
||||||
|
smartfile.readFileToString("./test/mytest.txt"),
|
||||||
|
"Some TestString &&%$"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".readFileToObject".yellow,function(){
|
||||||
|
it("should read an " + ".yaml".blue + " file to an object",function(){
|
||||||
|
var testData = smartfile.readFileToObject("./test/mytest.yaml");
|
||||||
|
testData.should.have.property("key1","this works");
|
||||||
|
testData.should.have.property("key2","this works too");
|
||||||
|
|
||||||
|
});
|
||||||
|
it("should read an " + ".json".blue + " file to an object",function(){
|
||||||
|
var testData = smartfile.readFileToObject("./test/mytest.json");
|
||||||
|
testData.should.have.property("key1","this works");
|
||||||
|
testData.should.have.property("key2","this works too");
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".readFileToVinyl".yellow,function(){
|
||||||
|
it("should read an " + ".json OR .yaml".blue + " file to an " + "vinyl file object".cyan,function(){
|
||||||
|
var testData = smartfile.readFileToVinyl("./test/mytest.json");
|
||||||
|
(vinyl.isVinyl(testData)).should.be.true();
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
12
ts/tsd.json
12
ts/tsd.json
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "v4",
|
|
||||||
"repo": "borisyankov/DefinitelyTyped",
|
|
||||||
"ref": "master",
|
|
||||||
"path": "typings",
|
|
||||||
"bundle": "typings/tsd.d.ts",
|
|
||||||
"installed": {
|
|
||||||
"node/node.d.ts": {
|
|
||||||
"commit": "efa0c1196d7280640e624ac1e7fa604502e7bd63"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
7
ts/typings.json
Normal file
7
ts/typings.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"ambientDependencies": {
|
||||||
|
"browserify": "github:DefinitelyTyped/DefinitelyTyped/browserify/browserify.d.ts",
|
||||||
|
"mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts",
|
||||||
|
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts"
|
||||||
|
}
|
||||||
|
}
|
2079
ts/typings/node/node.d.ts
vendored
2079
ts/typings/node/node.d.ts
vendored
File diff suppressed because it is too large
Load Diff
1
ts/typings/tsd.d.ts
vendored
1
ts/typings/tsd.d.ts
vendored
@ -1 +0,0 @@
|
|||||||
/// <reference path="node/node.d.ts" />
|
|
Loading…
Reference in New Issue
Block a user