576f1438ee
- We should not require server or frontend files inside the shared libraries as these are intended to be required FROM the server and frontend components - Now that we've resolved the two outstanding warnings, make this an error so we can't regress on this easily
73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
const path = require('path');
|
|
|
|
module.exports = {
|
|
env: {
|
|
es6: true,
|
|
node: true
|
|
},
|
|
plugins: ['ghost'],
|
|
extends: [
|
|
'plugin:ghost/node'
|
|
],
|
|
rules: {
|
|
// @TODO: remove this rule once it's turned into "error" in the base plugin
|
|
'no-shadow': 'error',
|
|
'no-var': 'error',
|
|
'one-var': [2, 'never']
|
|
},
|
|
overrides: [
|
|
{
|
|
files: '**/index.js',
|
|
rules: {
|
|
'max-lines': ['warn', {skipBlankLines: true, skipComments: true, max: 50}]
|
|
}
|
|
},
|
|
{
|
|
files: 'core/server/api/canary/*',
|
|
rules: {
|
|
'ghost/ghost-custom/max-api-complexity': 'warn'
|
|
}
|
|
},
|
|
{
|
|
files: 'core/shared/**',
|
|
rules: {
|
|
'ghost/node/no-restricted-require': ['error', [
|
|
{
|
|
name: path.resolve(__dirname, 'core/server/**'),
|
|
message: 'Invalid require of core/server from core/shared.'
|
|
},
|
|
{
|
|
name: path.resolve(__dirname, 'core/server/**'),
|
|
message: 'Invalid require of core/frontend from core/shared.'
|
|
}
|
|
]]
|
|
}
|
|
},
|
|
/**
|
|
* @TODO: enable these soon
|
|
*/
|
|
{
|
|
files: 'core/frontend/**',
|
|
rules: {
|
|
'ghost/node/no-restricted-require': ['off', [
|
|
{
|
|
name: path.resolve(__dirname, 'core/server/**'),
|
|
message: 'Invalid require of core/server from core/frontend.'
|
|
}
|
|
]]
|
|
}
|
|
},
|
|
{
|
|
files: 'core/server/**',
|
|
rules: {
|
|
'ghost/node/no-restricted-require': ['off', [
|
|
{
|
|
name: path.resolve(__dirname, 'core/frontend/**'),
|
|
message: 'Invalid require of core/frontend from core/server.'
|
|
}
|
|
]]
|
|
}
|
|
}
|
|
]
|
|
};
|