Compare commits

...

32 Commits

Author SHA1 Message Date
f39daca6aa 4.0.13 2016-08-03 12:25:37 +02:00
e70db71ec4 update type versions 2016-08-03 12:25:15 +02:00
50ef41d5d4 add npm_registry environment 2016-07-20 02:34:14 +02:00
2a417ba18f add npmdocker section to npmextra.json 2016-07-20 02:32:02 +02:00
3516189940 update test js 2016-07-20 02:27:05 +02:00
10e3628a89 4.0.12 2016-07-19 20:28:33 +02:00
86eafe4568 update typings 2016-07-19 20:28:28 +02:00
fddde78b92 4.0.11 2016-07-17 17:36:43 +02:00
2a365b04a6 switched to npmextra for npmts config 2016-07-17 17:36:38 +02:00
df1d82cb7c switched to ES6 and updated deps 2016-07-17 17:34:15 +02:00
d20742f881 fix some things 2016-07-01 06:07:58 +02:00
db2a0c2992 4.0.10 2016-07-01 05:14:37 +02:00
7d806f313b remove @types/gulp 2016-07-01 05:14:16 +02:00
ff2e34696a 4.0.9 2016-07-01 01:38:57 +02:00
23188dfe3f now has fileTree function 2016-07-01 01:37:48 +02:00
38f10e0d04 4.0.8 2016-06-28 10:00:03 +02:00
2e2b8351f8 fix regex filter 2016-06-28 09:59:59 +02:00
8c386ee91c remove tyings.json 2016-06-28 08:48:47 +02:00
9828689f31 4.0.7 2016-06-28 08:40:25 +02:00
8205da5284 add folder lists array and make them filterable through regex 2016-06-28 08:40:22 +02:00
2fc132ab20 4.0.6 2016-06-28 06:57:54 +02:00
e948d08f2e add smartfile.fs.ensureDir 2016-06-28 06:57:51 +02:00
4362e94a88 4.0.5 2016-06-24 03:36:55 +02:00
fea9675b2a improve memory.toFs(Sync) 2016-06-24 03:36:51 +02:00
4522907af3 update README 2016-06-23 19:40:37 +02:00
163eb5a70c 4.0.4 2016-06-23 19:02:39 +02:00
fa5371a6bd update metadata 2016-06-23 19:02:34 +02:00
5ff7f8c3ac 4.0.3 2016-06-23 18:42:42 +02:00
0c49bbd4b2 4.0.2 2016-06-23 18:41:52 +02:00
f2e2a22a57 add gitlab-ci.yml 2016-06-23 18:41:45 +02:00
6ae30110f8 4.0.1 2016-06-23 18:39:06 +02:00
7b4626586c rename some actions 2016-06-23 18:39:02 +02:00
23 changed files with 747 additions and 358 deletions

37
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,37 @@
image: hosttoday/ht-docker-node:npmts
stages:
- test
- release
testLEGACY:
stage: test
script:
- npmci test legacy
tags:
- docker
allow_failure: true
testLTS:
stage: test
script:
- npmci test lts
tags:
- docker
testSTABLE:
stage: test
script:
- npmci test stable
tags:
- docker
release:
stage: release
environment: npm_registry
script:
- npmci publish
only:
- tags
tags:
- docker

View File

@ -2,13 +2,12 @@
make files easily accessible for processing in javascript.
## Status
[![Build Status](https://travis-ci.org/pushrocks/smartfile.svg?branch=master)](https://travis-ci.org/pushrocks/smartfile)
[![Build status](https://ci.appveyor.com/api/projects/status/xefmtetv7bxupfby/branch/master?svg=true)](https://ci.appveyor.com/project/philkunz/smartfile/branch/master)
[![build status](https://gitlab.com/pushrocks/smartfile/badges/master/build.svg)](https://gitlab.com/pushrocks/smartfile/commits/master)
[![Dependency Status](https://david-dm.org/pushrocks/smartfile.svg)](https://david-dm.org/pushrocks/smartfile)
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/smartfile/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/smartfile/master/dependencies/npm)
[![bitHound Code](https://www.bithound.io/github/pushrocks/smartfile/badges/code.svg)](https://www.bithound.io/github/pushrocks/smartfile)
[![codecov.io](https://codecov.io/github/pushrocks/smartfile/coverage.svg?branch=master)](https://codecov.io/github/pushrocks/smartfile?branch=master)
## Supported file types:
* .yml .yaml
* .json
## Usage
smartfile is an approach of being one tool to handle files in diverse environments.
It can fetch files from remote locations, work with local disks and do pure memory operations.

11
dist/index.js vendored
View File

@ -1,9 +1,9 @@
"use strict";
require("typings-global");
var SmartfileFs = require("./smartfile.fs");
var SmartfileInterpreter = require("./smartfile.interpreter");
var SmartfileMemory = require("./smartfile.memory");
var SmartfileRemote = require("./smartfile.remote");
const SmartfileFs = require("./smartfile.fs");
const SmartfileInterpreter = require("./smartfile.interpreter");
const SmartfileMemory = require("./smartfile.memory");
const SmartfileRemote = require("./smartfile.remote");
var smartfile_classes_smartfile_1 = require("./smartfile.classes.smartfile");
exports.Smartfile = smartfile_classes_smartfile_1.Smartfile;
exports.fs = SmartfileFs;
@ -11,5 +11,4 @@ exports.interpreter = SmartfileInterpreter;
exports.memory = SmartfileMemory;
exports.remote = SmartfileRemote;
exports.requireReload = SmartfileFs.requireReload;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFHeEIsSUFBWSxXQUFXLFdBQU0sZ0JBQWdCLENBQUMsQ0FBQTtBQUM5QyxJQUFZLG9CQUFvQixXQUFNLHlCQUN0QyxDQUFDLENBRDhEO0FBQy9ELElBQVksZUFBZSxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDdEQsSUFBWSxlQUFlLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUV0RCw0Q0FBd0IsK0JBQStCLENBQUM7QUFBaEQsNERBQWdEO0FBRTdDLFVBQUUsR0FBRyxXQUFXLENBQUM7QUFDakIsbUJBQVcsR0FBRyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFNLEdBQUcsZUFBZSxDQUFDO0FBQ3pCLGNBQU0sR0FBRyxlQUFlLENBQUM7QUFDekIscUJBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9zbWFydGZpbGUucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgU21hcnRmaWxlRnMgZnJvbSBcIi4vc21hcnRmaWxlLmZzXCI7XG5pbXBvcnQgKiBhcyBTbWFydGZpbGVJbnRlcnByZXRlciBmcm9tIFwiLi9zbWFydGZpbGUuaW50ZXJwcmV0ZXJcIiBcbmltcG9ydCAqIGFzIFNtYXJ0ZmlsZU1lbW9yeSBmcm9tIFwiLi9zbWFydGZpbGUubWVtb3J5XCI7XG5pbXBvcnQgKiBhcyBTbWFydGZpbGVSZW1vdGUgZnJvbSBcIi4vc21hcnRmaWxlLnJlbW90ZVwiO1xuXG5leHBvcnQge1NtYXJ0ZmlsZX0gZnJvbSBcIi4vc21hcnRmaWxlLmNsYXNzZXMuc21hcnRmaWxlXCI7XG5cbmV4cG9ydCBsZXQgZnMgPSBTbWFydGZpbGVGcztcbmV4cG9ydCBsZXQgaW50ZXJwcmV0ZXIgPSBTbWFydGZpbGVJbnRlcnByZXRlcjtcbmV4cG9ydCBsZXQgbWVtb3J5ID0gU21hcnRmaWxlTWVtb3J5O1xuZXhwb3J0IGxldCByZW1vdGUgPSBTbWFydGZpbGVSZW1vdGU7XG5leHBvcnQgbGV0IHJlcXVpcmVSZWxvYWQgPSBTbWFydGZpbGVGcy5yZXF1aXJlUmVsb2FkO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBR3hCLE1BQVksV0FBVyxXQUFNLGdCQUFnQixDQUFDLENBQUE7QUFDOUMsTUFBWSxvQkFBb0IsV0FBTSx5QkFDdEMsQ0FBQyxDQUQ4RDtBQUMvRCxNQUFZLGVBQWUsV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBQ3RELE1BQVksZUFBZSxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFFdEQsNENBQXdCLCtCQUErQixDQUFDO0FBQWhELDREQUFnRDtBQUU3QyxVQUFFLEdBQUcsV0FBVyxDQUFDO0FBQ2pCLG1CQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFDbkMsY0FBTSxHQUFHLGVBQWUsQ0FBQztBQUN6QixjQUFNLEdBQUcsZUFBZSxDQUFDO0FBQ3pCLHFCQUFhLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyJ9

View File

@ -1,10 +1,8 @@
"use strict";
var Smartfile = (function () {
function Smartfile() {
class Smartfile {
constructor() {
}
;
return Smartfile;
}());
}
exports.Smartfile = Smartfile;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5jbGFzc2VzLnNtYXJ0ZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7SUFDSTtJQUVBLENBQUM7O0lBQ0wsZ0JBQUM7QUFBRCxDQUpBLEFBSUMsSUFBQTtBQUpZLGlCQUFTLFlBSXJCLENBQUEiLCJmaWxlIjoic21hcnRmaWxlLmNsYXNzZXMuc21hcnRmaWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNtYXJ0ZmlsZSB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgXG4gICAgfTtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmaWxlLmNsYXNzZXMuc21hcnRmaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRmaWxlLmNsYXNzZXMuc21hcnRmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtJQUNJO0lBRUEsQ0FBQzs7QUFDTCxDQUFDO0FBSlksaUJBQVMsWUFJckIsQ0FBQSJ9

View File

@ -1,12 +1,50 @@
/// <reference types="q" />
import "typings-global";
export declare let copy: (fromArg: string, toArg: string) => any;
import plugins = require("./smartfile.plugins");
/**
*
* @param filePath
* @returns {boolean}
*/
export declare let fileExistsSync: (filePath: any) => boolean;
/**
*
* @param filePath
* @returns {any}
*/
export declare let fileExists: (filePath: any) => plugins.Q.Promise<{}>;
/**
* Checks if given path points to an existing directory
*/
export declare let isDirectory: (pathArg: any) => boolean;
/**
* Checks if a given path points to an existing file
*/
export declare let isFile: (pathArg: any) => boolean;
/**
* ensures that a directory is in place
*/
export declare let ensureDir: (dirPathArg: string) => plugins.Q.Promise<{}>;
/**
* ensures that a directory is in place
*/
export declare let ensureDirSync: (dirPathArg: string) => void;
/**
* copies a file from A to B on the local disk
*/
export declare let copy: (fromArg: string, toArg: string) => plugins.Q.Promise<{}>;
/**
* copies a file SYNCHRONOUSLY from A to B on the local disk
*/
export declare let copySync: (fromArg: string, toArg: string) => boolean;
export declare let remove: (pathArg: string) => any;
/**
* removes a file or folder from local disk
*/
export declare let remove: (pathArg: string) => plugins.Q.Promise<{}>;
/**
* removes a file SYNCHRONOUSLY from local disk
*/
export declare let removeSync: (pathArg: string) => boolean;
export declare let toFS: (options: {
from: string;
toPath: string;
}, cb?: any) => void;
/**
*
* @param filePathArg
@ -40,19 +78,34 @@ export declare let toVinylSync: (filePathArg: any, options?: {}) => any;
* @returns {any}
*/
export declare let requireReload: (path: string) => any;
export declare let foldersSync: (pathArg: any) => any;
export declare let folders: (pathArg: string) => any;
/**
*
* @param filePath
* @returns {boolean}
* lists Folders in a directory on local disk
* @returns Promise
*/
export declare let fileExistsSync: (filePath: any) => boolean;
export declare let listFolders: (pathArg: string, regexFilter?: RegExp) => plugins.Q.Promise<{}>;
/**
*
* @param filePath
* @returns {any}
* lists Folders SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export declare let fileExists: (filePath: any) => any;
export declare let isDirectory: (pathArg: any) => boolean;
export declare let isFile: (pathArg: any) => boolean;
export declare let listFoldersSync: (pathArg: string, regexFilter?: RegExp) => string[];
/**
* lists Files in a directory on local disk
* @returns Promise
*/
export declare let listFiles: (pathArg: string, regexFilter?: RegExp) => plugins.Q.Promise<{}>;
/**
* lists Files SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export declare let listFilesSync: (pathArg: string, regexFilter?: RegExp) => string[];
/**
* lists all items (folders AND files) in a directory on local disk
* @returns Promise
*/
export declare let listAllItems: (pathArg: string, regexFilter?: RegExp) => plugins.Q.Promise<{}>;
/**
* lists all items (folders AND files) SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export declare let listAllItemsSync: (pathArg: string, regexFilter?: RegExp) => string[];
export declare let listFileTree: (dirPath: string, miniMatchFilter: string) => plugins.Q.Promise<{}>;

339
dist/smartfile.fs.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,12 @@
"use strict";
require("typings-global");
var plugins = require("./smartfile.plugins");
exports.filetype = function (pathArg) {
var extName = plugins.path.extname(pathArg);
var fileType = extName.replace(/\.([a-z]*)/, "$1"); //remove . form fileType
const plugins = require("./smartfile.plugins");
exports.filetype = (pathArg) => {
let extName = plugins.path.extname(pathArg);
let fileType = extName.replace(/\.([a-z]*)/, "$1"); //remove . form fileType
return fileType;
};
exports.objectFile = function (fileStringArg, fileTypeArg) {
exports.objectFile = (fileStringArg, fileTypeArg) => {
switch (fileTypeArg) {
case "yml":
case "yaml":
@ -18,5 +18,4 @@ exports.objectFile = function (fileStringArg, fileTypeArg) {
break;
}
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5pbnRlcnByZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLElBQU8sT0FBTyxXQUFXLHFCQUFxQixDQUFDLENBQUM7QUFFckMsZ0JBQVEsR0FBRyxVQUFDLE9BQWM7SUFDakMsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7SUFDM0UsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFUyxrQkFBVSxHQUFHLFVBQUMsYUFBb0IsRUFBRSxXQUFXO0lBQ3RELE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDbEIsS0FBSyxLQUFLLENBQUU7UUFDWixLQUFLLE1BQU07WUFDUCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsS0FBSyxNQUFNO1lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckM7WUFDSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVFLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoic21hcnRmaWxlLmludGVycHJldGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuaW1wb3J0IHBsdWdpbnMgPSByZXF1aXJlKFwiLi9zbWFydGZpbGUucGx1Z2luc1wiKTtcblxuZXhwb3J0IGxldCBmaWxldHlwZSA9IChwYXRoQXJnOnN0cmluZyk6c3RyaW5nID0+IHtcbiAgICBsZXQgZXh0TmFtZSA9IHBsdWdpbnMucGF0aC5leHRuYW1lKHBhdGhBcmcpO1xuICAgIGxldCBmaWxlVHlwZSA9IGV4dE5hbWUucmVwbGFjZSgvXFwuKFthLXpdKikvLFwiJDFcIik7IC8vcmVtb3ZlIC4gZm9ybSBmaWxlVHlwZVxuICAgIHJldHVybiBmaWxlVHlwZTtcbn07XG5cbmV4cG9ydCBsZXQgb2JqZWN0RmlsZSA9IChmaWxlU3RyaW5nQXJnOnN0cmluZywgZmlsZVR5cGVBcmcpID0+IHtcbiAgICBzd2l0Y2ggKGZpbGVUeXBlQXJnKSB7XG4gICAgICAgIGNhc2UgXCJ5bWxcIiA6XG4gICAgICAgIGNhc2UgXCJ5YW1sXCI6XG4gICAgICAgICAgICByZXR1cm4gcGx1Z2lucy55YW1sLnNhZmVMb2FkKGZpbGVTdHJpbmdBcmcpO1xuICAgICAgICBjYXNlIFwianNvblwiOlxuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZmlsZVN0cmluZ0FyZyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcImZpbGUgdHlwZSBcIiArIGZpbGVUeXBlQXJnLmJsdWUgKyBcIiBub3Qgc3VwcG9ydGVkXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmaWxlLmludGVycHJldGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRmaWxlLmludGVycHJldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFFeEIsTUFBTyxPQUFPLFdBQVcscUJBQXFCLENBQUMsQ0FBQztBQUVyQyxnQkFBUSxHQUFHLENBQUMsT0FBYztJQUNqQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtJQUMzRSxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVTLGtCQUFVLEdBQUcsQ0FBQyxhQUFvQixFQUFFLFdBQVc7SUFDdEQsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNsQixLQUFLLEtBQUssQ0FBRTtRQUNaLEtBQUssTUFBTTtZQUNQLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxLQUFLLE1BQU07WUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQztZQUNJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDLENBQUM7WUFDNUUsS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNMLENBQUMsQ0FBQSJ9

View File

@ -1,3 +1,5 @@
/// <reference types="vinyl" />
/// <reference types="q" />
import "typings-global";
import plugins = require("./smartfile.plugins");
/**
@ -45,11 +47,5 @@ export declare let toStringSync: (fileArg: plugins.vinyl) => string;
* @param fileNameArg
* @param fileBaseArg
*/
export declare let toFs: (fileArg: any, optionsArg: {
fileName: string;
filePath: string;
}) => any;
export declare let toFsSync: (fileArg: any, optionsArg: {
fileName: string;
filePath: string;
}) => void;
export declare let toFs: (fileContentArg: string | plugins.vinyl, filePathArg: any) => plugins.Q.Promise<{}>;
export declare let toFsSync: (fileArg: any, filePathArg: string) => void;

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,14 @@
import "typings-global";
export declare let beautylog: any;
export declare let fs: any;
export import beautylog = require("beautylog");
export import fs = require("fs");
export import fsExtra = require("fs-extra");
export declare let gulp: any;
export import glob = require("glob");
export declare let g: {
remoteSrc: any;
};
export import path = require("path");
export declare let q: any;
export import Q = require("q");
export import vinyl = require("vinyl");
export declare let vinylFile: any;
export declare let yaml: any;

View File

@ -1,17 +1,18 @@
"use strict";
require("typings-global");
exports.beautylog = require("beautylog");
exports.fs = require("fs-extra");
exports.fs = require("fs");
exports.fsExtra = require("fs-extra");
exports.gulp = require("gulp");
exports.glob = require("glob");
exports.g = {
remoteSrc: require("gulp-remote-src")
};
exports.path = require("path");
exports.q = require("q");
exports.Q = require("q");
exports.vinyl = require("vinyl");
exports.vinylFile = require("vinyl-file");
exports.yaml = require("js-yaml");
exports.request = require("request");
exports.requireReload = require("require-reload");
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDYixpQkFBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqQyxVQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3pCLFlBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkIsU0FBQyxHQUFHO0lBQ1gsU0FBUyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztDQUN4QyxDQUFDO0FBQ1ksWUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDO0FBQzFCLFNBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZCxhQUFLLFdBQVcsT0FBTyxDQUFDLENBQUM7QUFDNUIsaUJBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLHFCQUFhLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMiLCJmaWxlIjoic21hcnRmaWxlLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuZXhwb3J0IGxldCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBmcyA9IHJlcXVpcmUoXCJmcy1leHRyYVwiKTtcbmV4cG9ydCBsZXQgZ3VscCA9IHJlcXVpcmUoXCJndWxwXCIpO1xuZXhwb3J0IGxldCBnID0ge1xuICAgIHJlbW90ZVNyYzogcmVxdWlyZShcImd1bHAtcmVtb3RlLXNyY1wiKVxufTtcbmV4cG9ydCBpbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgaW1wb3J0IHZpbnlsID0gcmVxdWlyZShcInZpbnlsXCIpO1xuZXhwb3J0IGxldCB2aW55bEZpbGUgPSByZXF1aXJlKFwidmlueWwtZmlsZVwiKTtcbmV4cG9ydCBsZXQgeWFtbCA9IHJlcXVpcmUoXCJqcy15YW1sXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHJlcXVpcmVSZWxvYWQgPSByZXF1aXJlKFwicmVxdWlyZS1yZWxvYWRcIik7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmaWxlLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGZpbGUucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ1YsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxVQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7QUFDbkIsZUFBTyxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQ2pDLFlBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEIsWUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDO0FBQzFCLFNBQUMsR0FBRztJQUNYLFNBQVMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7Q0FDeEMsQ0FBQztBQUNZLFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUN2QixTQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDakIsYUFBSyxXQUFXLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xDLFlBQUksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixxQkFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDIn0=

View File

@ -1,5 +1,7 @@
/// <reference types="q" />
import "typings-global";
export declare let toFs: (from: string, toPath: string) => any;
import plugins = require("./smartfile.plugins");
export declare let toFs: (from: string, toPath: string) => plugins.Q.Promise<{}>;
/**
*
* @param filePathArg
@ -11,10 +13,10 @@ export declare let toGulpStreamSync: (filePathArg: string, baseArg: string) => a
* @param fromArg
* @returns {any}
*/
export declare let toObject: (fromArg: string) => any;
export declare let toObject: (fromArg: string) => plugins.Q.Promise<{}>;
/**
*
* @param fromArg
* @returns {any}
*/
export declare let toString: (fromArg: string) => any;
export declare let toString: (fromArg: string) => plugins.Q.Promise<{}>;

File diff suppressed because one or more lines are too long

9
npmextra.json Normal file
View File

@ -0,0 +1,9 @@
{
"npmts":{
"mode":"default",
"coverageTreshold":70
},
"npmdocker":{
}
}

View File

@ -1,5 +0,0 @@
{
"mode":"default",
"codecov":true,
"coverageTreshold":80
}

View File

@ -1,6 +1,6 @@
{
"name": "smartfile",
"version": "4.0.0",
"version": "4.0.13",
"description": "offers smart ways to work with files in nodejs",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
@ -13,7 +13,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/pushrocks/smartfile.git"
"url": "https://gitlab.com/pushrocks/smartfile.git"
},
"keywords": [
"filesystem",
@ -22,26 +22,30 @@
"author": "Smart Coordination GmbH <office@push.rocks> (https://push.rocks)",
"license": "MIT",
"bugs": {
"url": "https://github.com/pushrocks/smartfile/issues"
"url": "https://gitlab.com/pushrocks/smartfile/issues"
},
"homepage": "https://github.com/pushrocks/smartfile",
"homepage": "https://gitlab.com/pushrocks/smartfile",
"dependencies": {
"beautylog": "^5.0.12",
"@types/fs-extra": "0.x.x",
"@types/glob": "5.x.x",
"@types/q": "0.x.x",
"beautylog": "^5.0.14",
"fs-extra": "^0.30.0",
"glob": "^7.0.5",
"gulp": "^3.9.1",
"gulp-remote-src": "^0.4.1",
"js-yaml": "^3.6.1",
"q": "^1.4.1",
"request": "^2.72.0",
"request": "^2.73.0",
"require-reload": "0.2.2",
"typings-global": "^1.0.3",
"typings-global": "^1.0.6",
"vinyl": "^1.1.1",
"vinyl-file": "^2.0.0"
},
"devDependencies": {
"gulp-function": "^1.3.6",
"npmts-g": "^5.2.6",
"should": "^9.0.2",
"should": "^10.0.0",
"typings-test": "^1.0.1"
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1,13 @@
import "typings-test";
import * as smartfile from "../dist/index";
let beautylog = require("beautylog");
import beautylog = require("beautylog");
let gulp = require("gulp");
let gFunction = require("gulp-function");
import path = require("path");
import should = require("should");
let vinyl = require("vinyl");
describe("smartfile".yellow,function(){
describe(".fs".yellow,function(){
describe(".fileExistsSync".yellow,function(){
it("should return an accurate boolean",function(){
@ -23,15 +22,15 @@ describe("smartfile".yellow,function(){
(smartfile.fs.fileExists("./test/notthere.json")).should.not.be.fulfilled();
});
});
describe(".foldersSync()",function(){
describe(".listFoldersSync()",function(){
it("should get the file type from a string",function(){
smartfile.fs.foldersSync("./test/").should.containDeep([ "testfolder"]);
smartfile.fs.foldersSync("./test/").should.not.containDeep([ "notExistentFolder"]);
smartfile.fs.listFoldersSync("./test/").should.containDeep([ "testfolder"]);
smartfile.fs.listFoldersSync("./test/").should.not.containDeep([ "notExistentFolder"]);
});
});
describe(".folders()",function(){
describe(".listFolders()",function(){
it("should get the file type from a string",function(done){
smartfile.fs.folders("./test/")
smartfile.fs.listFolders("./test/")
.then(function(folderArrayArg){
folderArrayArg.should.containDeep([ "testfolder"]);
folderArrayArg.should.not.containDeep([ "notExistentFolder"]);
@ -39,6 +38,34 @@ describe("smartfile".yellow,function(){
});
});
});
describe(".listFilesSync()",function(){
it("should get the file type from a string",function(){
smartfile.fs.listFilesSync("./test/").should.containDeep([ "mytest.json"]);
smartfile.fs.listFilesSync("./test/").should.not.containDeep([ "notExistentFile"]);
smartfile.fs.listFilesSync("./test/",/mytest\.json/).should.containDeep([ "mytest.json"]);
smartfile.fs.listFilesSync("./test/",/mytests.json/).should.not.containDeep([ "mytest.json"]);
});
});
describe(".listFiles()",function(){
it("should get the file type from a string",function(done){
smartfile.fs.listFiles("./test/")
.then(function(folderArrayArg){
folderArrayArg.should.containDeep([ "mytest.json"]);
folderArrayArg.should.not.containDeep([ "notExistentFile"]);
done();
});
});
});
describe(".listFileTree()",function(){
it("should get a file tree",function(done){
smartfile.fs.listFileTree(path.resolve("./test/"),"**/*.txt")
.then(function(folderArrayArg){
folderArrayArg.should.containDeep([ "testfolder/testfile1.txt"]);
folderArrayArg.should.not.containDeep([ "mytest.json"]);
done();
});
});
});
describe(".copy()".yellow,function(){
it("should copy a directory",function(){
smartfile.fs.copy("./test/testfolder/","./test/temp/")
@ -153,10 +180,7 @@ describe("smartfile".yellow,function(){
let localString = "myString";
smartfile.memory.toFs(
localString,
{
fileName:"./test/temp/testMemToFs.txt",
filePath:process.cwd()
}
path.join(process.cwd(),"./test/temp/testMemToFs.txt")
).then(done);
});
});
@ -164,10 +188,8 @@ describe("smartfile".yellow,function(){
it("should write a file to disk and return true if successfull",function(){
let localString = "myString";
smartfile.memory.toFsSync(
localString,{
fileName:"./test/temp/testMemToFsSync.txt",
filePath:process.cwd()
}
localString,
path.join(process.cwd(),"./test/temp/testMemToFsSync.txt")
);
});
});

View File

@ -3,33 +3,109 @@ import "typings-global";
import plugins = require("./smartfile.plugins");
import SmartfileInterpreter = require("./smartfile.interpreter");
/*===============================================================
============================ Checks =============================
===============================================================*/
/**
*
* @param filePath
* @returns {boolean}
*/
export let fileExistsSync = function(filePath):boolean {
let fileExistsBool:boolean = false;
try {
plugins.fsExtra.readFileSync(filePath);
fileExistsBool = true
}
catch(err){
fileExistsBool = false;
}
return fileExistsBool;
};
/**
*
* @param filePath
* @returns {any}
*/
export let fileExists = function(filePath){
let done = plugins.Q.defer();
plugins.fs.access(filePath, plugins.fs.R_OK, function (err) {
err ? done.reject(err) : done.resolve();
});
return done.promise;
};
/**
* Checks if given path points to an existing directory
*/
export let isDirectory = function(pathArg):boolean{
return plugins.fsExtra.statSync(pathArg).isDirectory();
};
/**
* Checks if a given path points to an existing file
*/
export let isFile = function(pathArg):boolean{
return plugins.fsExtra.statSync(pathArg).isFile();
};
/*===============================================================
============================ FS ACTIONS =========================
===============================================================*/
/**
* ensures that a directory is in place
*/
export let ensureDir = (dirPathArg:string) => {
let done = plugins.Q.defer();
plugins.fsExtra.ensureDir(dirPathArg,done.resolve);
return done.promise;
}
/**
* ensures that a directory is in place
*/
export let ensureDirSync = (dirPathArg:string) => {
plugins.fsExtra.ensureDirSync(dirPathArg);
}
/**
* copies a file from A to B on the local disk
*/
export let copy = function(fromArg:string, toArg:string){
var done = plugins.q.defer();
plugins.fs.copy(fromArg,toArg,{},function(){
var done = plugins.Q.defer();
plugins.fsExtra.copy(fromArg,toArg,{},function(){
done.resolve();
});
return done.promise;
};
/**
* copies a file SYNCHRONOUSLY from A to B on the local disk
*/
export let copySync = function(fromArg:string,toArg:string):boolean{
plugins.fs.copySync(fromArg,toArg);
plugins.fsExtra.copySync(fromArg,toArg);
return true;
};
/**
* removes a file or folder from local disk
*/
export let remove = function(pathArg:string){
var done = plugins.q.defer();
plugins.fs.remove(pathArg,function(){
var done = plugins.Q.defer();
plugins.fsExtra.remove(pathArg,function(){
done.resolve();
});
return done.promise;
};
/**
* removes a file SYNCHRONOUSLY from local disk
*/
export let removeSync = function(pathArg:string):boolean{
plugins.fs.removeSync(pathArg);
plugins.fsExtra.removeSync(pathArg);
return true;
};
@ -38,11 +114,6 @@ export let removeSync = function(pathArg:string):boolean{
============================ Write/Read =========================
===============================================================*/
export let toFS = function(options:{from:string,toPath:string}, cb=undefined){
};
/**
*
* @param filePathArg
@ -64,7 +135,7 @@ export let toGulpDestSync = function(folderPathArg:string){
* @returns {any}
*/
export let toObjectSync = function(filePathArg,fileTypeArg?) {
let fileString = plugins.fs.readFileSync(filePathArg, 'utf8');
let fileString = plugins.fsExtra.readFileSync(filePathArg, 'utf8');
let fileType;
fileTypeArg ? fileType = fileTypeArg : fileType = SmartfileInterpreter.filetype(filePathArg);
return SmartfileInterpreter.objectFile(fileString,fileType);
@ -77,7 +148,7 @@ export let toObjectSync = function(filePathArg,fileTypeArg?) {
*/
export let toStringSync = function(filePath) {
let fileString;
fileString = plugins.fs.readFileSync(filePath, "utf8");
fileString = plugins.fsExtra.readFileSync(filePath, "utf8");
return fileString;
};
@ -100,56 +171,118 @@ export let requireReload = function(path:string){
return plugins.requireReload(path);
};
export let foldersSync = function(pathArg){
return plugins.fs.readdirSync(pathArg).filter(function(file) {
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
};
export let folders = function(pathArg:string){
let done = plugins.q.defer();
let folderArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
/**
* lists Folders in a directory on local disk
* @returns Promise
*/
export let listFolders = function(pathArg:string,regexFilter?:RegExp){
let done = plugins.Q.defer();
let folderArray = plugins.fsExtra.readdirSync(pathArg).filter(function(file) {
return plugins.fsExtra.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
if(regexFilter){
folderArray = folderArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
}
done.resolve(folderArray);
return done.promise;
};
/**
*
* @param filePath
* @returns {boolean}
* lists Folders SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export let fileExistsSync = function(filePath):boolean {
let fileExistsBool:boolean = false;
try {
plugins.fs.readFileSync(filePath);
fileExistsBool = true
}
catch(err){
fileExistsBool = false;
}
return fileExistsBool;
export let listFoldersSync = function(pathArg:string,regexFilter?:RegExp):string[]{
let folderArray = plugins.fsExtra.readdirSync(pathArg).filter(function(file) {
return plugins.fsExtra.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
if(regexFilter){
folderArray = folderArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
};
return folderArray;
};
/**
*
* @param filePath
* @returns {any}
* lists Files in a directory on local disk
* @returns Promise
*/
export let fileExists = function(filePath){
let done = plugins.q.defer();
plugins.fs.access(filePath, plugins.fs.R_OK, function (err) {
err ? done.reject() : done.resolve();
export let listFiles = function(pathArg:string, regexFilter?:RegExp){
let done = plugins.Q.defer();
let fileArray = plugins.fsExtra.readdirSync(pathArg).filter(function(file) {
return plugins.fsExtra.statSync(plugins.path.join(pathArg, file)).isFile();
});
if(regexFilter){
fileArray = fileArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
};
done.resolve(fileArray);
return done.promise;
};
export let isDirectory = function(pathArg):boolean{
return plugins.fs.statSync(pathArg).isDirectory();
/**
* lists Files SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export let listFilesSync = function(pathArg:string, regexFilter?:RegExp):string[]{
let fileArray = plugins.fsExtra.readdirSync(pathArg).filter(function(file) {
return plugins.fsExtra.statSync(plugins.path.join(pathArg, file)).isFile();
});
if(regexFilter){
fileArray = fileArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
};
return fileArray;
};
export let isFile = function(pathArg):boolean{
return plugins.fs.statSync(pathArg).isFile();
/**
* lists all items (folders AND files) in a directory on local disk
* @returns Promise
*/
export let listAllItems = function(pathArg:string, regexFilter?:RegExp){
let done = plugins.Q.defer();
let allItmesArray = plugins.fsExtra.readdirSync(pathArg);
if(regexFilter){
allItmesArray = allItmesArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
};
done.resolve(allItmesArray);
return done.promise;
};
/**
* lists all items (folders AND files) SYNCHRONOUSLY in a directory on local disk
* @returns an array with the folder names as strings
*/
export let listAllItemsSync = function(pathArg:string, regexFilter?:RegExp):string[]{
let allItmesArray = plugins.fsExtra.readdirSync(pathArg).filter(function(file) {
return plugins.fsExtra.statSync(plugins.path.join(pathArg, file)).isFile();
});
if(regexFilter){
allItmesArray = allItmesArray.filter((fileItem) => {
return regexFilter.test(fileItem);
});
};
return allItmesArray;
};
export let listFileTree = (dirPath:string, miniMatchFilter:string) => {
let done = plugins.Q.defer();
let options = {
cwd:dirPath
}
plugins.glob(miniMatchFilter,options,(err,files:string[]) => {
if(err){
console.log(err);
done.reject(err);
};
done.resolve(files);
});
return done.promise;
};

View File

@ -2,6 +2,7 @@ import "typings-global";
import plugins = require("./smartfile.plugins");
import SmartfileInterpreter = require("./smartfile.interpreter");
import vinyl = require("vinyl");
let Readable = require("stream").Readable;
/**
* allows you to create a gulp stream
@ -96,39 +97,37 @@ export let toStringSync = function(fileArg:plugins.vinyl){
* @param fileNameArg
* @param fileBaseArg
*/
export let toFs = function(fileArg,optionsArg:{fileName:string,filePath:string}){
let done = plugins.q.defer();
export let toFs = function(fileContentArg:string|vinyl,filePathArg){
let done = plugins.Q.defer();
//function checks to abort if needed
if (!fileArg || !optionsArg || !(typeof optionsArg.fileName === "string"))
throw new Error("expected a valid arguments");
if (!(typeof optionsArg.filePath === "string")) optionsArg.filePath = "/";
if (!fileContentArg || !filePathArg) throw new Error("expected valid arguments");
let filePath:string = plugins.path.join(optionsArg.filePath,optionsArg.fileName);
// prepare actual write action
let fileString:string;
if (fileArg instanceof plugins.vinyl){
fileString = toStringSync(fileArg);
} else if (typeof fileArg === "string") {
fileString = fileArg;
let filePath:string = filePathArg;
if (fileContentArg instanceof plugins.vinyl){
fileString = toStringSync(fileContentArg);
} else if (typeof fileContentArg === "string") {
fileString = fileContentArg;
}
plugins.fs.writeFile(filePath,fileString,"utf8",done.resolve);
plugins.fsExtra.writeFile(filePath,fileString,"utf8",done.resolve);
return done.promise;
};
export let toFsSync = function(fileArg,optionsArg:{fileName:string,filePath:string}){
export let toFsSync = function(fileArg,filePathArg:string){
//function checks to abort if needed
if (!fileArg || !optionsArg || !(typeof optionsArg.fileName === "string"))
throw new Error("expected a valid arguments");
if (!(typeof optionsArg.filePath === "string")) optionsArg.filePath = "/";
if (!fileArg || !filePathArg) throw new Error("expected a valid arguments");
let filePath = plugins.path.join(optionsArg.filePath,optionsArg.fileName);
// prepare actual write action
let fileString:string;
let filePath:string = filePathArg;
if (fileArg instanceof plugins.vinyl){
fileString = toStringSync(fileArg);
} else if (typeof fileArg === "string") {
fileString = fileArg;
}
plugins.fs.writeFileSync(filePath,fileString,"utf8");
plugins.fsExtra.writeFileSync(filePath,fileString,"utf8");
};

View File

@ -1,12 +1,14 @@
import "typings-global";
export let beautylog = require("beautylog");
export let fs = require("fs-extra");
export import beautylog = require("beautylog");
export import fs = require("fs");
export import fsExtra = require("fs-extra");
export let gulp = require("gulp");
export import glob = require("glob");
export let g = {
remoteSrc: require("gulp-remote-src")
};
export import path = require("path");
export let q = require("q");
export import Q = require("q");
export import vinyl = require("vinyl");
export let vinylFile = require("vinyl-file");
export let yaml = require("js-yaml");

View File

@ -3,8 +3,8 @@ import plugins = require("./smartfile.plugins");
import SmartfileInterpreter = require("./smartfile.interpreter");
export let toFs = function(from:string,toPath:string) {
var done = plugins.q.defer();
var stream = plugins.request(from).pipe(plugins.fs.createWriteStream(toPath));
var done = plugins.Q.defer();
var stream = plugins.request(from).pipe(plugins.fsExtra.createWriteStream(toPath));
stream.on('finish',function(){
done.resolve(toPath);
});
@ -29,7 +29,7 @@ export let toGulpStreamSync = function(filePathArg:string,baseArg:string){
* @returns {any}
*/
export let toObject = function(fromArg:string){
let done = plugins.q.defer();
let done = plugins.Q.defer();
plugins.request.get(fromArg, function (error, response, bodyString) {
let returnObject;
if (!error && response.statusCode == 200) {
@ -50,7 +50,7 @@ export let toObject = function(fromArg:string){
* @returns {any}
*/
export let toString = (fromArg:string) => {
let done = plugins.q.defer();
let done = plugins.Q.defer();
plugins.request.get(fromArg, function (error, response, bodyString) {
if (!error && response.statusCode == 200) {
done.resolve(bodyString);

View File

@ -1,8 +0,0 @@
{
"globalDependencies": {
"colors": "github:DefinitelyTyped/DefinitelyTyped/colors/colors.d.ts",
"mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts",
"node": "registry:dt/node",
"should": "registry:dt/should"
}
}