Compare commits

...

13 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
57c90ca504 0.0.2 2015-11-03 19:59:11 +01:00
02b73f8bf8 add travis npm autodeploy 2015-11-03 19:59:05 +01:00
10 changed files with 127 additions and 27 deletions

View File

@ -1,16 +1,16 @@
language: node_js
node_js:
- "4.1"
- '4.1'
before_install:
- npm install -g tsd
- npm install -g tsd
deploy:
provider: npm
email: npm@smart-coordination.com
api_key:
secure: y7l1JyBDihAYxbqfuPAUXJfY+PC7RSSCkAtXtBIjPA6wytSBnz55te/Vdy8RFgVty6O/k4hHzrhgUJMSoWKmPuGQ5bMBgkyV9OI5PPp4uEUyy5UdcJZv3cZYpGGDRjLjCHP4pF7AHdRcDUMEiE5ZrDtmUH1SBLoRswieO0TKsiMr3u45yR6rHFoPnnw1YlatoAPpiuP3SLnCrIjQeSOS7y9SL6PpakiquJNtpseVOr60sp39L6vLAeqJ7xTjjNJk23LF/60lfiKtM7QFg9qqE7cxFUWJs7Zmgfg4/hGcU9XRfDfZQgSNntcdFczPejO5juv2KOb1tzH7EhXrWlcF1yd70RBdJbcOn7O6ctHjMCGrCSn6IQPzcNWNErFELfMLsjVQUxbfHSc0iA1JxcYWeXUivrStwVOa9ufuG2KZCQZyEjra3zPdCu9yrE30c/mTace7eJXPYTsNn2tmxvTnFoTWmeQ0xL9Iyz9zceADpxjYJoJ8r4XMDWxWga5G9OPaqCINHxjKhOX0C36YEjYTaeNMNHv6F6BPLdKwQ9SmklMtcyC312nJsXwKy+KYJSoY6WqMef9Zk3ez0o09W0UkSr0qiQkyYCoNm8b1L7VrYuccPH24GE0fn8QMWmeE5TBThYbEIdt6NBoYCDeocflUm5KBrImFGo1peeYS1aQnpoQ=
secure: 3RdzAcS9d6sLJs3tHM2uCVU2wV2NsKiLiYWue98DevgijIqTFDHtYuoP29p7fbB4SV87JRbTK1y41QM2u/CCjnbB+mrAUg/Pn08dTibmzi9liom67sLczIPD4eZeMznXPRaddESQdzqrtQfc/6P+1JQO7XWexLNebgYtMrUzYcOrHPWf/Uktk2cKiYfrO8piSR+HOFh2rzC5HjVZ/7fKDIa9bqTlBETkNc7s2NgB++jKRF9LNMVGI/9EmxjBzSSE1juOz26Ahp4+/+P3Lc5LngnTFOYsPoW5iWNY+AQltZxhu9K+rrtfn90rmQDnO7RCGO5yZgMS2+0UjJedwV+4ancU3nzoNmiuoIL7DjQ7NQlt0QKMmIqZuBFBc3tdxqotxNoJDk8/Ui0yfHWzJz0Fd22OI+VdTWNH1y5Vyywsql6wwkl2+Da1WhZf/Mn2gPgLPI0lssPTIl/u3Bey+167tZ3HvX0yqlvPO/JbqK02+5VrRBaV67vT00DG+dh4nnwqcX14Umx2a3JHt3tSGkDnDKpsLbvqjhPhkMRsCIloju+wMnyKjtScMZW+2FeO2n4PgbjNhF+5SG8pDmTS8p0Vy7iohUOiGIJty7K/1r6sQ1FNluhO5Ol3mBDs6wjg6S5QCSNL9eylpV52FV0UX4cRCijmzso+n48I2BbSwjghTB8=
on:
tags: true
repo: pushrocks/gulp-bootstrap
repo: pushrocks/smartfile
notifications:
slack:
secure: f5Uss0z9RPl/QcA/DroB8loyE93aOYI6bqCkrsiUscmZtlv/TVQtT4dxqGA6uvcG6iTQDBi3Ul88dQxWkRm4IqbhY35/iMaV2dHW4FVYMAh8GQMbsfL2sALCcufxD9blw47awv3iFcwhV1EeyesscjgL0JIjduk96v/7G/6QIO2838M1lzlgtj+kRUkim8qkaEs1je3gRrhMUIjLuAdscMXyUKYFMjWo9ACSjVUl30R/ZNemb18itIja6i92GotreBgcfEMczvy58ovDC7xdJUsY8LjMI01DwY+WPRnI0tAhsuI8moBwwcdM4e3bAjKjucQRjO33O5bMWRZ6QCiYd0DnCEFyCPQLJ4GSy/tkD00n8ijLHAOSV3AH1zNbdK1EAdSPQXDvlI36KJn/2hyQLoitGHVUPr76ujJWP82ypO2tgIp3XQU0dJVCxDuHnwJO2+hjdI+gCPqxNTpjeujHx3UdkTGNRjuuf9dlZ/D08fApjYxy2fxItTqo3QjP/nrqvBXUOPP8yPHpjIT4H2t5Pr4SJjBGI6X4qhKyFj6s9rA/Xu1rL+45zu1C3uC3z+u3T9UwrbzJ/cZM6r6UQvQmUvIfBNaMlg4I/diQCDIPL+Rhop2nylY3IcHmJnk2itn7kOqj1tohCpFEml5pRuSZy4udWywkdtyBAsHWFLF7oiQ=

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.1",
"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");