diff --git a/curriculum/gulpfile.js b/curriculum/gulpfile.js index dd508a8e5c..d5a6161183 100644 --- a/curriculum/gulpfile.js +++ b/curriculum/gulpfile.js @@ -5,7 +5,7 @@ const through2 = require('through2'); const { locale } = require('../config/env.json'); const { getChallengesForLang } = require('./getChallenges'); const { testedLangs } = require('./utils'); -const lintMarkdown = require('../tools/lint/lint'); +const lintMarkdown = require('../tools/scripts/lint'); /** * Tasks diff --git a/package.json b/package.json index ac3d5b6a1d..32839fb076 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "eslint --fix", "git add" ], - "*.md": "node ./tools/lint/lint.js", + "*.md": "node ./tools/scripts/lint/index.js", "*.css": [ "prettier --write", "git add" diff --git a/tools/lint-guide/.guidelintrc.js b/tools/lint-guide/.guidelintrc.js deleted file mode 100644 index 71f06eaa35..0000000000 --- a/tools/lint-guide/.guidelintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -// JS rather than JSON so comments can be included - -module.exports = { - "default": false, // the guide has a more permissive set of rules - "MD031": false, // code fences do not need surrounding by newlines - // unlike the curriculum, they are not embedded in html. - "MD040": true, // code fence languages should be specificed - "prism-langs": true, // code fence languages should be supported by PrismJS -} diff --git a/tools/lint-guide/gulpfile.js b/tools/lint-guide/gulpfile.js deleted file mode 100644 index c80b1f95ef..0000000000 --- a/tools/lint-guide/gulpfile.js +++ /dev/null @@ -1,27 +0,0 @@ -const gulp = require('gulp'); -const through2 = require('through2'); - -const { testedLangs } = require('../../curriculum/utils'); -const lintMarkdown = require('./lint-guide'); - -/** - * Tasks - **/ - -function lint() { - return gulp.src(globLangs(testedLangs()), { read: false }).pipe( - through2.obj(function obj(file, enc, next) { - lintMarkdown(file, next); - }) - ); -} - -/** - * Helper functions - **/ - -function globLangs(langs) { - return langs.map(lang => `../../guide/${lang}/**/*.md`); -} - -gulp.task('lint', lint); diff --git a/tools/lint-guide/lint-guide.js b/tools/lint-guide/lint-guide.js deleted file mode 100644 index 87a5692d20..0000000000 --- a/tools/lint-guide/lint-guide.js +++ /dev/null @@ -1,12 +0,0 @@ -const lintRules = require('./.guidelintrc'); -const linter = require('../linter'); -const argv = require('yargs').argv; - -const isMDRE = /.*\.md$/; - -const lint = linter(lintRules); - -const files = argv._.filter(arg => isMDRE.test(arg)); -files.forEach(path => lint({ path: path })); - -module.exports = lint; diff --git a/tools/lint/.markdownlintrc.js b/tools/scripts/lint/.markdownlintrc.js similarity index 100% rename from tools/lint/.markdownlintrc.js rename to tools/scripts/lint/.markdownlintrc.js diff --git a/tools/lint/fixtures/badFencing.md b/tools/scripts/lint/fixtures/badFencing.md similarity index 100% rename from tools/lint/fixtures/badFencing.md rename to tools/scripts/lint/fixtures/badFencing.md diff --git a/tools/lint/fixtures/badYML.md b/tools/scripts/lint/fixtures/badYML.md similarity index 100% rename from tools/lint/fixtures/badYML.md rename to tools/scripts/lint/fixtures/badYML.md diff --git a/tools/lint/fixtures/good.md b/tools/scripts/lint/fixtures/good.md similarity index 100% rename from tools/lint/fixtures/good.md rename to tools/scripts/lint/fixtures/good.md diff --git a/tools/lint/lint.js b/tools/scripts/lint/index.js similarity index 87% rename from tools/lint/lint.js rename to tools/scripts/lint/index.js index 994af346d9..f6bbe6fc85 100644 --- a/tools/lint/lint.js +++ b/tools/scripts/lint/index.js @@ -1,5 +1,5 @@ const lintRules = require('./.markdownlintrc'); -const linter = require('../linter'); +const linter = require('./linter'); const argv = require('yargs').argv; const isMDRE = /.*\.md$/; diff --git a/tools/lint/lint.test.js b/tools/scripts/lint/index.test.js similarity index 98% rename from tools/lint/lint.test.js rename to tools/scripts/lint/index.test.js index b29032d87c..fa06f3fbd9 100644 --- a/tools/lint/lint.test.js +++ b/tools/scripts/lint/index.test.js @@ -1,7 +1,7 @@ /* global describe it expect jest beforeEach */ const path = require('path'); -const lint = require('./lint'); +const lint = require('.'); describe('markdown linter', () => { let good = { path: path.join(__dirname, './fixtures/good.md') }; diff --git a/tools/linter/index.js b/tools/scripts/lint/linter/index.js similarity index 100% rename from tools/linter/index.js rename to tools/scripts/lint/linter/index.js diff --git a/tools/linter/markdown-prism.js b/tools/scripts/lint/linter/markdown-prism.js similarity index 100% rename from tools/linter/markdown-prism.js rename to tools/scripts/lint/linter/markdown-prism.js diff --git a/tools/linter/markdown-yaml.js b/tools/scripts/lint/linter/markdown-yaml.js similarity index 100% rename from tools/linter/markdown-yaml.js rename to tools/scripts/lint/linter/markdown-yaml.js diff --git a/tools/scripts/tests-pass.js b/tools/scripts/tests-pass.js deleted file mode 100644 index 114c1ebd62..0000000000 --- a/tools/scripts/tests-pass.js +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable */ -console.log(` - ,@@@@@@@@@@,,@@@@@@@% .#&@@@&&.,@@@@@@@@@@, .#&@@@&&. %@@@@@@%* ,@@@% .#&@@@&&. *&@@@@&( ,@@@@@@@% %@@@@@, ,@@, - ,@@, ,@@, ,@@/ ./. ,@@, ,@@/ ./. %@% ,&@# .&@&@@( .@@/ ./. #@&. .,/ ,@@, %@% *&@&. ,@@, - ,@@, ,@@&%%%%. .&@@/, ,@@, .&@@/, %@% ,&@# %@& /@@, .&@@/, (@@&%(*. ,@@&%%%%. %@% &@# ,@@, - ,@@, ,@@/,,,, ./#&@@@( ,@@, ./#&@@@( %@@@@@@%* /@@, #@&. ./#&@@@( *(%&@@&. ,@@/,,,, %@% &@# .&&. - ,@@, ,@@, ./, .&@# ,@@, ./, .&@# %@% ,@@@@@@@@@% ./. .&@# /*. /@@. ,@@, %@% *&@&. ,, - ,@@, ,@@@@@@@% .#&@@@@&/ ,@@, .#&@@@@&/ %@% .&@# ,@@/.#&@@@@&/ /%&@@@@. ,@@@@@@@% %@@@@@. ,@@, -,*************,,*/(((((//,,*(#%%%%%%%%%%%%%%%#(*,,,****************************************************,*/(((((((((/((((////****/((##%%%%%% -,*************,,//((((((//,,*(%%%%%%%%%%%%%%%%%##/*****************************************************,,*/(///(//////****//((##%%%%%%%%%%% -,************,,*/(((((((//***/#%%%%%%%%%%%%%%%%%%%#(/***************************************************,*//////////*//((#%%%%%%%%%%%%%%%%% -,***********,,*////////////***/##%%%%%%%%%%%%%%%%%%%##(*,***********************************************,,*////////(###%%%%%%%%%%%%%%%%%%%% -,**********,,,*/*******//////**/(#%%%%%%%%%%%%%%%%%%%%%#(/**********************************************,,,***/(##%%%%%%%%%%%%%%%%%%%%%%%%% -,*********,,,,*************///***/(#%%%%%%%%%%%%%%%%%%%%%%#(/***********************************,****,****/((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%# -,*********,,,***************//****/(##%%%%%%%%%%%%%%%%%%%%%%##//**************//////////////////////((#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#( -,********,,,,***********************/(#%%%%%%%%%%%%%%%%%%%%%%%##################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(/ -,*******,..,***********************,,*/##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###((// -,*******,.,,***********************,,,,*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(//**// -,******,.,,,************************,,,,*/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(//******* -,*****,,,,,********,***,,,,,,,,,,,,*,,,,,,*/(######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(/********** -,*****,..,*******,,,,,,,,,,,,,,,,,,,,,,*,,,,*///((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###(/************ -,*****,,,*******,,,,,*,,,,,,,,,,,,,,,,,****,,,*/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######(//************** -,****,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,**,,,/(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#((//****************** -,***,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/******************* -,**,,.,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%%%%%%#(/****************** -,**,..,,,,,,,,,,,,,,,,,,,,,,,,,......,,,*,,,*(#%%%%%%%%##(((/(##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(((/*/((#%%%%%%%%%%%%%%#(/***************** -,*,..,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,**,,*/#%%%%%%%##((((*,**/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%##((##/,,,*(#%%%%%%%%%%%%%%#(***************** -.*,.,,,**,,,,,,,,,,,,,,,,,,,,,,,,,,*****,,,/(%%%%%%%%#(//(#/,..*/#%%%%%%%%%%%%%%%%%%%%%%%%%%%#(//(#/,..,/(#%%%%%%%%%%%%%%#/*****/////////// -.,..,,,,,,,,,,,,,,,,,,,,,,,,,,*,,*******,,,(#%%%%%%%%#(*,,,....,/#%%%%%%%%%%%%%%%%%%%%%%%%%%%#(*,,,....,/(#%%%%%%%%%%%%%%#(*,**//////////// -.,..,,,,,,,,,...........,,,,,,*,********,,*(#%%%%%%%%%#(/*,,...,/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/*,,..,*/##%%%%%%%%%%%%%%%#(***//////////// -...,,,,,,,................,,*,**********,,/#%%%%%%%%%%%%#((////((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##((///(#%%%%%%%%%%%%%%%%%%(/**//////////// - ..,,,,,,.................,,,**********,,*(#%%%%%%%%%%%%%%%%%%#%%%%%%%%#((///((#%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%#/**//////////// -.,,,,,,,,.................,,***********,,/(####%%%%%%%%%%%%%%%%%%%%%%%%#(/*,,,*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/*//////////// -.,***,,,,,,..............,,,**********,..,***//((##%%%%%%%%%%%%%%%%%%%%%%%##((##%%%%%%%%%%%%%%%%%%%%%%%%%##(((((((((###%%%%%#/**/////////// -.*****,,,,,,,,,,,,,,,,,,,*************,..,*******/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##///*//////((#%%%%%#(**/////////// -.****************/******/***////*****,.,*///////**/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(////////////(#%%%%%#/**////////// -.***********************/////*******,..,*//////////(#%%%%%%%%%%%%%%%%%%%%##########%%%%%%%%%%%%%%%%%%%%#(///////////*/(#%%%%%#(***///////// -.************************///********,..,*//////////#%%%%%%%%%%%%%%%%%%#(//*****///(((##%%%%%%%%%%%%%%%%#(///////////**/##%%%%##/***//////// -.***********************************,.,,***///////(#%%%%%%%%%%%%%%%%#(/*,,,*//((((////(#%%%%%%%%%%%%%%%#((////////////(#%%%%%%#(*********// -,***********,,,*,,*,,**************,,,*//******//(#%%%%%%%%%%%%%%%%%#(*,,*/(((#####(((((#%%%%%%%%%%%%%%%##///////////(#%%%%%%%%#(***/////// -,*************,,**,,,************,,,,,/(##((((####%%%%%%%%%%%%%%%%%%%(/**/(((#((((#((//(#%%%%%%%%%%%%%%%%%#(((((((((##%%%%%%%%%%#/**/////// -,******************************,,,,,,,*(#%#%%%%%%%%%%%%%%%%%%%%%%%%%%#(**/((#(#(((#((//(#%%%%%%%%%%%%%%%%%%%%%%%#%#%%%%%%%%%%%%%#(**/////// -,*************,**************,****,,,,,/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/*/((((#((((///(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(/*/////// -,*************************************,*/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(////////////(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#/**/////* -,******////****///////////////////////***/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####(((((((###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(******** -.,*,****///////////////////////////////***/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/******* -.,,,,*****//////////////////////////*******(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(******* -.,,,,,,***********/////////////////********/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(******* -`);