diff --git a/lib/rules/prefer-linked-key-with-paren.ts b/lib/rules/prefer-linked-key-with-paren.ts index a2f553ab..bc1abcdd 100644 --- a/lib/rules/prefer-linked-key-with-paren.ts +++ b/lib/rules/prefer-linked-key-with-paren.ts @@ -9,12 +9,12 @@ import debugBuilder from 'debug' import type { RuleContext, RuleListener } from '../types' import { getMessageSyntaxVersions, - getReportIndex + getReportIndex, + NodeTypes } from '../utils/message-compiler/utils' import { parse } from '../utils/message-compiler/parser' import { parse as parseForV8 } from '../utils/message-compiler/parser-v8' import { traverseNode } from '../utils/message-compiler/traverser' -import { NodeTypes } from '@intlify/message-compiler' const debug = debugBuilder( 'eslint-plugin-vue-i18n:prefer-linked-key-with-paren' ) diff --git a/lib/utils/collect-linked-keys.ts b/lib/utils/collect-linked-keys.ts index 7015f00b..9abbab1e 100644 --- a/lib/utils/collect-linked-keys.ts +++ b/lib/utils/collect-linked-keys.ts @@ -3,12 +3,12 @@ * @author Yosuke Ota */ import type { ResourceNode } from '@intlify/message-compiler' -import { NodeTypes } from '@intlify/message-compiler' import { traverseNode } from './message-compiler/traverser' import type { I18nLocaleMessageDictionary, RuleContext } from '../types' import { parse } from './message-compiler/parser' import { parse as parseForV8 } from './message-compiler/parser-v8' import type { MessageSyntaxVersions } from './message-compiler/utils' +import { NodeTypes } from './message-compiler/utils' import { getMessageSyntaxVersions } from './message-compiler/utils' /** diff --git a/lib/utils/message-compiler/parser-v8.ts b/lib/utils/message-compiler/parser-v8.ts index 35274df4..38ab565e 100644 --- a/lib/utils/message-compiler/parser-v8.ts +++ b/lib/utils/message-compiler/parser-v8.ts @@ -15,8 +15,8 @@ import type { LinkedModifierNode, LinkedKeyNode } from '@intlify/message-compiler' -import { NodeTypes } from '@intlify/message-compiler' import lodash from 'lodash' +import { NodeTypes } from './utils' export function parse( code: string diff --git a/lib/utils/message-compiler/traverser.ts b/lib/utils/message-compiler/traverser.ts index d427abdb..84ee1ab9 100644 --- a/lib/utils/message-compiler/traverser.ts +++ b/lib/utils/message-compiler/traverser.ts @@ -10,7 +10,7 @@ import type { ResourceNode, TextNode } from '@intlify/message-compiler' -import { NodeTypes } from '@intlify/message-compiler' +import { NodeTypes } from './utils' type MessageElementNode = | TextNode diff --git a/lib/utils/message-compiler/utils.ts b/lib/utils/message-compiler/utils.ts index 62b2c1b5..51e4a622 100644 --- a/lib/utils/message-compiler/utils.ts +++ b/lib/utils/message-compiler/utils.ts @@ -3,6 +3,19 @@ import semver from 'semver' import type { AST as JSONAST } from 'jsonc-eslint-parser' import type { AST as YAMLAST } from 'yaml-eslint-parser' +export const NodeTypes = { + Resource: 0, + Plural: 1, + Message: 2, + Text: 3, + Named: 4, + List: 5, + Linked: 6, + LinkedKey: 7, + LinkedModifier: 8, + Literal: 9 +} as const + export type MessageSyntaxVersions = { v8: boolean v9: boolean diff --git a/package.json b/package.json index c49612bd..eb15b497 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ } }, "dependencies": { - "@intlify/message-compiler": "^9.0.0-rc.5", - "@intlify/message-resolver": "^9.0.0-rc.5", + "@intlify/message-compiler": "^9.1.6", + "@intlify/message-resolver": "^9.1.6", "debug": "^4.3.1", "glob": "^7.1.3", "ignore": "^5.0.5", @@ -66,7 +66,7 @@ "rimraf": "^3.0.0", "shipjs": "^0.23.0", "ts-node": "^9.0.0", - "typescript": "^4.0.0", + "typescript": "^4.3.2", "vue-eslint-editor": "^1.1.0", "vue-github-button": "^1.2.0", "vuepress": "^1.5.2" @@ -110,7 +110,7 @@ "release:prepare": "shipjs prepare", "release:trigger": "shipjs trigger", "test": "mocha --require ts-node/register \"./tests/**/*.ts\"", - "test:debug": "mocha --require ts-node/register --inspect \"./tests/**/*.ts\"", + "test:debug": "mocha --require ts-node/register/transpile-only --inspect \"./tests/**/*.ts\"", "test:coverage": "nyc mocha --require ts-node/register \"./tests/**/*.ts\" --timeout 60000", "test:integrations": "mocha ./tests-integrations/*.js --timeout 60000" } diff --git a/tests/lib/rules/no-missing-keys.ts b/tests/lib/rules/no-missing-keys.ts index c708d71a..1705b186 100644 --- a/tests/lib/rules/no-missing-keys.ts +++ b/tests/lib/rules/no-missing-keys.ts @@ -29,8 +29,8 @@ const localeDirs = [ function buildTestsForLocales< T extends RuleTester.ValidTestCase | RuleTester.InvalidTestCase ->(testcases: T[], otherTestcases: T[]) { - const result = [] +>(testcases: T[], otherTestcases: T[]): T[] { + const result: T[] = [] for (const testcase of testcases) { for (const localeDir of localeDirs) { result.push({ diff --git a/yarn.lock b/yarn.lock index 0decaa1a..7f8827bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -977,24 +977,24 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@intlify/message-compiler@^9.0.0-rc.5": - version "9.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.0.0-rc.5.tgz#823d59dda2a48d32015ac5f4c5cf20fb4b3ed897" - integrity sha512-TnWea88H3pTqYXNNXV7eZk62IVGXzS7dtoTpTdRj4mfJclyU+3neIqkcoeJC7WM8yeT9VWFkIdx882dWpoghPw== +"@intlify/message-compiler@^9.1.6": + version "9.1.6" + resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.1.6.tgz#e3e99165c1e6ecc496211017799ae59e15b05a18" + integrity sha512-DR8645VOrVK6x/8tkaCpHnckMAIcoOgeNS5j0wB12RfZoXYQp7vAXMaOP511KMll2mXCREgIB0ojpajiof7yzQ== dependencies: - "@intlify/message-resolver" "9.0.0-rc.5" - "@intlify/shared" "9.0.0-rc.5" + "@intlify/message-resolver" "9.1.6" + "@intlify/shared" "9.1.6" source-map "0.6.1" -"@intlify/message-resolver@9.0.0-rc.5", "@intlify/message-resolver@^9.0.0-rc.5": - version "9.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@intlify/message-resolver/-/message-resolver-9.0.0-rc.5.tgz#144f61a09ff32a9451c37b8e92e806ed3efaf947" - integrity sha512-cZT9kWy6TBB71zb17e5juCTuSNz2/RUf8PeqGYnGP+f/mrPG0X6D3KFqpY3tkWgYwSGcwswd8oBMEvmb0eTMTw== +"@intlify/message-resolver@9.1.6", "@intlify/message-resolver@^9.1.6": + version "9.1.6" + resolved "https://registry.yarnpkg.com/@intlify/message-resolver/-/message-resolver-9.1.6.tgz#d7493c9f326d5feb0cd8538a6735b648a91d8f2f" + integrity sha512-UUnbawQa5U9sffd5wRIscqtyY1xWlwJbyfwCLPEWLvBhyAnCwPYlvaHGnnO0CSi0fzJTVwlV9DYzobh3agDeMA== -"@intlify/shared@9.0.0-rc.5": - version "9.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.0.0-rc.5.tgz#8ed9ea92e73b3856031724dc4a11fcbf7f1f7a7c" - integrity sha512-LGurIHW/TYo07WrbCWXBuZQ3Hg2CHAv5rXLFpxBfHjZawCTrrORQfD4NA+RPVbaWFgzMgw5VJybpJRd9iB1x6g== +"@intlify/shared@9.1.6": + version "9.1.6" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.1.6.tgz#d03c9301898d6ddffe2a54c03e7664174fbcdfd9" + integrity sha512-6MtsKulyfZxdD7OuxjaODjj8QWoHCnLFAk4wkWiHqBCa6UCTC0qXjtEeZ1MxpQihvFmmJZauBUu25EvtngW5qQ== "@istanbuljs/load-nyc-config@^1.0.0": version "1.0.0" @@ -10496,10 +10496,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" - integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== +typescript@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805" + integrity sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6"