Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eslint-plugin-smarthr

Package Overview
Dependencies
Maintainers
20
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-smarthr - npm Package Compare versions

Comparing version 0.2.4 to 0.2.5

8

CHANGELOG.md

@@ -5,2 +5,10 @@ # Changelog

### [0.2.5](https://github.com/kufu/eslint-plugin-smarthr/compare/v0.2.4...v0.2.5) (2022-09-08)
### Bug Fixes
* require-import, prohibit-import: report message の一部でテンプレート文字列がそのまま出力されてしまう事があるバグを修正 ([#29](https://github.com/kufu/eslint-plugin-smarthr/issues/29)) ([b805f90](https://github.com/kufu/eslint-plugin-smarthr/commit/b805f90cd39b1aa4b95cbfbd983c5ff1c61f8afe))
* 画像系コンポーネントが代替テキスト属性を持つかチェックする際にエラーになるパターンを修正 ([#30](https://github.com/kufu/eslint-plugin-smarthr/issues/30)) ([bcd1044](https://github.com/kufu/eslint-plugin-smarthr/commit/bcd1044d7532531015a279520ed8eda582227492))
### [0.2.4](https://github.com/kufu/eslint-plugin-smarthr/compare/v0.2.3...v0.2.4) (2022-08-30)

@@ -7,0 +15,0 @@

2

package.json
{
"name": "eslint-plugin-smarthr",
"version": "0.2.4",
"version": "0.2.5",
"author": "SmartHR",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -39,14 +39,31 @@ const { generateTagFormatter } = require('../../libs/format_styled_components')

const recursiveSearch = (c) => (
['JSXText', 'JSXExpressionContainer'].includes(c.type) ||
(
c.type === 'JSXElement' && (
// HINT: SmartHRLogo コンポーネントは内部でaltを持っているため対象外にする
c.openingElement.name.name.match(/SmartHRLogo$/) ||
c.openingElement.attributes.some((a) => (['visuallyHiddenText', 'alt'].includes(a.name.name) && !!a.value.value)) ||
(c.children && filterFalsyJSXText(c.children).some(recursiveSearch))
)
)
)
const recursiveSearch = (c) => {
if (['JSXText', 'JSXExpressionContainer'].includes(c.type)) {
return true
}
if (c.type === 'JSXElement') {
// // HINT: SmartHRLogo コンポーネントは内部でaltを持っているため対象外にする
if (c.openingElement.name.name.match(/SmartHRLogo$/)) {
return true
}
if (c.openingElement.attributes.some((a) => {
if (!['visuallyHiddenText', 'alt'].includes(a.name.name)) {
return false
}
return (!!a.value.value || a.value.type === 'JSXExpressionContainer')
})) {
return true
}
if (c.children && filterFalsyJSXText(c.children).some(recursiveSearch)) {
return true
}
}
return false
}
const child = filterFalsyJSXText(parentNode.children).find(recursiveSearch)

@@ -53,0 +70,0 @@

@@ -24,3 +24,3 @@ const { generateTagFormatter } = require('../../libs/format_styled_components')

if ((node.name.name || '').match(/(img|image)$/i)) { // HINT: Iconは別途テキストが存在する場合が多いためチェックの対象外とする
const alt = node.attributes.find((a) => a.name.name === 'alt')
const alt = node.attributes.find((a) => a.name?.name === 'alt')

@@ -27,0 +27,0 @@ let message = ''

@@ -10,3 +10,3 @@ # smarthr/format-import-path

- tsconfig.json の compilerOptions.pathsに '@/*' としてroot path を指定する必要があります
- tsconfig.json の compilerOptions.pathsに '@/*', もしくは '~/*' としてroot path を指定する必要があります
- ドメインを識別するために以下の設定を記述する必要があります

@@ -13,0 +13,0 @@ - globalModuleDir

@@ -9,3 +9,3 @@ # smarthr/no-import-other-domain

- tsconfig.json の compilerOptions.pathsに '@/*' としてroot path を指定する必要があります
- tsconfig.json の compilerOptions.pathsに '@/*', もしくは '~/*' としてroot path を指定する必要があります
- ドメインを識別するために以下の設定を記述する必要があります

@@ -12,0 +12,0 @@ - globalModuleDir

@@ -93,3 +93,3 @@ const path = require('path')

data: {
message: reportMessage ? reportMessage.replace('{{module}}', node.source.value).replace('{{export}}', useImported) : defaultReportMessage(node.source.value, useImported)
message: reportMessage ? reportMessage.replaceAll('{{module}}', node.source.value).replaceAll('{{export}}', useImported) : defaultReportMessage(node.source.value, useImported)
},

@@ -96,0 +96,0 @@ });

@@ -409,3 +409,3 @@ const path = require('path')

if (!rootPath) {
throw new Error('tsconfig.json の compilerOptions.paths に `"@/*": ["any_path/*"]` 形式でフロントエンドのroot dir を指定してください')
throw new Error('tsconfig.json の compilerOptions.paths に `@/*`、もしくは `~/*` 形式でフロントエンドのroot dir を指定してください(例: `"@/*": ["./any_path/*"]`)')
}

@@ -412,0 +412,0 @@

@@ -8,3 +8,3 @@ # smarthr/redundant-name

- tsconfig.json の compilerOptions.pathsに '@/*' としてroot path を指定する必要があります
- tsconfig.json の compilerOptions.pathsに '@/*', もしくは '~/*' としてroot path を指定する必要があります
- 以下の設定を行えます。全て省略可能です。

@@ -11,0 +11,0 @@ - ignoreKeywords

# smarthr/require-barrel-import
- tsconfig.json の compilerOptions.pathsに '@/*' としてroot path を指定する必要があります
- tsconfig.json の compilerOptions.pathsに '@/*', もしくは '~/*' としてroot path を指定する必要があります
- importした対象が本来exportされているべきであるbarrel(index.tsなど)が有る場合、import pathの変更を促します

@@ -5,0 +5,0 @@ - 例: Page/parts/Menu/Item の import は Page/parts/Menu から行わせたい

@@ -86,3 +86,3 @@ const path = require('path')

data: {
message: reportMessage ? reportMessage.replace('{{module}}', actualTarget).replace('{{export}}', item) : defaultReportMessage(actualTarget, item)
message: reportMessage ? reportMessage.replaceAll('{{module}}', actualTarget).replaceAll('{{export}}', item) : defaultReportMessage(actualTarget, item)
},

@@ -89,0 +89,0 @@ })

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