From 72bc7dbaba1b3c0ab3eb4b15bc887856f1bc16a8 Mon Sep 17 00:00:00 2001 From: Alexander T Date: Tue, 29 Oct 2019 05:36:33 +0200 Subject: [PATCH] bem-cn: Provides its own types (#39653) --- notNeededPackages.json | 6 ++++ types/bem-cn/bem-cn-tests.ts | 54 ------------------------------------ types/bem-cn/index.d.ts | 41 --------------------------- types/bem-cn/tsconfig.json | 23 --------------- types/bem-cn/tslint.json | 7 ----- 5 files changed, 6 insertions(+), 125 deletions(-) delete mode 100644 types/bem-cn/bem-cn-tests.ts delete mode 100644 types/bem-cn/index.d.ts delete mode 100644 types/bem-cn/tsconfig.json delete mode 100644 types/bem-cn/tslint.json diff --git a/notNeededPackages.json b/notNeededPackages.json index 6b516faa92..b1759cb10b 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -246,6 +246,12 @@ "sourceRepoURL": "https://github.com/sindresorhus/beeper", "asOfVersion": "2.0.0" }, + { + "libraryName": "bem-cn", + "typingsPackageName": "bem-cn", + "sourceRepoURL": "https://github.com/albburtsev/bem-cn", + "asOfVersion": "3.0.0" + }, { "libraryName": "BigInteger.js", "typingsPackageName": "big-integer", diff --git a/types/bem-cn/bem-cn-tests.ts b/types/bem-cn/bem-cn-tests.ts deleted file mode 100644 index 97b3bae8c5..0000000000 --- a/types/bem-cn/bem-cn-tests.ts +++ /dev/null @@ -1,54 +0,0 @@ -import * as block from "bem-cn"; -import { Settings } from "bem-cn"; - -// expected 'block' -block("block")(); - -// expected 'block__elem' -block("block")("elem")(); - -// expected 'block__elem block__elem_disabled block__elem_size_small' -block("block")("elem", { disabled: true, size: 'small' })(); - -// expected 'block block_disabled' -block("block")({ disabled: true})(); - -// expected 'block mix' -block("block").mix("mix"); - -// expected 'block mix mix2' -block("block").mix(["mix", "mix2"]); - -// expected 'block is-hidden' -block("block").state({ hidden: true }); - -// expected 'block' -block("block").state({ hidden: false }); - -// expected 'block is-hidden is-error' -block("block").state({ hidden: true, error: true }); - -// expected 'block is-loading' -block("block").is({ loading: true }); - -// expected 'block has-content' -block("block").has({ content: true }); - -block.setup({ - el: '~~', - mod: '--', - modValue: '-' -}); - -// expected 'block~~elem' -block("block")("elem"); - -// expected 'block block--mod-value' -block("block")({ mod: "value"}); - -// I can use bem-cn interfaces -const customSettings: Settings = { - ns: 'prefix' -}; - -block.setup(customSettings); diff --git a/types/bem-cn/index.d.ts b/types/bem-cn/index.d.ts deleted file mode 100644 index 068298f0f7..0000000000 --- a/types/bem-cn/index.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -// Type definitions for bem-cn 2.1 -// Project: https://github.com/albburtsev/bem-cn -// Definitions by: Vitaly Selkin -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -type StateFn = (states: { [key: string]: boolean }) => BemCn.Inner; -declare function BemCn(name: string): BemCn.Inner; - -declare namespace BemCn { - function reset(): void; - function setup(settings?: Settings): void; - - interface Modifications { - [key: string]: (string | boolean); - } - - interface Inner { - (elem: string | Modifications): Inner; - (elem: string, mods: Modifications): Inner; - (): string; - - mix(mixes: string | string[]): Inner; - has: StateFn; - state: StateFn; - is: StateFn; - toString(): string; - valueOf(): string; - split(separator: string, limit?: number): string[]; - } - - interface Settings { - ns?: string; - el?: string; - mod?: string; - modValue?: string; - classMap?: { [className: string]: string } | null; - } -} - -export as namespace BemCn; -export = BemCn; diff --git a/types/bem-cn/tsconfig.json b/types/bem-cn/tsconfig.json deleted file mode 100644 index e9212d8d91..0000000000 --- a/types/bem-cn/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "bem-cn-tests.ts" - ] -} \ No newline at end of file diff --git a/types/bem-cn/tslint.json b/types/bem-cn/tslint.json deleted file mode 100644 index 091817f734..0000000000 --- a/types/bem-cn/tslint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - // TODO - "no-duplicate-imports": false - } -}