瀏覽代碼

Adds more linting rules

Fixes lint issues
main
Eric Amodio 7 年之前
父節點
當前提交
3502bdf6c7
共有 32 個檔案被更改,包括 125 行新增76 行删除
  1. +15
    -6
      .vscode/tasks.json
  2. +1
    -1
      package.json
  3. +1
    -2
      src/activeEditorTracker.ts
  4. +3
    -3
      src/blameActiveLineController.ts
  5. +2
    -2
      src/blameAnnotationController.ts
  6. +2
    -2
      src/blameAnnotationFormatter.ts
  7. +1
    -1
      src/commands/diffDirectory.ts
  8. +1
    -1
      src/commands/diffWithBranch.ts
  9. +5
    -2
      src/commands/keyboard.ts
  10. +1
    -1
      src/commands/openInRemote.ts
  11. +1
    -1
      src/extension.ts
  12. +3
    -3
      src/git/gitContextTracker.ts
  13. +1
    -1
      src/git/models/logCommit.ts
  14. +1
    -1
      src/git/models/stashCommit.ts
  15. +2
    -2
      src/git/parsers/blameParser.ts
  16. +1
    -1
      src/git/parsers/logParser.ts
  17. +3
    -3
      src/git/parsers/statusParser.ts
  18. +1
    -1
      src/git/remotes/bitbucket.ts
  19. +1
    -1
      src/git/remotes/github.ts
  20. +1
    -1
      src/git/remotes/visualStudio.ts
  21. +2
    -2
      src/gitCodeLensProvider.ts
  22. +8
    -15
      src/gitService.ts
  23. +2
    -2
      src/quickPicks/commitDetails.ts
  24. +1
    -1
      src/quickPicks/common.ts
  25. +1
    -1
      src/quickPicks/remotes.ts
  26. +2
    -3
      src/quickPicks/repoStatus.ts
  27. +1
    -1
      src/system/iterable.ts
  28. +4
    -5
      src/system/object.ts
  29. +0
    -1
      src/system/string.ts
  30. +1
    -1
      src/telemetry.ts
  31. +2
    -2
      tsconfig.json
  32. +54
    -6
      tslint.json

+ 15
- 6
.vscode/tasks.json 查看文件

@ -9,24 +9,33 @@
// A task runner that calls a custom npm script that compiles the extension.
{
"version": "2.0.0",
"showOutput": "always",
"showOutput": "silent",
"tasks": [
{
"taskName": "compile",
"command": "npm run compile",
"command": "npm run compile --silent",
"isBuildCommand": true,
"isShellCommand": true,
"problemMatcher": [ "$tsc", "$tslint5" ]
"problemMatcher": [
"$tsc",
{
"base": "$tslint5",
"fileLocation": "relative"
}
]
},
{
"taskName": "lint",
"command": "npm run lint",
"command": "npm run lint --silent",
"isShellCommand": true,
"problemMatcher": "$tslint5"
"problemMatcher": {
"base": "$tslint5",
"fileLocation": "relative"
}
},
{
"taskName": "watch",
"command": "npm run watch",
"command": "npm run watch --silent",
"isBackground": true,
"isShellCommand": true,
"problemMatcher": "$tsc-watch"

+ 1
- 1
package.json 查看文件

@ -918,7 +918,7 @@
"@types/node": "7.0.22",
"@types/tmp": "0.0.33",
"mocha": "3.4.1",
"tslint": "5.3.0",
"tslint": "5.3.2",
"typescript": "2.3.3",
"vscode": "1.1.0"
}

+ 1
- 2
src/activeEditorTracker.ts 查看文件

@ -56,5 +56,4 @@ export class ActiveEditorTracker extends Disposable {
this._resolver = undefined;
return editor;
}
}
}

+ 3
- 3
src/blameActiveLineController.ts 查看文件

@ -1,6 +1,6 @@
'use strict';
import { Functions, Objects } from './system';
import { DecorationOptions, DecorationInstanceRenderOptions, DecorationRenderOptions, Disposable, ExtensionContext, Range, StatusBarAlignment, StatusBarItem, TextEditor, TextEditorDecorationType, TextEditorSelectionChangeEvent, window, workspace } from 'vscode';
import { DecorationInstanceRenderOptions, DecorationOptions, DecorationRenderOptions, Disposable, ExtensionContext, Range, StatusBarAlignment, StatusBarItem, TextEditor, TextEditorDecorationType, TextEditorSelectionChangeEvent, window, workspace } from 'vscode';
import { BlameAnnotationController } from './blameAnnotationController';
import { BlameAnnotationFormat, BlameAnnotationFormatter } from './blameAnnotationFormatter';
import { TextEditorComparer } from './comparers';
@ -54,7 +54,7 @@ export class BlameActiveLineController extends Disposable {
private _onConfigurationChanged() {
const cfg = workspace.getConfiguration().get<IConfig>(ExtensionKey)!;
let changed: boolean = false;
let changed = false;
if (!Objects.areEquivalent(cfg.statusBar, this._config && this._config.statusBar)) {
changed = true;
@ -89,7 +89,7 @@ export class BlameActiveLineController extends Disposable {
if (!changed) return;
let trackActiveLine = cfg.statusBar.enabled || cfg.blame.annotation.activeLine !== 'off';
const trackActiveLine = cfg.statusBar.enabled || cfg.blame.annotation.activeLine !== 'off';
if (trackActiveLine && !this._activeEditorLineDisposable) {
const subscriptions: Disposable[] = [];

+ 2
- 2
src/blameAnnotationController.ts 查看文件

@ -5,7 +5,7 @@ import { BlameAnnotationProvider } from './blameAnnotationProvider';
import { TextDocumentComparer, TextEditorComparer } from './comparers';
import { IBlameConfig } from './configuration';
import { ExtensionKey } from './constants';
import { BlameabilityChangeEvent, GitService, GitUri, GitContextTracker } from './gitService';
import { BlameabilityChangeEvent, GitContextTracker, GitService, GitUri } from './gitService';
import { Logger } from './logger';
import { WhitespaceController } from './whitespaceController';
@ -199,7 +199,7 @@ export class BlameAnnotationController extends Disposable {
async toggleBlameAnnotation(editor: TextEditor, shaOrLine?: string | number): Promise<boolean> {
if (!editor || !editor.document || !this.git.isEditorBlameable(editor)) return false;
let provider = this._annotationProviders.get(editor.viewColumn || -1);
const provider = this._annotationProviders.get(editor.viewColumn || -1);
if (!provider) return this.showBlameAnnotation(editor, shaOrLine);
await this.clear(provider.editor.viewColumn || -1);

+ 2
- 2
src/blameAnnotationFormatter.ts 查看文件

@ -46,7 +46,7 @@ export class BlameAnnotationFormatter {
return message;
}
static getAnnotationHover(config: IBlameConfig, line: IGitCommitLine, commit: GitCommit): string | Array<string> {
static getAnnotationHover(config: IBlameConfig, line: IGitCommitLine, commit: GitCommit): string | string[] {
const message = `> \`${commit.message.replace(/\n/g, '\`\n>\n> \`')}\``;
if (commit.isUncommitted) {
return `\`${'0'.repeat(8)}\` &nbsp; __Uncommitted change__`;
@ -103,7 +103,7 @@ export class BlameAnnotationFormatter {
static getMessage(config: IBlameConfig, commit: GitCommit, truncateTo: number = 0, force: boolean = false) {
if (!force && !config.annotation.message) return '';
let message = commit.isUncommitted ? 'Uncommitted change' : commit.message;
const message = commit.isUncommitted ? 'Uncommitted change' : commit.message;
if (truncateTo && message.length > truncateTo) {
return `${message.substring(0, truncateTo - 1)}\u2026`;
}

+ 1
- 1
src/commands/diffDirectory.ts 查看文件

@ -5,7 +5,7 @@ import { ActiveEditorCommand, Commands, getCommandUri } from './common';
import { BuiltInCommands } from '../constants';
import { GitService } from '../gitService';
import { Logger } from '../logger';
import { CommandQuickPickItem, BranchesQuickPick } from '../quickPicks';
import { BranchesQuickPick, CommandQuickPickItem } from '../quickPicks';
export interface DiffDirectoryCommandCommandArgs {
shaOrBranch1?: string;

+ 1
- 1
src/commands/diffWithBranch.ts 查看文件

@ -4,7 +4,7 @@ import { ActiveEditorCommand, Commands, getCommandUri } from './common';
import { BuiltInCommands } from '../constants';
import { GitService, GitUri } from '../gitService';
import { Logger } from '../logger';
import { CommandQuickPickItem, BranchesQuickPick } from '../quickPicks';
import { BranchesQuickPick, CommandQuickPickItem } from '../quickPicks';
import * as path from 'path';
export interface DiffWithBranchCommandArgs {

+ 5
- 2
src/commands/keyboard.ts 查看文件

@ -16,8 +16,11 @@ export const keys: Keys[] = [
'.'
];
export declare type KeyMapping = { [id: string]: (QuickPickItem | (() => Promise<QuickPickItem>) | undefined) };
let mappings: KeyMapping[] = [];
export declare interface KeyMapping {
[id: string]: (QuickPickItem | (() => Promise<QuickPickItem>) | undefined);
}
const mappings: KeyMapping[] = [];
let _instance: Keyboard;

+ 1
- 1
src/commands/openInRemote.ts 查看文件

@ -29,7 +29,7 @@ export class OpenInRemoteCommand extends ActiveEditorCommand {
return command.execute();
}
let placeHolder: string = '';
let placeHolder = '';
switch (args.resource.type) {
case 'branch':
// Check to see if the remote is in the branch

+ 1
- 1
src/extension.ts 查看文件

@ -12,7 +12,7 @@ import { ShowBlameCommand, ToggleBlameCommand } from './commands';
import { ShowBlameHistoryCommand, ShowFileHistoryCommand } from './commands';
import { ShowLastQuickPickCommand } from './commands';
import { ShowQuickBranchHistoryCommand, ShowQuickCurrentBranchHistoryCommand, ShowQuickFileHistoryCommand } from './commands';
import { ShowQuickCommitDetailsCommand, ShowQuickCommitFileDetailsCommand, ShowCommitSearchCommand } from './commands';
import { ShowCommitSearchCommand, ShowQuickCommitDetailsCommand, ShowQuickCommitFileDetailsCommand } from './commands';
import { ShowQuickRepoStatusCommand, ShowQuickStashListCommand } from './commands';
import { StashApplyCommand, StashDeleteCommand, StashSaveCommand } from './commands';
import { ToggleCodeLensCommand } from './commands';

+ 3
- 3
src/git/gitContextTracker.ts 查看文件

@ -72,8 +72,8 @@ export class GitContextTracker extends Disposable {
if (!TextDocumentComparer.equals(this._editor && this._editor.document, e && e.document)) return;
// Can't unsubscribe here because undo doesn't trigger any other event
//this._unsubscribeToDocumentChanges();
//this.updateBlameability(false);
// this._unsubscribeToDocumentChanges();
// this.updateBlameability(false);
// We have to defer because isDirty is not reliable inside this event
setTimeout(() => this._updateBlameability(!e.document.isDirty), 1);
@ -83,7 +83,7 @@ export class GitContextTracker extends Disposable {
if (!TextDocumentComparer.equals(this._editor && this._editor.document, e)) return;
// Don't need to resubscribe as we aren't unsubscribing on document changes anymore
//this._subscribeToDocumentChanges();
// this._subscribeToDocumentChanges();
this._updateBlameability(!e.isDirty);
}

+ 1
- 1
src/git/models/logCommit.ts 查看文件

@ -1,7 +1,7 @@
'use strict';
import { Uri } from 'vscode';
import { GitCommit, GitCommitType, IGitCommitLine } from './commit';
import { IGitStatusFile, GitStatusFileStatus } from './status';
import { GitStatusFileStatus, IGitStatusFile } from './status';
import * as path from 'path';
export class GitLogCommit extends GitCommit {

+ 1
- 1
src/git/models/stashCommit.ts 查看文件

@ -1,7 +1,7 @@
'use strict';
import { IGitCommitLine } from './commit';
import { GitLogCommit } from './logCommit';
import { IGitStatusFile, GitStatusFileStatus } from './status';
import { GitStatusFileStatus, IGitStatusFile } from './status';
export class GitStashCommit extends GitLogCommit {

+ 2
- 2
src/git/parsers/blameParser.ts 查看文件

@ -41,7 +41,7 @@ export class GitBlameParser {
let entry: IBlameEntry | undefined = undefined;
let position = -1;
while (++position < lines.length) {
let lineParts = lines[position].split(' ');
const lineParts = lines[position].split(' ');
if (lineParts.length < 2) {
continue;
}
@ -122,7 +122,7 @@ export class GitBlameParser {
const authors: Map<string, IGitAuthor> = new Map();
const commits: Map<string, GitCommit> = new Map();
const lines: Array<IGitCommitLine> = [];
const lines: IGitCommitLine[] = [];
let relativeFileName = repoPath && fileName;

+ 1
- 1
src/git/parsers/logParser.ts 查看文件

@ -1,6 +1,6 @@
'use strict';
import { Range } from 'vscode';
import { Git, GitStatusFileStatus, GitLogCommit, GitCommitType, IGitAuthor, IGitLog, IGitStatusFile } from './../git';
import { Git, GitCommitType, GitLogCommit, GitStatusFileStatus, IGitAuthor, IGitLog, IGitStatusFile } from './../git';
// import { Logger } from '../../logger';
import * as moment from 'moment';
import * as path from 'path';

+ 3
- 3
src/git/parsers/statusParser.ts 查看文件

@ -1,5 +1,5 @@
'use strict';
import { Git, GitStatusFileStatus, GitStatusFile, IGitStatus } from './../git';
import { Git, GitStatusFile, GitStatusFileStatus, IGitStatus } from './../git';
interface IFileStatusEntry {
staged: boolean;
@ -61,7 +61,7 @@ export class GitStatusParser {
else {
let entry: IFileStatusEntry;
const rawStatus = line.substring(0, 2);
let fileName = line.substring(3);
const fileName = line.substring(3);
if (rawStatus[0] === 'R') {
const [file1, file2] = fileName.replace(/\"/g, '').split('->');
entry = this._parseFileEntry(rawStatus, file2.trim(), file1.trim());
@ -98,7 +98,7 @@ export class GitStatusParser {
}
}
else {
let lineParts = line.split(' ');
const lineParts = line.split(' ');
let entry: IFileStatusEntry | undefined = undefined;
switch (lineParts[0][0]) {
case '1': // normal

+ 1
- 1
src/git/remotes/bitbucket.ts 查看文件

@ -21,7 +21,7 @@ export class BitbucketService extends RemoteProvider {
}
protected getUrlForFile(fileName: string, branch?: string, sha?: string, range?: Range): string {
let line: string = '';
let line = '';
if (range) {
if (range.start.line === range.end.line) {
line = `#${fileName}-${range.start.line}`;

+ 1
- 1
src/git/remotes/github.ts 查看文件

@ -21,7 +21,7 @@ export class GitHubService extends RemoteProvider {
}
protected getUrlForFile(fileName: string, branch?: string, sha?: string, range?: Range): string {
let line: string = '';
let line = '';
if (range) {
if (range.start.line === range.end.line) {
line = `#L${range.start.line}`;

+ 1
- 1
src/git/remotes/visualStudio.ts 查看文件

@ -21,7 +21,7 @@ export class VisualStudioService extends RemoteProvider {
}
protected getUrlForFile(fileName: string, branch?: string, sha?: string, range?: Range): string {
let line: string = '';
let line = '';
if (range) {
if (range.start.line === range.end.line) {
line = `&line=${range.start.line}`;

+ 2
- 2
src/gitCodeLensProvider.ts 查看文件

@ -3,7 +3,7 @@ import { Functions, Iterables, Strings } from './system';
import { CancellationToken, CodeLens, CodeLensProvider, Command, commands, DocumentSelector, Event, EventEmitter, ExtensionContext, Position, Range, SymbolInformation, SymbolKind, TextDocument, Uri, workspace } from 'vscode';
import { Commands, DiffWithPreviousCommandArgs, ShowBlameHistoryCommandArgs, ShowFileHistoryCommandArgs, ShowQuickCommitDetailsCommandArgs, ShowQuickCommitFileDetailsCommandArgs, ShowQuickFileHistoryCommandArgs } from './commands';
import { BuiltInCommands, DocumentSchemes, ExtensionKey } from './constants';
import { CodeLensCommand, CodeLensLocation, IConfig, ICodeLensLanguageLocation } from './configuration';
import { CodeLensCommand, CodeLensLocation, ICodeLensLanguageLocation, IConfig } from './configuration';
import { GitCommit, GitService, GitUri, IGitBlame, IGitBlameLines } from './gitService';
import { Logger } from './logger';
import * as moment from 'moment';
@ -115,7 +115,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
}
private _validateSymbolAndGetBlameRange(document: TextDocument, symbol: SymbolInformation, languageLocation: ICodeLensLanguageLocation): Range | undefined {
let valid: boolean = false;
let valid = false;
let range: Range | undefined;
switch (languageLocation.location) {
case CodeLensLocation.All:

+ 8
- 15
src/gitService.ts 查看文件

@ -33,17 +33,16 @@ class GitCacheEntry {
return Iterables.every(this.cache.values(), _ => _.errorMessage !== undefined);
}
get<T extends ICachedBlame | ICachedDiff | ICachedLog > (key: string): T | undefined {
get<T extends ICachedBlame | ICachedDiff | ICachedLog>(key: string): T | undefined {
return this.cache.get(key) as T;
}
set<T extends ICachedBlame | ICachedDiff | ICachedLog > (key: string, value: T) {
set<T extends ICachedBlame | ICachedDiff | ICachedLog>(key: string, value: T) {
this.cache.set(key, value);
}
}
interface ICachedItem<T> {
//date: Date;
item: Promise<T>;
errorMessage?: string;
}
@ -238,7 +237,7 @@ export class GitService extends Disposable {
}
private async _fileExists(repoPath: string, fileName: string): Promise<boolean> {
return await new Promise<boolean>((resolve, reject) => fs.exists(path.resolve(repoPath, fileName), e => resolve(e)));
return await new Promise<boolean>((resolve, reject) => fs.exists(path.resolve(repoPath, fileName), resolve));
}
async findNextCommit(repoPath: string, fileName: string, sha?: string): Promise<GitLogCommit | undefined> {
@ -319,7 +318,7 @@ export class GitService extends Disposable {
}
async getBlameForFile(uri: GitUri): Promise<IGitBlame | undefined> {
let key: string = 'blame';
let key = 'blame';
if (uri.sha !== undefined) {
key += `:${uri.sha}`;
}
@ -369,7 +368,6 @@ export class GitService extends Disposable {
Logger.log(`Add blame cache for '${entry.key}:${key}'`);
entry.set<ICachedBlame>(key, {
//date: new Date(),
item: promise
} as ICachedBlame);
}
@ -400,7 +398,6 @@ export class GitService extends Disposable {
Logger.log(`Replace blame cache with empty promise for '${entry.key}:${key}'`);
entry.set<ICachedBlame>(key, {
//date: new Date(),
item: GitService.EmptyPromise,
errorMessage: msg
} as ICachedBlame);
@ -519,7 +516,7 @@ export class GitService extends Disposable {
const commitCount = blame.commits.size;
const locations: Array<Location> = [];
const locations: Location[] = [];
Iterables.forEach(blame.commits.values(), (c, i) => {
if (c.isUncommitted) return;
@ -567,7 +564,7 @@ export class GitService extends Disposable {
}
async getDiffForFile(repoPath: string | undefined, fileName: string, sha1?: string, sha2?: string): Promise<IGitDiff | undefined> {
let key: string = 'diff';
let key = 'diff';
if (sha1 !== undefined) {
key += `:${sha1}`;
}
@ -605,7 +602,6 @@ export class GitService extends Disposable {
Logger.log(`Add log cache for '${entry.key}:${key}'`);
entry.set<ICachedDiff>(key, {
//date: new Date(),
item: promise
} as ICachedDiff);
}
@ -627,7 +623,6 @@ export class GitService extends Disposable {
Logger.log(`Replace diff cache with empty promise for '${entry.key}:${key}'`);
entry.set<ICachedDiff>(key, {
//date: new Date(),
item: GitService.EmptyPromise,
errorMessage: msg
} as ICachedDiff);
@ -729,7 +724,7 @@ export class GitService extends Disposable {
}
async getLogForFile(repoPath: string | undefined, fileName: string, sha?: string, maxCount?: number, range?: Range, reverse: boolean = false): Promise<IGitLog | undefined> {
let key: string = 'log';
let key = 'log';
if (sha !== undefined) {
key += `:${sha}`;
}
@ -785,7 +780,6 @@ export class GitService extends Disposable {
Logger.log(`Add log cache for '${entry.key}:${key}'`);
entry.set<ICachedLog>(key, {
//date: new Date(),
item: promise
} as ICachedLog);
}
@ -813,7 +807,6 @@ export class GitService extends Disposable {
Logger.log(`Replace log cache with empty promise for '${entry.key}:${key}'`);
entry.set<ICachedLog>(key, {
//date: new Date(),
item: GitService.EmptyPromise,
errorMessage: msg
} as ICachedLog);
@ -833,7 +826,7 @@ export class GitService extends Disposable {
const commitCount = log.commits.size;
const locations: Array<Location> = [];
const locations: Location[] = [];
Iterables.forEach(log.commits.values(), (c, i) => {
if (c.isUncommitted) return;

+ 2
- 2
src/quickPicks/commitDetails.ts 查看文件

@ -83,7 +83,7 @@ export class OpenCommitFilesCommandQuickPickItem extends OpenFilesCommandQuickPi
super(uris, item || {
label: `$(file-symlink-file) Open Changed Files`,
description: `\u00a0 \u2014 \u00a0\u00a0 in \u00a0$(git-commit) ${commit.shortSha}`
//detail: `Opens all of the changed files in $(git-commit) ${commit.shortSha}`
// detail: `Opens all of the changed files in $(git-commit) ${commit.shortSha}`
});
}
}
@ -96,7 +96,7 @@ export class OpenCommitWorkingTreeFilesCommandQuickPickItem extends OpenFilesCom
super(uris, item || {
label: `$(file-symlink-file) Open Changed Working Files`,
description: ''
//detail: `Opens all of the changed file in the working tree`
// detail: `Opens all of the changed file in the working tree`
});
}
}

+ 1
- 1
src/quickPicks/common.ts 查看文件

@ -1,6 +1,6 @@
'use strict';
import { CancellationTokenSource, commands, Disposable, QuickPickItem, QuickPickOptions, TextDocumentShowOptions, TextEditor, Uri, window, workspace } from 'vscode';
import { Commands, Keyboard, Keys, KeyboardScope, KeyMapping, openEditor } from '../commands';
import { Commands, Keyboard, KeyboardScope, KeyMapping, Keys, openEditor } from '../commands';
import { IAdvancedConfig } from '../configuration';
import { ExtensionKey } from '../constants';
import { GitCommit, GitLogCommit, GitStashCommit } from '../gitService';

+ 1
- 1
src/quickPicks/remotes.ts 查看文件

@ -30,7 +30,7 @@ export class OpenRemotesCommandQuickPickItem extends CommandQuickPickItem {
constructor(remotes: GitRemote[], resource: RemoteResource, goBackCommand?: CommandQuickPickItem) {
const name = getNameFromRemoteResource(resource);
let description: string = '';
let description = '';
switch (resource.type) {
case 'branch':
description = `$(git-branch) ${resource.branch}`;

+ 2
- 3
src/quickPicks/repoStatus.ts 查看文件

@ -16,7 +16,7 @@ export class OpenStatusFileCommandQuickPickItem extends OpenFileCommandQuickPick
directory = '';
}
let description = (status.status === 'R' && status.originalFileName)
const description = (status.status === 'R' && status.originalFileName)
? `${directory} \u00a0\u2190\u00a0 ${status.originalFileName}`
: directory;
@ -46,7 +46,7 @@ export class OpenStatusFilesCommandQuickPickItem extends CommandQuickPickItem {
super(item || {
label: `$(file-symlink-file) Open Changed Files`,
description: ''
//detail: `Opens all of the changed files in the repository`
// detail: `Opens all of the changed files in the repository`
}, Commands.OpenChangedFiles, [
undefined,
{
@ -211,7 +211,6 @@ export class RepoStatusQuickPick {
]));
}
if (goBackCommand) {
items.splice(0, 0, goBackCommand);
}

+ 1
- 1
src/system/iterable.ts 查看文件

@ -55,7 +55,7 @@ export namespace Iterables {
}
export function join(source: Iterable<any>, separator: string): string {
let value: string = '';
let value = '';
const iterator = source[Symbol.iterator]();
let next = iterator.next();

+ 4
- 5
src/system/object.ts 查看文件

@ -1,5 +1,4 @@
'use strict';
//import { isEqual as _isEqual } from 'lodash';
const _isEqual = require('lodash.isequal');
export namespace Objects {
@ -8,13 +7,13 @@ export namespace Objects {
}
export function* entries(o: any): IterableIterator<[string, any]> {
for (let key in o) {
for (const key in o) {
yield [key, o[key]];
}
}
export function flatten(o: any, prefix: string = '', stringify: boolean = false): { [key: string]: any } {
let flattened = Object.create(null);
const flattened = Object.create(null);
_flatten(flattened, prefix, o, stringify);
return flattened;
}
@ -37,7 +36,7 @@ export namespace Objects {
}
}
else if (Array.isArray(value)) {
let len = value.length;
const len = value.length;
for (let i = 0; i < len; i++) {
_flatten(flattened, `${key}[${i}]`, value[i], stringify);
}
@ -47,7 +46,7 @@ export namespace Objects {
}
else {
let isEmpty = true;
for (let p in value) {
for (const p in value) {
isEmpty = false;
_flatten(flattened, key ? `${key}.${p}` : p, value[p], stringify);
}

+ 0
- 1
src/system/string.ts 查看文件

@ -1,5 +1,4 @@
'use strict';
//import { escapeRegExp as _escapeRegExp } from 'lodash';
const _escapeRegExp = require('lodash.escaperegexp');
export namespace Strings {

+ 1
- 1
src/telemetry.ts 查看文件

@ -1,5 +1,5 @@
'use strict';
import { env, Disposable, version, workspace } from 'vscode';
import { Disposable, env, version, workspace } from 'vscode';
import * as os from 'os';
let _reporter: TelemetryReporter;

+ 2
- 2
tsconfig.json 查看文件

@ -1,7 +1,7 @@
{
"compilerOptions": {
"forceConsistentCasingInFileNames": true,
"lib": [ "es6" ],
"lib": [ "es2015" ],
"module": "commonjs",
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
@ -12,7 +12,7 @@
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "es6"
"target": "es2015"
},
"exclude": [
"node_modules",

+ 54
- 6
tslint.json 查看文件

@ -1,22 +1,52 @@
{
"rules": {
"arrow-parens": false,
"adjacent-overload-signatures": true,
"array-type": [
true,
"array"
],
"arrow-parens": [
true,
"ban-single-arg-parens"
],
"arrow-return-shorthand": true,
"class-name": true,
"comment-format": [
false
true,
"check-space"
],
"curly": [
true,
"ignore-same-line"
],
"curly": false,
"indent": [
true,
"spaces"
],
"interface-over-type-literal": true,
"new-parens": true,
"no-duplicate-variable": true,
"no-angle-bracket-type-assertion": true,
"no-consecutive-blank-lines": [
true,
1
],
"no-default-export": true,
"no-eval": true,
"no-for-in-array": false,
// "no-for-in-array": true,
"no-inferrable-types": [
true,
"ignore-params",
"ignore-properties"
],
"no-internal-module": true,
"no-invalid-template-strings": true,
"no-irregular-whitespace": true,
"no-reference": true,
"no-string-throw": true,
"no-trailing-whitespace": true,
"no-unnecessary-callback-wrapper": true,
// "no-unnecessary-qualifier": true,
// "no-unsafe-any": true,
"no-unsafe-finally": true,
"no-unused-expression": false,
"no-var-keyword": true,
@ -35,11 +65,18 @@
"ignore-for-loop"
],
"ordered-imports": [
false,
true,
{
"import-sources-order": "any",
"named-imports-order": "case-insensitive"
}
],
"prefer-const": true,
"prefer-for-of": true,
"prefer-template": [
true,
"allow-single-concat"
],
"quotemark": [
true,
"single",
@ -50,6 +87,16 @@
true,
"always"
],
"space-before-function-paren": [
true,
{
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}
],
// "strict-boolean-expressions": true,
// "strict-type-predicates": true,
"trailing-comma": [
true,
{
@ -71,6 +118,7 @@
"variable-declaration": "nospace"
}
],
"typeof-compare": true,
"use-isnan": true,
"variable-name": [
true,

Loading…
取消
儲存