Skip to content

Commit

Permalink
fix: ignore config, minor refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
joelcox22 committed Mar 9, 2024
1 parent 1d1d514 commit 36be21c
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 25 deletions.
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"davidanson.vscode-markdownlint"
"davidanson.vscode-markdownlint",
"editorconfig.editorconfig"
]
}
3 changes: 3 additions & 0 deletions packages/eslint-config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import markdown from 'eslint-plugin-markdown';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';

const config = [
{
ignores: ['**/node_modules/', '**/.git/', '**/.parcel-cache/', '**/.vscode-test-web/', 'dist/', 'lib/'],
},
js.configs.recommended,
{
files: ['**/*.json'],
Expand Down
1 change: 1 addition & 0 deletions packages/lint/config/eslint.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export default function configure() {
if (packageJson.name === '@joelbot/lint') {
debug("looks like you're working on @joelbot/lint repo, doing some custom stuff to make dev work on the lint package easy");
} else {
debug('updating eslint configuration files');
packageJson.devDependencies = packageJson.devDependencies || {};
packageJson.devDependencies['@joelbot/eslint-config'] = '^1.0.0';
if (packageJson.eslintConfig) {
Expand Down
23 changes: 23 additions & 0 deletions packages/lint/config/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import eslint from './eslint.js';
import prettier from './prettier.js';
import vscode from './vscode.js';
import editorconfig from './editorconfig.js';
import markdown from './markdown.js';
import semanticRelease from './semantic-release.js';
import * as util from '../util.js';

const debug = util.debug('configure');

export default function configure() {
Object.entries({
eslint,
prettier,
vscode,
editorconfig,
markdown,
semanticRelease,
}).forEach(([name, applyConfig]) => {
debug(`applying config changes for ${name}`);
applyConfig();
});
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as glob from 'glob';
import * as util from '../util.js';

const debug = util.debug('linter-semanitc-release');
const debug = util.debug('configure-semanitc-release');

function applySemanticReleaseConfig(file = 'package.json') {
debug('applying semantic-release configuration to', file);
Expand Down Expand Up @@ -45,7 +45,7 @@ function applySemanticReleaseConfig(file = 'package.json') {
util.writeJson(file, packageJson);
}

export default function lint(fix) {
export default function configure(fix) {
if (!fix) return;
applySemanticReleaseConfig();
}
28 changes: 6 additions & 22 deletions packages/lint/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
#!/usr/bin/env node

import confiugreEslint from './config/eslint.js';
import configurePrettier from './config/prettier.js';
import configureVscode from './config/vscode.js';
import configureEditorconfig from './config/editorconfig.js';
import configureMarkdownlint from './config/markdown.js';
import eslint from './linters/eslint.js';
import markdown from './linters/markdown.js';
import semanticRelase from './linters/semantic-release.js';
import configure from './config/index.js';
import lint from './linters/index.js';
import * as util from './util.js';

const debug = util.debug();
Expand All @@ -31,19 +24,10 @@ if (fix && process.argv.includes('--no-fix')) {

debug('lint config:', { fix, updateConfig });

if (fix) {
confiugreEslint();
configurePrettier();
configureVscode();
configureEditorconfig();
configureMarkdownlint();
if (updateConfig) {
configure();
}

let failed = false;
failed |= eslint(fix);
failed |= markdown(fix);
failed |= semanticRelase(fix);
const returnStatus = lint(fix);

if (failed) {
process.exit(1);
}
process.exit(returnStatus);
15 changes: 15 additions & 0 deletions packages/lint/linters/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import eslint from './eslint.js';
import markdown from './markdown.js';
import * as util from '../util.js';

const debug = util.debug('linters');

export default function runLinters(fix) {
Object.entries({
eslint,
markdown,
}).forEach(([name, lint]) => {
debug(`running linter ${name}`);
lint(fix);
});
}

0 comments on commit 36be21c

Please sign in to comment.