config.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const path = require("path");
  2. const config = require("./config.json");
  3. const configFolder = __dirname;
  4. const rootFolder = path.resolve(configFolder, "../../");
  5. const tempFolder = path.resolve(configFolder, config.build.tempDirectory);
  6. const outputFolder = path.resolve(configFolder, config.build.outputDirectory);
  7. const localDevES6 = path.join(tempFolder, config.build.localDevES6FolderName);
  8. const localDevUMD = path.join(tempFolder, config.build.localDevUMDFolderName);
  9. const ES6Package = path.join(tempFolder, config.build.ES6Package);
  10. config.computed = {
  11. rootFolder,
  12. tempFolder,
  13. outputFolder,
  14. localDevES6,
  15. localDevUMD,
  16. ES6Package
  17. }
  18. config.modules.map(function(module) {
  19. const settings = config[module];
  20. const mainDirectory = path.resolve(configFolder, settings.build.mainFolder);
  21. const distFolder = (settings.build.distOutputDirectory !== undefined) ? settings.build.distOutputDirectory : module;
  22. const distDirectory = path.join(outputFolder, distFolder);
  23. const localDevES6Directory = path.join(localDevES6, module);
  24. const localDevUMDDirectory = path.join(localDevUMD, distFolder);
  25. const ES6PackageDirectory = path.join(ES6Package, module);
  26. const webpackConfigPath = path.join(mainDirectory, "webpack.config.js");
  27. const tsConfigPath = path.join(mainDirectory, "tsconfig.json");
  28. const packageJSONPath = settings.build.packageJSON || path.join(distDirectory, 'package.json');
  29. const tsConfig = require(tsConfigPath);
  30. const srcDirectory = path.resolve(mainDirectory, tsConfig.compilerOptions.rootDir);
  31. const shaderGlob = srcDirectory + "/**/*.fx";
  32. const shaderTSGlob = srcDirectory + "/**/*.fx.ts";
  33. for (let library of settings.libraries) {
  34. const entryPath = path.join(srcDirectory, library.entry);
  35. library.computed = {
  36. entryPath
  37. };
  38. }
  39. settings.computed = {
  40. mainDirectory,
  41. srcDirectory,
  42. distDirectory,
  43. localDevES6Directory,
  44. localDevUMDDirectory,
  45. ES6PackageDirectory,
  46. webpackConfigPath,
  47. tsConfigPath,
  48. packageJSONPath,
  49. shaderGlob,
  50. shaderTSGlob
  51. }
  52. });
  53. module.exports = config;