Skip to content
This repository has been archived by the owner on Feb 18, 2019. It is now read-only.

Commit

Permalink
feat(dtsm): refactor to es6 style
Browse files Browse the repository at this point in the history
  • Loading branch information
vvakame committed Sep 23, 2015
1 parent d7a25f5 commit af91f9d
Show file tree
Hide file tree
Showing 12 changed files with 117 additions and 138 deletions.
2 changes: 1 addition & 1 deletion Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ module.exports = function (grunt) {
]
},
src: [
'<%= opt.client.jsTestOut %>/**/*_spec.js'
'<%= opt.client.jsTestOut %>/**/*Spec.js'
]
}
},
Expand Down
70 changes: 35 additions & 35 deletions lib/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@ try {
} catch (e) {
}

import updateNotifier = require("update-notifier");
var pkg = require("../package.json");
import * as updateNotifier from "update-notifier";
let pkg = require("../package.json");

var notifier = updateNotifier({
let notifier = updateNotifier({
packageName: pkg.name,
packageVersion: pkg.version
});
if (notifier.update) {
notifier.notify();
}

import dtsm = require("./index");
import pmb = require("packagemanager-backend");
import is = require("./incrementalsearch");
import * as dtsm from "./";
import * as pmb from "packagemanager-backend";
import * as is from "./incrementalsearch";

import commandpost = require("commandpost");
import archy = require("archy");
import * as commandpost from "commandpost";
import * as archy from "archy";

interface RootOptions {
offline:boolean;
Expand All @@ -34,7 +34,7 @@ interface RootOptions {
ref:string[];
}

var root = commandpost
let root = commandpost
.create<RootOptions, {}>("dtsm")
.version(pkg.version, "-v, --version")
.option("--insight <use>", "send usage opt in/out. in = `--insight true`, out = `--insight false`")
Expand All @@ -52,7 +52,7 @@ root
.action(()=> {
setup(root.parsedOpts)
.then(manager => {
var jsonContent = manager.init();
let jsonContent = manager.init();

console.log("write to " + manager.configPath);
console.log(jsonContent);
Expand Down Expand Up @@ -83,7 +83,7 @@ root
if (!opts.interactive) {
return Promise.resolve(resultList);
}
var candidates = resultList.map(result => result.fileInfo.path);
let candidates = resultList.map(result => result.fileInfo.path);
if (candidates.length === 0) {
return Promise.resolve(resultList);
}
Expand Down Expand Up @@ -158,7 +158,7 @@ root
} else if (opts.interactive || args.files.length === 0) {
return manager.search("")
.then(resultList => {
var candidates = resultList.map(result => result.fileInfo.path);
let candidates = resultList.map(result => result.fileInfo.path);
if (candidates.length === 0) {
return Promise.resolve(resultList);
}
Expand All @@ -173,7 +173,7 @@ root
});
})
.then(resultList => {
var files = resultList.map(result => result.fileInfo.path);
let files = resultList.map(result => result.fileInfo.path);
return manager.install({save: opts.save, dryRun: opts.dryRun}, files)
.then(result => printResult(result));
});
Expand Down Expand Up @@ -262,21 +262,21 @@ root
}
return true;
});
var branches = refs.filter(ref => ref.name.indexOf("refs/heads/") === 0);
var tags = refs.filter(ref => ref.name.indexOf("refs/tags/") === 0);
let branches = refs.filter(ref => ref.name.indexOf("refs/heads/") === 0);
let tags = refs.filter(ref => ref.name.indexOf("refs/tags/") === 0);

if (branches.length !== 0) {
console.log("Branches:");
branches.forEach(ref => {
var branchName = ref.name.substr("refs/heads/".length);
let branchName = ref.name.substr("refs/heads/".length);
console.log("\t", branchName);
});
console.log("");
}
if (tags.length !== 0) {
console.log("Tags:");
tags.forEach(ref => {
var tagName = ref.name.substr("refs/tags/".length);
let tagName = ref.name.substr("refs/tags/".length);
console.log("\t", tagName);
});
console.log("");
Expand All @@ -292,12 +292,12 @@ commandpost
function setup(opts:RootOptions):Promise<dtsm.Manager> {
"use strict";

var offline = opts.offline;
var configPath:string = opts.config[0];
var remoteUri:string = opts.remote[0];
var specifiedRef:string = opts.ref[0];
var insightStr = opts.insight[0];
var insightOptout:boolean;
let offline = opts.offline;
let configPath:string = opts.config[0];
let remoteUri:string = opts.remote[0];
let specifiedRef:string = opts.ref[0];
let insightStr = opts.insight[0];
let insightOptout:boolean;

if (typeof insightStr === "string") {
if (insightStr !== "true" && insightStr !== "false") {
Expand All @@ -309,14 +309,14 @@ function setup(opts:RootOptions):Promise<dtsm.Manager> {
}
}

var repos:pmb.RepositorySpec[] = [];
let repos:pmb.RepositorySpec[] = [];
if (remoteUri || specifiedRef) {
repos.push({
url: remoteUri,
ref: specifiedRef
});
}
var options:dtsm.Options = {
let options:dtsm.Options = {
configPath: configPath || "dtsm.json",
repos: repos,
offline: offline,
Expand All @@ -334,12 +334,12 @@ function setup(opts:RootOptions):Promise<dtsm.Manager> {
function printResolvedDependency(dep:pmb.ResolvedDependency, opts:{emitRepo:boolean; emitHost:boolean;}) {
"use strict";

var fileInfo = (dep:pmb.ResolvedDependency) => {
let fileInfo = (dep:pmb.ResolvedDependency) => {
if (!!dep.parent && dep.parent.repo === dep.repo && dep.parent.ref === dep.ref) {
// emit only root node
return "";
}
var result = "";
let result = "";
if (opts.emitRepo && opts.emitHost) {
if (dep.repoInstance.urlInfo) {
result += dep.repoInstance.urlInfo.hostname;
Expand All @@ -348,13 +348,13 @@ function printResolvedDependency(dep:pmb.ResolvedDependency, opts:{emitRepo:bool
}
}
if (opts.emitRepo) {
var path:string;
let path:string;
if (dep.repoInstance.urlInfo) {
path = dep.repoInstance.urlInfo.pathname;
} else if (dep.repoInstance.sshInfo) {
path = dep.repoInstance.sshInfo.path;
}
var hasExt = /\.git$/.test(path);
let hasExt = /\.git$/.test(path);
if (!opts.emitHost) {
path = path.substr(1);
}
Expand All @@ -368,8 +368,8 @@ function printResolvedDependency(dep:pmb.ResolvedDependency, opts:{emitRepo:bool
return " " + result;
};

var resultTree = (dep:pmb.ResolvedDependency, data?:archy.Data) => {
var d:archy.Data = {
let resultTree = (dep:pmb.ResolvedDependency, data?:archy.Data) => {
let d:archy.Data = {
label: dep.depName,
nodes: []
};
Expand All @@ -386,16 +386,16 @@ function printResolvedDependency(dep:pmb.ResolvedDependency, opts:{emitRepo:bool
return null;
};

var output = resultTree(dep);
let output = resultTree(dep);
console.log(output);
}

function printResult(result:pmb.Result) {
"use strict";

// short is justice.
var emitRepo = 1 < result.manager.repos.length;
var emitHost = result.manager.repos.filter(repo => {
let emitRepo = 1 < result.manager.repos.length;
let emitHost = result.manager.repos.filter(repo => {
if (!!repo.urlInfo) {
return repo.urlInfo.host !== "github.com";
} else if (!!repo.sshInfo) {
Expand All @@ -406,7 +406,7 @@ function printResult(result:pmb.Result) {
}).length !== 0;

Object.keys(result.dependencies).forEach(depName => {
var dep = result.dependencies[depName];
let dep = result.dependencies[depName];
printResolvedDependency(dep, {emitRepo: emitRepo, emitHost: emitHost});
});
}
Expand Down
14 changes: 7 additions & 7 deletions lib/incrementalsearch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

// incremental search. based by peco.

import child_process = require('child_process');
import which = require("which");
import * as child_process from 'child_process';
import * as which from "which";

export function exec(suggestions:string[], defaultQueries:string[], command = "peco"):Promise<string[]> {
"use strict";
Expand All @@ -20,19 +20,19 @@ export function exec(suggestions:string[], defaultQueries:string[], command = "p
})
.then(path => {
return new Promise((resolve, reject) => {
var args:string[] = [];
let args:string[] = [];
if (defaultQueries && 0 < defaultQueries.length) {
args = ["--query", defaultQueries.join(" ")];
}
var cmd = child_process.spawn(path, args);
var result:string[] = [];
let cmd = child_process.spawn(path, args);
let result:string[] = [];

cmd.on("error", (err:NodeJS.ErrnoException)=> {
reject(err);
});
cmd.stdout.on("data", (data:any) => {
var str:string = data.toString();
var newResult = str.split("\n").filter(str => !!str);
let str:string = data.toString();
let newResult = str.split("\n").filter(str => !!str);
result = result.concat(newResult);
});

Expand Down
22 changes: 3 additions & 19 deletions lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
"use strict";

/// <reference path="../node_modules/fs-git/fs-git.d.ts" />
/// <reference path="../node_modules/packagemanager-backend/packagemanager-backend.d.ts" />

export import Tracker = require("./tracker");

/* tslint:disable:no-unused-variable */
import ma = require("./manager");
export import createManager = ma.createManager;
export import Manager = ma.Manager;
/* tslint:enable:no-unused-variable */

/* tslint:disable:no-unused-variable */
import m = require("./model");
export import Options = m.Options;
export import Recipe = m.Recipe;
export import Link = m.Link;
export import LinkResult = m.LinkResult;
export import GlobalConfig = m.GlobalConfig;
/* tslint:enable:no-unused-variable */
export {default as Tracker} from "./tracker";
export {createManager, default as Manager} from "./manager";
export * from "./model";
Loading

0 comments on commit af91f9d

Please sign in to comment.