mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-09 16:21:51 +00:00
- switches to ES modules in gulp and src - uses dengr's webpack configs and package.json, with modifications - removes gulp/package.json - removes babel stuff - removes gulp-load-plugins, instead importing gulp plugins manually - removes unused and trivial packages - upgrades packages - uses path/posix, for gulp - removes __dirname in favor of relative urls
39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
import path from "path/posix";
|
|
import fs from "fs";
|
|
|
|
import gulpRename from "gulp-rename";
|
|
import stripJsonComments from "strip-json-comments";
|
|
|
|
export default function gulptasksDocs(gulp, buildFolder) {
|
|
gulp.task("docs.convertJsToTs", () => {
|
|
return gulp
|
|
.src(path.join("..", "src", "js", "**", "*.js"))
|
|
.pipe(
|
|
gulpRename(path => {
|
|
path.extname = ".ts";
|
|
})
|
|
)
|
|
.pipe(gulp.dest(path.join("..", "tsc_temp")));
|
|
});
|
|
|
|
gulp.task("docs.copyTsconfigForHints", cb => {
|
|
const src = fs.readFileSync(path.join("..", "src", "js", "tsconfig.json")).toString();
|
|
const baseConfig = JSON.parse(stripJsonComments(src));
|
|
|
|
baseConfig.allowJs = false;
|
|
baseConfig.checkJs = false;
|
|
baseConfig.declaration = true;
|
|
baseConfig.noEmit = false;
|
|
baseConfig.strict = false;
|
|
baseConfig.strictFunctionTypes = false;
|
|
baseConfig.strictBindCallApply = false;
|
|
baseConfig.alwaysStrict = false;
|
|
baseConfig.composite = true;
|
|
baseConfig.outFile = "bundled-ts.js";
|
|
fs.writeFileSync(path.join("..", "tsc_temp", "tsconfig.json"), JSON.stringify(baseConfig));
|
|
cb();
|
|
});
|
|
|
|
gulp.task("main.prepareDocs", gulp.series("docs.convertJsToTs", "docs.copyTsconfigForHints"));
|
|
}
|