config.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. for (let library of settings.libraries) {
  32. const entryPath = path.join(srcDirectory, library.entry);
  33. library.computed = {
  34. entryPath
  35. };
  36. }
  37. settings.computed = {
  38. mainDirectory,
  39. srcDirectory,
  40. distDirectory,
  41. localDevES6Directory,
  42. localDevUMDDirectory,
  43. ES6PackageDirectory,
  44. webpackConfigPath,
  45. tsConfigPath,
  46. packageJSONPath
  47. }
  48. });
  49. module.exports = config;