New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@intlify/eslint-plugin-vue-i18n

Package Overview
Dependencies
Maintainers
2
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@intlify/eslint-plugin-vue-i18n - npm Package Compare versions

Comparing version 3.0.0-next.10 to 3.0.0-next.11

dist/rules/no-deprecated-modulo-syntax.js

2

dist/index.js

@@ -13,2 +13,3 @@ "use strict";

const no_deprecated_i18n_places_prop_1 = __importDefault(require("./rules/no-deprecated-i18n-places-prop"));
const no_deprecated_modulo_syntax_1 = __importDefault(require("./rules/no-deprecated-modulo-syntax"));
const no_duplicate_keys_in_locale_1 = __importDefault(require("./rules/no-duplicate-keys-in-locale"));

@@ -40,2 +41,3 @@ const no_dynamic_keys_1 = __importDefault(require("./rules/no-dynamic-keys"));

'no-deprecated-i18n-places-prop': no_deprecated_i18n_places_prop_1.default,
'no-deprecated-modulo-syntax': no_deprecated_modulo_syntax_1.default,
'no-duplicate-keys-in-locale': no_duplicate_keys_in_locale_1.default,

@@ -42,0 +44,0 @@ 'no-dynamic-keys': no_dynamic_keys_1.default,

75

dist/rules/prefer-linked-key-with-paren.js

@@ -5,5 +5,6 @@ "use strict";

};
const path_1 = require("path");
const node_path_1 = require("node:path");
const debug_1 = __importDefault(require("debug"));
const rule_1 = require("../utils/rule");
const index_1 = require("../utils/index");
const debug_1 = __importDefault(require("debug"));
const utils_1 = require("../utils/message-compiler/utils");

@@ -13,3 +14,2 @@ const parser_1 = require("../utils/message-compiler/parser");

const traverser_1 = require("../utils/message-compiler/traverser");
const rule_1 = require("../utils/rule");
const compat_1 = require("../utils/compat");

@@ -118,64 +118,5 @@ const debug = (0, debug_1.default)('eslint-plugin-vue-i18n:prefer-linked-key-with-paren');

}
function createVisitorForJson() {
function verifyExpression(node) {
if (node.type !== 'JSONLiteral' || typeof node.value !== 'string') {
return;
}
verifyMessage(node.value, node, offset => (0, utils_1.getReportIndex)(node, offset));
}
return {
JSONProperty(node) {
verifyExpression(node.value);
},
JSONArrayExpression(node) {
for (const element of node.elements) {
if (element)
verifyExpression(element);
}
}
};
}
function createVisitorForYaml() {
const yamlKeyNodes = new Set();
function withinKey(node) {
for (const keyNode of yamlKeyNodes) {
if (keyNode.range[0] <= node.range[0] &&
node.range[0] < keyNode.range[1]) {
return true;
}
}
return false;
}
function verifyContent(node) {
const valueNode = node.type === 'YAMLWithMeta' ? node.value : node;
if (!valueNode ||
valueNode.type !== 'YAMLScalar' ||
typeof valueNode.value !== 'string') {
return;
}
verifyMessage(valueNode.value, valueNode, offset => (0, utils_1.getReportIndex)(valueNode, offset));
}
return {
YAMLPair(node) {
if (withinKey(node)) {
return;
}
if (node.key != null) {
yamlKeyNodes.add(node.key);
}
if (node.value)
verifyContent(node.value);
},
YAMLSequence(node) {
if (withinKey(node)) {
return;
}
for (const entry of node.entries) {
if (entry)
verifyContent(entry);
}
}
};
}
if ((0, path_1.extname)(filename) === '.vue') {
const createVisitorForJson = (0, rule_1.defineCreateVisitorForJson)(verifyMessage);
const createVisitorForYaml = (0, rule_1.defineCreateVisitorForYaml)(verifyMessage);
if ((0, node_path_1.extname)(filename) === '.vue') {
return (0, index_1.defineCustomBlocksVisitor)(context, createVisitorForJson, createVisitorForYaml);

@@ -192,6 +133,6 @@ }

if (sourceCode.parserServices.isJSON) {
return createVisitorForJson();
return createVisitorForJson(context);
}
else if (sourceCode.parserServices.isYAML) {
return createVisitorForYaml();
return createVisitorForYaml(context);
}

@@ -198,0 +139,0 @@ return {};

@@ -138,2 +138,5 @@ "use strict";

const namedNode = Object.assign({ type: utils_1.NodeTypes.Named, key: trimmedKeyValue }, ctx.getNodeLoc(endOffset - 1, placeholderEndOffset));
if (key === '%{') {
namedNode.modulo = true;
}
if (!/^[a-zA-Z][a-zA-Z0-9_$]*$/.test(namedNode.key)) {

@@ -140,0 +143,0 @@ errors.push(ctx.createCompileError('Unexpected placeholder key', endOffset));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRule = void 0;
exports.defineCreateVisitorForYaml = exports.defineCreateVisitorForJson = exports.createRule = void 0;
const utils_1 = require("../utils/message-compiler/utils");
function createRule(module) {

@@ -8,1 +9,68 @@ return module;

exports.createRule = createRule;
function defineCreateVisitorForJson(verifyMessage) {
return function () {
function verifyExpression(node) {
if (node.type !== 'JSONLiteral' || typeof node.value !== 'string') {
return;
}
verifyMessage(node.value, node, offset => (0, utils_1.getReportIndex)(node, offset));
}
return {
JSONProperty(node) {
verifyExpression(node.value);
},
JSONArrayExpression(node) {
for (const element of node.elements) {
if (element)
verifyExpression(element);
}
}
};
};
}
exports.defineCreateVisitorForJson = defineCreateVisitorForJson;
function defineCreateVisitorForYaml(verifyMessage) {
return function () {
const yamlKeyNodes = new Set();
function withinKey(node) {
for (const keyNode of yamlKeyNodes) {
if (keyNode.range[0] <= node.range[0] &&
node.range[0] < keyNode.range[1]) {
return true;
}
}
return false;
}
function verifyContent(node) {
const valueNode = node.type === 'YAMLWithMeta' ? node.value : node;
if (!valueNode ||
valueNode.type !== 'YAMLScalar' ||
typeof valueNode.value !== 'string') {
return;
}
verifyMessage(valueNode.value, valueNode, offset => (0, utils_1.getReportIndex)(valueNode, offset));
}
return {
YAMLPair(node) {
if (withinKey(node)) {
return;
}
if (node.key != null) {
yamlKeyNodes.add(node.key);
}
if (node.value)
verifyContent(node.value);
},
YAMLSequence(node) {
if (withinKey(node)) {
return;
}
for (const entry of node.entries) {
if (entry)
verifyContent(entry);
}
}
};
};
}
exports.defineCreateVisitorForYaml = defineCreateVisitorForYaml;
{
"name": "@intlify/eslint-plugin-vue-i18n",
"description": "ESLint plugin for Vue I18n",
"version": "3.0.0-next.10",
"version": "3.0.0-next.11",
"license": "MIT",

@@ -32,3 +32,3 @@ "homepage": "https://github.com/intlify/eslint-plugin-vue-i18n#readme",

},
"packageManager": "pnpm@8.15.6",
"packageManager": "pnpm@8.15.7",
"type": "commonjs",

@@ -41,4 +41,4 @@ "files": [

"@eslint/eslintrc": "^3.0.0",
"@intlify/core-base": "beta",
"@intlify/message-compiler": "beta",
"@intlify/core-base": "^9.12.0",
"@intlify/message-compiler": "^9.12.0",
"debug": "^4.3.4",

@@ -137,3 +137,3 @@ "eslint-compat-utils": "^0.5.0",

"release": "changeset publish",
"test": "mocha --require jiti/register \"./tests/lib/**/*.ts\"",
"test": "mocha --require jiti/register \"./tests/lib/**/*.ts\" --timeout 5000",
"test:debug": "mocha --require jiti/register \"./tests/lib/**/*.ts\"",

@@ -140,0 +140,0 @@ "test:coverage": "nyc mocha --require jiti/register \"./tests/lib/**/*.ts\" --timeout 60000",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc