@shopify/shop-minis-react
Version:
React component library for Shopify Shop Minis with Tailwind CSS v4 support (source-only, requires TypeScript)
45 lines (40 loc) • 1.12 kB
JavaScript
/**
* ESLint rule to disallow JavaScript files in Shop Minis projects
* @fileoverview Require TypeScript files (.ts/.tsx) instead of JavaScript (.js/.jsx)
*/
module.exports = {
meta: {
type: 'problem',
docs: {
description: 'Disallow JavaScript files - use TypeScript instead',
category: 'Best Practices',
recommended: true,
},
messages: {
noJavaScriptFiles:
'JavaScript files (.js/.jsx) are not allowed in Shop Minis projects. Please rename this file to use TypeScript (.ts/.tsx) instead.',
},
schema: [],
},
create(context) {
const filename = context.filename || context.getFilename()
// Skip config files in the root directory
if (
filename.endsWith('eslint.config.js') ||
filename.endsWith('vite.config.js') ||
filename.endsWith('tailwind.config.js')
) {
return {}
}
return {
Program(node) {
if (filename.endsWith('.js') || filename.endsWith('.jsx')) {
context.report({
node,
messageId: 'noJavaScriptFiles',
})
}
},
}
},
}