refactor: organise TypeScript config and migrate helpers (#44747)
* feat: allow more 1000 steps to be created at once * refactor: start migrating to typescript * refactor: delete-step to ts * refactor: migrated some helpers * refactor: migrate create-empty-steps * refactor: migrate create-step-between * refactor: finish migrating to TS * refactor: migrate tests * fix: ensure mock.restore is done after each test * fix: prevent double-tscing * fix: repair the tests * chore: use ts-node for scripts We don't need the performance boost of incremental compilation and ts-node is easier to work with * refactor: consolidate tsconfigs * refactor: replace gulp * fix: use ts-node for build-curriculum * fix: allow ts compilation of config * feat: create and use create:config script * fix: add /config to eslint projects * fix: remove gulp script
This commit is contained in:
committed by
GitHub
parent
82ca6d8441
commit
7216ca55cc
@@ -1,27 +0,0 @@
|
||||
const gulp = require('gulp');
|
||||
const through2 = require('through2');
|
||||
|
||||
const lintMarkdown = require('../tools/scripts/lint');
|
||||
const { testedLang } = require('./utils');
|
||||
|
||||
/**
|
||||
* Tasks
|
||||
**/
|
||||
|
||||
function lint() {
|
||||
return gulp.src(globLang(testedLang()), { read: false }).pipe(
|
||||
through2.obj(function obj(file, enc, next) {
|
||||
lintMarkdown(file, next);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper functions
|
||||
**/
|
||||
|
||||
function globLang(lang) {
|
||||
return `./challenges/${lang}/**/*.md`;
|
||||
}
|
||||
|
||||
gulp.task('lint', lint);
|
8
curriculum/lint-localized.js
Normal file
8
curriculum/lint-localized.js
Normal file
@@ -0,0 +1,8 @@
|
||||
var glob = require('glob');
|
||||
const lint = require('../tools/scripts/lint');
|
||||
const { testedLang } = require('./utils');
|
||||
|
||||
glob(`challenges/${testedLang()}/**/*.md`, (err, files) => {
|
||||
if (!files.length) throw Error('No files found');
|
||||
files.forEach(file => lint({ path: file }));
|
||||
});
|
@@ -18,13 +18,13 @@
|
||||
"homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme",
|
||||
"author": "freeCodeCamp <team@freecodecamp.org>",
|
||||
"scripts": {
|
||||
"build": "node ../tools/scripts/build/build-curriculum.js",
|
||||
"create-empty-steps": "cross-env CALLING_DIR=$INIT_CWD node ../tools/challenge-helper-scripts/create-empty-steps",
|
||||
"create-next-step": "cross-env CALLING_DIR=$INIT_CWD node ../tools/challenge-helper-scripts/create-next-step",
|
||||
"create-step-between": "cross-env CALLING_DIR=$INIT_CWD node ../tools/challenge-helper-scripts/create-step-between",
|
||||
"delete-step": "cross-env CALLING_DIR=$INIT_CWD node ../tools/challenge-helper-scripts/delete-step",
|
||||
"lint": "gulp lint",
|
||||
"reorder-steps": "cross-env CALLING_DIR=$INIT_CWD node ../tools/challenge-helper-scripts/reorder-steps",
|
||||
"build": "ts-node --project ../tsconfig.json ../tools/scripts/build/build-curriculum",
|
||||
"create-empty-steps": "cross-env CALLING_DIR=$INIT_CWD ts-node --project ../tsconfig.json ../tools/challenge-helper-scripts/create-empty-steps",
|
||||
"create-next-step": "cross-env CALLING_DIR=$INIT_CWD ts-node --project ../tsconfig.json ../tools/challenge-helper-scripts/create-next-step",
|
||||
"create-step-between": "cross-env CALLING_DIR=$INIT_CWD ts-node --project ../tsconfig.json ../tools/challenge-helper-scripts/create-step-between",
|
||||
"delete-step": "cross-env CALLING_DIR=$INIT_CWD ts-node --project ../tsconfig.json ../tools/challenge-helper-scripts/delete-step",
|
||||
"lint": "ts-node --project ../tsconfig.json lint-localized",
|
||||
"reorder-steps": "cross-env CALLING_DIR=$INIT_CWD ts-node --project ../tsconfig.json ../tools/challenge-helper-scripts/reorder-steps",
|
||||
"test": "mocha --delay --exit --reporter progress --bail",
|
||||
"test:full-output": "cross-env FULL_OUTPUT=true mocha --delay --reporter progress"
|
||||
},
|
||||
@@ -45,7 +45,6 @@
|
||||
"chai": "4.3.4",
|
||||
"cross-env": "7.0.3",
|
||||
"css": "3.0.0",
|
||||
"gulp": "4.0.2",
|
||||
"invariant": "2.2.4",
|
||||
"joi": "17.5.0",
|
||||
"joi-objectid": "3.0.1",
|
||||
|
Reference in New Issue
Block a user