1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- const path = require("path");
- const fs = require("fs-extra");
- const config = require("./config.json");
- const configFolder = __dirname;
- const rootFolder = path.resolve(configFolder, "../../");
- const tempFolder = path.resolve(rootFolder, config.build.tempDirectory);
- const outputFolder = path.resolve(configFolder, config.build.outputDirectory);
- const localDevES6Folder = path.join(tempFolder, config.build.localDevES6FolderName);
- const localDevUMDFolder = path.join(tempFolder, config.build.localDevUMDFolderName);
- const sourceES6Folder = path.join(tempFolder, config.build.sourceES6FolderName);
- const distES6Folder = path.join(tempFolder, config.build.distES6FolderName);
- const packageES6Folder = path.join(tempFolder, config.build.packageES6FolderName);
- config.computed = {
- rootFolder,
- tempFolder,
- outputFolder,
- localDevES6Folder,
- localDevUMDFolder,
- sourceES6Folder,
- distES6Folder,
- packageES6Folder
- }
- config.modules.map(function(module) {
- const settings = config[module];
- const mainDirectory = path.resolve(rootFolder, settings.build.mainFolder);
- const distFolder = (settings.build.distOutputDirectory !== undefined) ? settings.build.distOutputDirectory : module;
- const distDirectory = path.join(outputFolder, distFolder);
- const localDevES6Directory = path.join(localDevES6Folder, module);
- const localDevUMDDirectory = path.join(localDevUMDFolder, distFolder);
- const sourceES6Directory = path.join(sourceES6Folder, module);
- const distES6Directory = path.join(distES6Folder, module);
- const packageES6Directory = path.join(packageES6Folder, module);
- const webpackConfigPath = path.join(mainDirectory, "webpack.config.js");
- const tsConfigPath = path.join(mainDirectory, "tsconfig.json");
- const packageJSONPath = settings.build.packageJSON ?
- path.join(rootFolder, settings.build.packageJSON) :
- path.join(distDirectory, 'package.json');
- settings.computed = {
- mainDirectory,
- distDirectory,
- localDevES6Directory,
- localDevUMDDirectory,
- sourceES6Directory,
- distES6Directory,
- packageES6Directory,
- webpackConfigPath,
- tsConfigPath,
- packageJSONPath
- }
- // Prevent es6 bundled lib crash.
- if (fs.existsSync(tsConfigPath)) {
- const tsConfig = require(tsConfigPath);
- const srcDirectory = path.resolve(mainDirectory, tsConfig.compilerOptions.rootDir);
- const shaderGlob = srcDirectory + "/**/*.fx";
- const shaderTSGlob = srcDirectory + "/**/*.fx.ts";
- for (let library of settings.libraries) {
- const entryPath = path.join(srcDirectory, library.entry);
- library.computed = {
- entryPath
- };
- }
- settings.computed.srcDirectory = srcDirectory;
- settings.computed.shaderGlob = shaderGlob;
- settings.computed.shaderTSGlob = shaderTSGlob;
- }
- });
- module.exports = config;
|