config.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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(rootFolder, config.build.tempDirectory);
  6. const outputFolder = path.resolve(configFolder, config.build.outputDirectory);
  7. const localDevES6Folder = path.join(tempFolder, config.build.localDevES6FolderName);
  8. const localDevUMDFolder = path.join(tempFolder, config.build.localDevUMDFolderName);
  9. const sourceES6Folder = path.join(tempFolder, config.build.sourceES6FolderName);
  10. const distES6Folder = path.join(tempFolder, config.build.distES6FolderName);
  11. const packageES6Folder = path.join(tempFolder, config.build.packageES6FolderName);
  12. config.computed = {
  13. rootFolder,
  14. tempFolder,
  15. outputFolder,
  16. localDevES6Folder,
  17. localDevUMDFolder,
  18. sourceES6Folder,
  19. distES6Folder,
  20. packageES6Folder
  21. }
  22. config.modules.map(function(module) {
  23. const settings = config[module];
  24. const mainDirectory = path.resolve(rootFolder, settings.build.mainFolder);
  25. const distFolder = (settings.build.distOutputDirectory !== undefined) ? settings.build.distOutputDirectory : module;
  26. const distDirectory = path.join(outputFolder, distFolder);
  27. const localDevES6Directory = path.join(localDevES6Folder, module);
  28. const localDevUMDDirectory = path.join(localDevUMDFolder, distFolder);
  29. const sourceES6Directory = path.join(sourceES6Folder, module);
  30. const distES6Directory = path.join(distES6Folder, module);
  31. const packageES6Directory = path.join(packageES6Folder, module);
  32. const webpackConfigPath = path.join(mainDirectory, "webpack.config.js");
  33. const tsConfigPath = path.join(mainDirectory, "tsconfig.json");
  34. const packageJSONPath = settings.build.packageJSON ?
  35. path.join(rootFolder, settings.build.packageJSON) :
  36. path.join(distDirectory, 'package.json');
  37. const tsConfig = require(tsConfigPath);
  38. const srcDirectory = path.resolve(mainDirectory, tsConfig.compilerOptions.rootDir);
  39. const shaderGlob = srcDirectory + "/**/*.fx";
  40. const shaderTSGlob = srcDirectory + "/**/*.fx.ts";
  41. for (let library of settings.libraries) {
  42. const entryPath = path.join(srcDirectory, library.entry);
  43. library.computed = {
  44. entryPath
  45. };
  46. }
  47. settings.computed = {
  48. mainDirectory,
  49. srcDirectory,
  50. distDirectory,
  51. localDevES6Directory,
  52. localDevUMDDirectory,
  53. sourceES6Directory,
  54. distES6Directory,
  55. packageES6Directory,
  56. webpackConfigPath,
  57. tsConfigPath,
  58. packageJSONPath,
  59. shaderGlob,
  60. shaderTSGlob
  61. }
  62. });
  63. module.exports = config;