Compare commits

...

11 Commits

Author SHA1 Message Date
3dddb80b43 0.0.7 2015-11-24 18:57:00 +01:00
2ba06f27dc now using fs-extra for josn 2015-11-24 18:56:53 +01:00
228f855a39 now can read yaml 2015-11-24 18:52:24 +01:00
55ac57a122 0.0.6 2015-11-03 20:29:27 +01:00
7da57901dd fix dep 2015-11-03 20:29:19 +01:00
12500a0900 0.0.5 2015-11-03 20:22:21 +01:00
36371d9469 updated test 2015-11-03 20:22:16 +01:00
4e9874a639 0.0.4 2015-11-03 20:19:52 +01:00
e55e30bdb3 updated test 2015-11-03 20:19:46 +01:00
44aed02dd3 0.0.3 2015-11-03 20:14:54 +01:00
8d8d7e7ff4 fix 2015-11-03 20:14:41 +01:00
9 changed files with 123 additions and 23 deletions

View File

@ -1,10 +1,41 @@
/// <reference path="typings/tsd.d.ts" />
var through = require("through2");
var path = require("path");
module.exports = function (jadeTemplate, mojo) {
if (mojo === void 0) { mojo = undefined; }
return through.obj(function (file, enc, cb) {
//run callback function to signal end of plugin process.
return cb(null, file);
});
var plugins = {
path: require("path"),
fs: require("fs-extra"),
yaml: require("js-yaml"),
beautylog: require("beautylog")("os")
};
var smartfile = {
//read File to string
readFileToString: function (filePath) {
var fileString;
fileString = plugins.fs.readFileSync(filePath, "utf8");
return fileString;
},
readFileToObject: function (filePath, fileTypeArg) {
if (fileTypeArg === void 0) { fileTypeArg = "undefined"; }
var fileType;
if (fileTypeArg == "undefined") {
fileType = plugins.path.extname(filePath);
}
else {
fileType = fileTypeArg;
}
fileType = fileType.replace(/\.([a-z]*)/, "$1"); //remove . form fileType
switch (fileType) {
case "yml":
case "yaml":
try {
return plugins.yaml.safeLoad(plugins.fs.readFileSync(filePath, 'utf8'));
}
catch (e) {
plugins.beautylog.error("check that " + filePath.blue + " points to a valid file");
}
break;
case "json":
return plugins.fs.readJsonSync(filePath, {});
break;
}
}
};
module.exports = smartfile;

View File

@ -1,10 +1,10 @@
{
"name": "smartfile",
"version": "0.0.2",
"version": "0.0.7",
"description": "offers smart ways to work with files in nodejs",
"main": "index.js",
"scripts": {
"test": "(cd ts/compile && node compile.js)",
"test": "(cd ts/compile && node compile.js) && (node test.js)",
"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)",
"startdev": "(git checkout master && git pull origin master)"
@ -24,10 +24,13 @@
},
"homepage": "https://github.com/pushrocks/smartfile",
"dependencies": {
"pushrocks": "^1.0.18"
"beautylog": "1.0.4",
"fs-extra": "0.26.2",
"js-yaml": "3.4.5"
},
"devDependencies": {
"gulp": "3.9.0",
"gulp-typescript": "2.9.2"
"gulp-typescript": "2.9.2",
"pushrocks": "1.0.22"
}
}

7
test.js Normal file
View File

@ -0,0 +1,7 @@
/// <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"));
//var thisIsAnError = smartfile.readFileToObject("./test/mytestDoesNotExist.json");

8
test/mytest.json Normal file
View File

@ -0,0 +1,8 @@
{
"key1": "this works",
"key2": "this works too",
"key3": {
"nestedkey1": "hello"
}
}

1
test/mytest.txt Normal file
View File

@ -0,0 +1 @@
This is some test text stored in ./test/mytest.txt -> If this is displayed when running "npm test", then the test has succeeded.

4
test/mytest.yaml Normal file
View File

@ -0,0 +1,4 @@
key1: this works
key2: this works too
key3:
nestedkey1: hello

View File

@ -12,7 +12,16 @@ gulp.task('compileTS', function() {
return stream;
});
gulp.task('default',['compileTS'], function() {
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');
});

View File

@ -1,12 +1,42 @@
/// <reference path="typings/tsd.d.ts" />
var through = require("through2");
var path = require("path");
module.exports = (jadeTemplate,mojo = undefined) => {
return through.obj((file, enc, cb) => {
//run callback function to signal end of plugin process.
return cb(null, file);
});
var plugins = {
path: require("path"),
fs: require("fs-extra"),
yaml: require("js-yaml"),
beautylog: require("beautylog")("os")
};
var smartfile:any = {
//read File to string
readFileToString: function(filePath) {
var fileString;
fileString = plugins.fs.readFileSync(filePath, "utf8");
return fileString;
},
readFileToObject: function(filePath,fileTypeArg = "undefined") {
var fileType;
if (fileTypeArg == "undefined") {
fileType = plugins.path.extname(filePath);
} else {
fileType = fileTypeArg;
}
fileType = fileType.replace(/\.([a-z]*)/,"$1"); //remove . form fileType
switch (fileType) {
case "yml" :
case "yaml":
try {
return plugins.yaml.safeLoad(plugins.fs.readFileSync(filePath, 'utf8'));
} catch (e){
plugins.beautylog.error("check that " + filePath.blue + " points to a valid file");
}
break;
case "json":
return plugins.fs.readJsonSync(filePath,{});
break;
}
}
};
module.exports = smartfile;

7
ts/test.ts Normal file
View File

@ -0,0 +1,7 @@
/// <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"));
//var thisIsAnError = smartfile.readFileToObject("./test/mytestDoesNotExist.json");