From 4ab5548378ce85500649ec6f4213da3e9aa113fd Mon Sep 17 00:00:00 2001 From: eps1lon Date: Fri, 15 Jun 2018 05:44:44 +0200 Subject: [PATCH] chore(lynt): fix glob patterns in lint and format Without escaping them the originating shell expands the glob patterns which can be inconsistent. --- .vscode/settings.json | 2 +- package.json | 12 ++++----- src/format/__tests__/formatStats.ts | 6 ++--- src/localize/formatters/Formatter.ts | 14 +++++------ .../formatters/__tests__/formatters.ts | 6 +---- .../formatters/__tests__/regexp_util.ts | 6 ++--- src/localize/formatters/index.ts | 10 ++------ src/localize/formatters/regexp_util.ts | 2 +- src/translate/__tests__/asRegexp.ts | 1 - src/types/__tests__/LocaleData.ts | 25 +++++++++++++------ 10 files changed, 41 insertions(+), 43 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f146938..96e7655 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,7 @@ { // Set the default "editor.formatOnSave": false, - "typescript.tsdk": "node_modules\\typescript\\lib", + "typescript.tsdk": "node_modules/typescript/lib", "[typescript]": { "editor.formatOnSave": true }, diff --git a/package.json b/package.json index 2263e3a..ab3787d 100644 --- a/package.json +++ b/package.json @@ -19,18 +19,18 @@ "build:check": "tsc --project ./tsconfig.build.json --noEmit --watch", "clean": "rimraf coverage dist", "coveralls": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", - "format": "prettier --write src/**/*.ts", - "format:check": "prettier --list-different src/**/*.ts", - "generate-locale-data:clean": "rimraf locale-data/**/*.json", + "format": "prettier --write \"src/**/*.ts\"", + "format:check": "prettier --list-different \"src/**/*.ts\"", + "generate-locale-data:clean": "rimraf \"locale-data/**/*.json\"", "generate-locale-data": "yarn run parse-locale-data && yarn run process-locale-data", "generate-skill-meta": "node scripts/generateSkillMeta", "postgenerate-skill-meta": "prettier --write src/translate/skill_meta.json", "parse-locale-data": "node scripts/generateLocaleData", "process-locale-data": "node scripts/sieveUnprocessed", - "postprocess-locale-data": "prettier --write locale-data/**/*stat_descriptions.json", + "postprocess-locale-data": "prettier --write \"locale-data/**/*stat_descriptions.json\"", "generate-dat-locale-data": "node scripts/generateDatLocaleData", - "postgenerate-dat-locale-data": "prettier --write locale-data/**/[A-Z]*.json", - "lint": "tslint --project tsconfig.json src/**/*.ts", + "postgenerate-dat-locale-data": "prettier --write \"locale-data/**/[A-Z]*.json\"", + "lint": "tslint --project tsconfig.json \"src/**/*.ts\"", "compile-grammars": "node scripts/compileGrammars", "compile-grammars:watch": "node scripts/watchGrammars", "prepublishOnly": "yarn run build", diff --git a/src/format/__tests__/formatStats.ts b/src/format/__tests__/formatStats.ts index 28bf617..9ab65ae 100644 --- a/src/format/__tests__/formatStats.ts +++ b/src/format/__tests__/formatStats.ts @@ -110,9 +110,9 @@ it('should translate collections of stats', () => { // they are save in the .txt with `no_description id` it('should return the id with a hint for no_desc stats', () => { - expect( - formatStats([{ id: 'item_drop_slots', value: 3 }], { datas }) - ).toEqual(['item_drop_slots (hidden)']); + expect(formatStats([{ id: 'item_drop_slots', value: 3 }], { datas })).toEqual( + ['item_drop_slots (hidden)'] + ); }); it('should translate production bug 1', () => { diff --git a/src/localize/formatters/Formatter.ts b/src/localize/formatters/Formatter.ts index 9814b82..8cb503e 100644 --- a/src/localize/formatters/Formatter.ts +++ b/src/localize/formatters/Formatter.ts @@ -3,8 +3,12 @@ */ export default interface Formatter { /** - * - * @param n + * RegExp to match the value in the formatted string + */ + regexp: string; + /** + * + * @param n */ format(n: number): string; /** @@ -12,8 +16,4 @@ export default interface Formatter { * @param s returnval from #format() */ inverse(s: string): number; - /** - * RegExp to match the value in the formatted string - */ - regexp: string; -} \ No newline at end of file +} diff --git a/src/localize/formatters/__tests__/formatters.ts b/src/localize/formatters/__tests__/formatters.ts index b705437..924f4a8 100644 --- a/src/localize/formatters/__tests__/formatters.ts +++ b/src/localize/formatters/__tests__/formatters.ts @@ -1,8 +1,4 @@ -import factory, { - formatters, - inverseFactory, - regexpFactory -} from '../'; +import factory, { formatters, inverseFactory, regexpFactory } from '../'; it('should throw if the specified formatter doesnt exist', () => { expect(() => factory('foobar')).toThrowError("'foobar' not found"); diff --git a/src/localize/formatters/__tests__/regexp_util.ts b/src/localize/formatters/__tests__/regexp_util.ts index cd4a9f5..d017d07 100644 --- a/src/localize/formatters/__tests__/regexp_util.ts +++ b/src/localize/formatters/__tests__/regexp_util.ts @@ -1,11 +1,11 @@ -import {NUMBER} from '../regexp_util'; +import { NUMBER } from '../regexp_util'; it('can match hole numbers', () => { - const regexp = new RegExp(`^${NUMBER}$`); + const regexp = new RegExp(`^${NUMBER}$`); expect(regexp.test(`${5}`)).toBe(true); expect(regexp.test(`${-123}`)).toBe(true); expect(regexp.test(`${-0}`)).toBe(true); expect(regexp.test(`${+0}`)).toBe(true); expect(regexp.test(`${-9.5}`)).toBe(false); expect(regexp.test(`${13.5}`)).toBe(false); -}) \ No newline at end of file +}); diff --git a/src/localize/formatters/index.ts b/src/localize/formatters/index.ts index 738e12d..018f36e 100644 --- a/src/localize/formatters/index.ts +++ b/src/localize/formatters/index.ts @@ -1,14 +1,8 @@ import { isRange, StatValue } from '../../types/StatValue'; import Formatter from './Formatter'; +import mod_value_to_item_class from './mod_value_to_item_class'; +import per_minute_to_per_second from './per_minute_to_per_second'; import { NUMBER } from './regexp_util'; -import { default as mod_value_to_item_class } from './mod_value_to_item_class'; -import { default as per_minute_to_per_second } from './per_minute_to_per_second'; - -const f: Formatter = { - format: n => `${n}`, - inverse: s => +s, - regexp: NUMBER -}; /* * rule of thumb: is the formatter self explanatory and only need diff --git a/src/localize/formatters/regexp_util.ts b/src/localize/formatters/regexp_util.ts index d56f575..0bb0a32 100644 --- a/src/localize/formatters/regexp_util.ts +++ b/src/localize/formatters/regexp_util.ts @@ -1 +1 @@ -export const NUMBER = '-?\\d+'; \ No newline at end of file +export const NUMBER = '-?\\d+'; diff --git a/src/translate/__tests__/asRegexp.ts b/src/translate/__tests__/asRegexp.ts index 95db090..3656399 100644 --- a/src/translate/__tests__/asRegexp.ts +++ b/src/translate/__tests__/asRegexp.ts @@ -1,5 +1,4 @@ import { Translation } from '../../types/StatDescription'; -import NamedGroupsRegexp from '../../util/NamedGroupsRegexp'; import asRegexp from '../asRegexp'; import printf from '../printf'; diff --git a/src/types/__tests__/LocaleData.ts b/src/types/__tests__/LocaleData.ts index 79b9216..f05c51b 100644 --- a/src/types/__tests__/LocaleData.ts +++ b/src/types/__tests__/LocaleData.ts @@ -1,3 +1,4 @@ +// tslint:disable:no-unused-variable import * as LocaleData from '../LocaleData'; // we only want to check typings so we dont actually run this test @@ -5,15 +6,14 @@ import * as LocaleData from '../LocaleData'; describe.skip('type definitions matching json files in locale-data', () => { /** * courtesy of https://github.com/Microsoft/TypeScript/issues/12936#issuecomment-368244671 - * + * * allows an exact match between T and X * usually assiging X to T would be fine because X extends T - * but we want to make sure in our type definitions that we caught all possible + * but we want to make sure in our type definitions that we caught all possible * fields. */ - type Exactify = T & { - [K in keyof X]: K extends keyof T ? Exactify : never - } + type Exactify = T & + { [K in keyof X]: K extends keyof T ? Exactify : never }; // eps1lon: going with dynamic here so that ts-jest does not transpile // and require the hole json despite no test actually runs here @@ -44,7 +44,10 @@ describe.skip('type definitions matching json files in locale-data', () => { }); test('CharacterStartStates', async () => { const json = await import('../../../locale-data/en/CharacterStartStates.json'); - const checked: Exactify = json; + const checked: Exactify< + LocaleData.CharacterStartStates, + typeof json + > = json; }); test('Chests', async () => { const json = await import('../../../locale-data/en/Chests.json'); @@ -56,7 +59,10 @@ describe.skip('type definitions matching json files in locale-data', () => { }); test('CraftingBenchOptions', async () => { const json = await import('../../../locale-data/en/CraftingBenchOptions.json'); - const checked: Exactify = json; + const checked: Exactify< + LocaleData.CraftingBenchOptions, + typeof json + > = json; }); test('CurrencyItems', async () => { const json = await import('../../../locale-data/en/CurrencyItems.json'); @@ -136,7 +142,10 @@ describe.skip('type definitions matching json files in locale-data', () => { }); test('WarbandsPackMonsters', async () => { const json = await import('../../../locale-data/en/WarbandsPackMonsters.json'); - const checked: Exactify = json; + const checked: Exactify< + LocaleData.WarbandsPackMonsters, + typeof json + > = json; }); test('WorldAreas', async () => { const json = await import('../../../locale-data/en/WorldAreas.json');