react-cosmos 5.6.4 → 5.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/config.schema.json +4 -0
  2. package/dist/config/createCosmosConfig.js +2 -2
  3. package/dist/config/index.js +6 -6
  4. package/dist/dom/DomFixtureLoader.d.ts +4 -3
  5. package/dist/dom/ErrorCatch.js +4 -4
  6. package/dist/dom/index.d.ts +3 -3
  7. package/dist/dom/renderMessage.d.ts +1 -0
  8. package/dist/fixture.js +6 -6
  9. package/dist/getFixtureUrls.js +9 -10
  10. package/dist/getFixtures.js +12 -13
  11. package/dist/getFixtures2.js +7 -7
  12. package/dist/index.js +14 -14
  13. package/dist/native.d.ts +4 -3
  14. package/dist/native.js +1 -1
  15. package/dist/plugins/httpProxy.js +1 -1
  16. package/dist/plugins/webpack/client/errorOverlay/reactErrorOverlay.js +2 -2
  17. package/dist/plugins/webpack/client/userDeps.d.ts +3 -3
  18. package/dist/plugins/webpack/client/userDeps.js +1 -1
  19. package/dist/plugins/webpack/cosmosConfig/webpack.d.ts +1 -0
  20. package/dist/plugins/webpack/cosmosConfig/webpack.js +8 -1
  21. package/dist/plugins/webpack/export.js +8 -4
  22. package/dist/plugins/webpack/webpackConfig/devServer.js +23 -21
  23. package/dist/plugins/webpack/webpackConfig/export.js +18 -17
  24. package/dist/plugins/webpack/webpackConfig/{default.d.ts → getDefaultWebpackConfig.d.ts} +0 -0
  25. package/dist/plugins/webpack/webpackConfig/{default.js → getDefaultWebpackConfig.js} +4 -4
  26. package/dist/plugins/webpack/webpackConfig/getUserWebpackConfig.d.ts +3 -0
  27. package/dist/plugins/webpack/webpackConfig/getUserWebpackConfig.js +136 -0
  28. package/dist/plugins/webpack/webpackConfig/getWebpackConfigModule.d.ts +2 -0
  29. package/dist/plugins/webpack/webpackConfig/getWebpackConfigModule.js +45 -0
  30. package/dist/plugins/webpack/webpackConfig/getWebpackConfigResolve.d.ts +4 -0
  31. package/dist/plugins/webpack/webpackConfig/getWebpackConfigResolve.js +107 -0
  32. package/dist/plugins/webpack/webpackConfig/getWebpackNodeEnv.d.ts +1 -0
  33. package/dist/plugins/webpack/webpackConfig/getWebpackNodeEnv.js +12 -0
  34. package/dist/plugins/webpack/webpackConfig/htmlPlugin.js +5 -5
  35. package/dist/plugins/webpack/webpackConfig/plugins.d.ts +5 -0
  36. package/dist/plugins/webpack/webpackConfig/plugins.js +37 -0
  37. package/dist/plugins/webpack/webpackConfig/resolveWebpackClientPath.d.ts +1 -0
  38. package/dist/plugins/webpack/webpackConfig/resolveWebpackClientPath.js +10 -0
  39. package/dist/shared/devServer/httpServer.d.ts +1 -1
  40. package/dist/shared/fs.js +3 -3
  41. package/dist/shared/playgroundHtml.js +3 -3
  42. package/dist/shared/shared.js +2 -2
  43. package/dist/shared/userDeps/getUserModules.d.ts +3 -3
  44. package/dist/shared/userDeps/getUserModules.js +5 -5
  45. package/dist/shared/userDeps/index.js +12 -12
  46. package/dist/shared/userDeps/shared.js +1 -1
  47. package/dist/shared/userDeps/userDepsTemplate.js +3 -3
  48. package/package.json +13 -13
  49. package/dist/plugins/webpack/webpackConfig/module.d.ts +0 -3
  50. package/dist/plugins/webpack/webpackConfig/module.js +0 -18
  51. package/dist/plugins/webpack/webpackConfig/shared.d.ts +0 -11
  52. package/dist/plugins/webpack/webpackConfig/shared.js +0 -254
@@ -7,19 +7,27 @@ exports.getExportWebpackConfig = getExportWebpackConfig;
7
7
 
8
8
  var _path = _interopRequireDefault(require("path"));
9
9
 
10
+ var _shared = require("../../../shared/shared");
11
+
10
12
  var _webpack = require("../cosmosConfig/webpack");
11
13
 
12
- var _shared = require("../../../shared/shared");
14
+ var _getUserWebpackConfig = require("./getUserWebpackConfig");
15
+
16
+ var _getWebpackConfigResolve = require("./getWebpackConfigResolve");
17
+
18
+ var _getWebpackConfigModule = require("./getWebpackConfigModule");
13
19
 
14
20
  var _htmlPlugin = require("./htmlPlugin");
15
21
 
16
- var _shared2 = require("./shared");
22
+ var _plugins = require("./plugins");
23
+
24
+ var _resolveWebpackClientPath = require("./resolveWebpackClientPath");
17
25
 
18
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
27
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
29
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
31
 
24
32
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
33
 
@@ -51,17 +59,15 @@ function _getExportWebpackConfig() {
51
59
  switch (_context.prev = _context.next) {
52
60
  case 0:
53
61
  _context.next = 2;
54
- return (0, _shared2.getUserWebpackConfig)(cosmosConfig, userWebpack);
62
+ return (0, _getUserWebpackConfig.getUserWebpackConfig)(cosmosConfig, userWebpack);
55
63
 
56
64
  case 2:
57
65
  baseWebpackConfig = _context.sent;
58
66
  return _context.abrupt("return", _objectSpread(_objectSpread({}, baseWebpackConfig), {}, {
59
67
  entry: getEntry(),
60
68
  output: getOutput(cosmosConfig),
61
- module: _objectSpread(_objectSpread({}, baseWebpackConfig.module), {}, {
62
- rules: getRules(baseWebpackConfig)
63
- }),
64
- resolve: (0, _shared2.resolveLocalReactDeps)(cosmosConfig, baseWebpackConfig),
69
+ module: (0, _getWebpackConfigModule.getWebpackConfigModule)(baseWebpackConfig),
70
+ resolve: (0, _getWebpackConfigResolve.getWebpackConfigResolve)(cosmosConfig, baseWebpackConfig),
65
71
  plugins: getPlugins(cosmosConfig, baseWebpackConfig, userWebpack)
66
72
  }));
67
73
 
@@ -78,8 +84,8 @@ function _getExportWebpackConfig() {
78
84
  function getEntry() {
79
85
  // The React devtools hook needs to be imported before any other module that
80
86
  // might import React
81
- var devtoolsHook = (0, _shared2.resolveClientPath)('reactDevtoolsHook');
82
- var clientIndex = (0, _shared2.resolveClientPath)('index');
87
+ var devtoolsHook = (0, _resolveWebpackClientPath.resolveWebpackClientPath)('reactDevtoolsHook');
88
+ var clientIndex = (0, _resolveWebpackClientPath.resolveWebpackClientPath)('index');
83
89
  return [devtoolsHook, clientIndex];
84
90
  }
85
91
 
@@ -97,14 +103,9 @@ function getOutput(cosmosConfig) {
97
103
  };
98
104
  }
99
105
 
100
- function getRules(baseWebpackConfig) {
101
- var existingRules = baseWebpackConfig.module && baseWebpackConfig.module.rules || [];
102
- return [].concat(_toConsumableArray(existingRules), [(0, _shared2.getUserDepsLoaderRule)()]);
103
- }
104
-
105
106
  function getPlugins(cosmosConfig, baseWebpackConfig, userWebpack) {
106
107
  var existingPlugins = baseWebpackConfig.plugins || [];
107
- var globalsPlugin = (0, _shared2.getGlobalsPlugin)(cosmosConfig, userWebpack, false);
108
+ var globalsPlugin = (0, _plugins.getGlobalsPlugin)(cosmosConfig, userWebpack, false);
108
109
  var noEmitErrorsPlugin = new userWebpack.NoEmitOnErrorsPlugin();
109
110
  return (0, _htmlPlugin.ensureHtmlWebackPlugin)(cosmosConfig, [].concat(_toConsumableArray(existingPlugins), [globalsPlugin, noEmitErrorsPlugin]));
110
111
  }
@@ -9,15 +9,15 @@ var _resolveFrom = _interopRequireDefault(require("resolve-from"));
9
9
 
10
10
  var _playgroundHtml = require("../../../shared/playgroundHtml");
11
11
 
12
- var _shared = require("./shared");
12
+ var _getWebpackNodeEnv = require("./getWebpackNodeEnv");
13
13
 
14
14
  var _htmlPlugin = require("./htmlPlugin");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
23
 
@@ -141,7 +141,7 @@ function getDefaultWebpackConfig(userWebpack, rootDir) {
141
141
  }
142
142
 
143
143
  return _objectSpread(_objectSpread({}, config), {}, {
144
- mode: (0, _shared.getNodeEnv)(),
144
+ mode: (0, _getWebpackNodeEnv.getWebpackNodeEnv)(),
145
145
  optimization: {
146
146
  // Cosmos reads component names at run-time, so it is crucial to not
147
147
  // minify even when building with production env (ie. when exporting)
@@ -0,0 +1,3 @@
1
+ import webpack from 'webpack';
2
+ import { CosmosConfig } from '../../../config';
3
+ export declare function getUserWebpackConfig(cosmosConfig: CosmosConfig, userWebpack: typeof webpack): Promise<webpack.Configuration>;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getUserWebpackConfig = getUserWebpackConfig;
7
+
8
+ var _path = _interopRequireDefault(require("path"));
9
+
10
+ var _cli = require("../../../shared/cli");
11
+
12
+ var _fs = require("../../../shared/fs");
13
+
14
+ var _webpack = require("../cosmosConfig/webpack");
15
+
16
+ var _getDefaultWebpackConfig = require("./getDefaultWebpackConfig");
17
+
18
+ var _getWebpackNodeEnv = require("./getWebpackNodeEnv");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
23
+
24
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
25
+
26
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
27
+
28
+ function getUserWebpackConfig(_x, _x2) {
29
+ return _getUserWebpackConfig.apply(this, arguments);
30
+ }
31
+
32
+ function _getUserWebpackConfig() {
33
+ _getUserWebpackConfig = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(cosmosConfig, userWebpack) {
34
+ var baseWebpackConfig, _createWebpackCosmosC, overridePath, relPath, webpackOverride;
35
+
36
+ return regeneratorRuntime.wrap(function _callee$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ _context.next = 2;
41
+ return getBaseWebpackConfig(cosmosConfig, userWebpack);
42
+
43
+ case 2:
44
+ baseWebpackConfig = _context.sent;
45
+ _createWebpackCosmosC = (0, _webpack.createWebpackCosmosConfig)(cosmosConfig), overridePath = _createWebpackCosmosC.overridePath;
46
+
47
+ if (!(!overridePath || !(0, _fs.moduleExists)(overridePath))) {
48
+ _context.next = 6;
49
+ break;
50
+ }
51
+
52
+ return _context.abrupt("return", baseWebpackConfig);
53
+
54
+ case 6:
55
+ relPath = _path.default.relative(process.cwd(), overridePath);
56
+ console.log("[Cosmos] Overriding webpack config at ".concat(relPath));
57
+ webpackOverride = getDefaultExport((0, _fs.requireModule)(overridePath));
58
+ return _context.abrupt("return", webpackOverride(baseWebpackConfig, (0, _getWebpackNodeEnv.getWebpackNodeEnv)()));
59
+
60
+ case 10:
61
+ case "end":
62
+ return _context.stop();
63
+ }
64
+ }
65
+ }, _callee);
66
+ }));
67
+ return _getUserWebpackConfig.apply(this, arguments);
68
+ }
69
+
70
+ function getBaseWebpackConfig(_x3, _x4) {
71
+ return _getBaseWebpackConfig.apply(this, arguments);
72
+ } // Get "default" export from either an ES or CJS module
73
+ // More context: https://github.com/react-cosmos/react-cosmos/issues/895
74
+
75
+
76
+ function _getBaseWebpackConfig() {
77
+ _getBaseWebpackConfig = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(cosmosConfig, userWebpack) {
78
+ var rootDir, _createWebpackCosmosC2, configPath, relPath, userConfigExport, cliArgs;
79
+
80
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
81
+ while (1) {
82
+ switch (_context2.prev = _context2.next) {
83
+ case 0:
84
+ rootDir = cosmosConfig.rootDir;
85
+ _createWebpackCosmosC2 = (0, _webpack.createWebpackCosmosConfig)(cosmosConfig), configPath = _createWebpackCosmosC2.configPath;
86
+
87
+ if (!(!configPath || !(0, _fs.moduleExists)(configPath))) {
88
+ _context2.next = 5;
89
+ break;
90
+ }
91
+
92
+ console.log('[Cosmos] Using default webpack config');
93
+ return _context2.abrupt("return", (0, _getDefaultWebpackConfig.getDefaultWebpackConfig)(userWebpack, rootDir));
94
+
95
+ case 5:
96
+ relPath = _path.default.relative(process.cwd(), configPath);
97
+ console.log("[Cosmos] Using webpack config found at ".concat(relPath));
98
+ userConfigExport = getDefaultExport((0, _fs.requireModule)(configPath));
99
+ cliArgs = (0, _cli.getCliArgs)();
100
+
101
+ if (!(typeof userConfigExport === 'function')) {
102
+ _context2.next = 15;
103
+ break;
104
+ }
105
+
106
+ _context2.next = 12;
107
+ return userConfigExport(cliArgs.env || (0, _getWebpackNodeEnv.getWebpackNodeEnv)(), cliArgs);
108
+
109
+ case 12:
110
+ _context2.t0 = _context2.sent;
111
+ _context2.next = 16;
112
+ break;
113
+
114
+ case 15:
115
+ _context2.t0 = userConfigExport;
116
+
117
+ case 16:
118
+ return _context2.abrupt("return", _context2.t0);
119
+
120
+ case 17:
121
+ case "end":
122
+ return _context2.stop();
123
+ }
124
+ }
125
+ }, _callee2);
126
+ }));
127
+ return _getBaseWebpackConfig.apply(this, arguments);
128
+ }
129
+
130
+ function getDefaultExport(module) {
131
+ if (_typeof(module) === 'object' && 'default' in module) {
132
+ return module.default;
133
+ }
134
+
135
+ return module;
136
+ }
@@ -0,0 +1,2 @@
1
+ import webpack from 'webpack';
2
+ export declare function getWebpackConfigModule(webpackConfig: webpack.Configuration): webpack.ModuleOptions;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getWebpackConfigModule = getWebpackConfigModule;
7
+
8
+ var _resolveWebpackClientPath = require("./resolveWebpackClientPath");
9
+
10
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
+
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
+
18
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
19
+
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ function getWebpackConfigModule(webpackConfig) {
29
+ return _objectSpread(_objectSpread({}, webpackConfig.module), {}, {
30
+ rules: getRules(webpackConfig)
31
+ });
32
+ }
33
+
34
+ function getRules(_ref) {
35
+ var module = _ref.module;
36
+ var existingRules = module && module.rules || [];
37
+ return [].concat(_toConsumableArray(existingRules), [getUserDepsLoaderRule()]);
38
+ }
39
+
40
+ function getUserDepsLoaderRule() {
41
+ return {
42
+ loader: require.resolve('./userDepsLoader'),
43
+ include: (0, _resolveWebpackClientPath.resolveWebpackClientPath)('userDeps')
44
+ };
45
+ }
@@ -0,0 +1,4 @@
1
+ import webpack from 'webpack';
2
+ import { CosmosConfig } from '../../../config';
3
+ export declare function getWebpackConfigResolve(cosmosConfig: CosmosConfig, webpackConfig: webpack.Configuration): webpack.ResolveOptions;
4
+ export declare function isInstanceOfResolvePlugin(plugin: webpack.ResolvePluginInstance | '...', constructorName: string): boolean;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getWebpackConfigResolve = getWebpackConfigResolve;
7
+ exports.isInstanceOfResolvePlugin = isInstanceOfResolvePlugin;
8
+
9
+ var _path = _interopRequireDefault(require("path"));
10
+
11
+ var _resolveFrom = _interopRequireDefault(require("resolve-from"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
16
+
17
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+
19
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
+
21
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
22
+
23
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
24
+
25
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
+
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+
31
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
+
33
+ function getWebpackConfigResolve(cosmosConfig, webpackConfig) {
34
+ return removeModuleScopePlugin(resolveLocalReactDeps(cosmosConfig, webpackConfig.resolve));
35
+ }
36
+
37
+ function removeModuleScopePlugin() {
38
+ var resolve = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ var plugins = resolve.plugins;
40
+ if (!plugins) return resolve;
41
+ return _objectSpread(_objectSpread({}, resolve), {}, {
42
+ plugins: plugins.filter(function (p) {
43
+ return !isInstanceOfResolvePlugin(p, 'ModuleScopePlugin');
44
+ })
45
+ });
46
+ }
47
+
48
+ function resolveLocalReactDeps(cosmosConfig) {
49
+ var resolve = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
50
+ var rootDir = cosmosConfig.rootDir;
51
+ var alias = resolve.alias || {}; // Preserve existing React aliases (eg. when using Preact)
52
+
53
+ var reactAlias = hasAlias(alias, 'react');
54
+ var reactDomAlias = hasAlias(alias, 'react-dom');
55
+
56
+ if (reactAlias && reactDomAlias) {
57
+ console.log('[Cosmos] React and React DOM aliases found in webpack config');
58
+ return resolve;
59
+ }
60
+
61
+ if (reactAlias) {
62
+ console.log('[Cosmos] React alias found in webpack config');
63
+ } else {
64
+ var reactPath = _resolveFrom.default.silent(rootDir, 'react');
65
+
66
+ if (!reactPath) throw new Error("[Cosmos] Local dependency not found: react");
67
+ alias = addAlias(alias, 'react', _path.default.dirname(reactPath));
68
+ }
69
+
70
+ if (reactDomAlias) {
71
+ console.log('[Cosmos] React DOM alias found in webpack config');
72
+ } else {
73
+ var reactDomPath = _resolveFrom.default.silent(rootDir, 'react-dom');
74
+
75
+ if (!reactDomPath) throw new Error("[Cosmos] Local dependency not found: react-dom");
76
+ alias = addAlias(alias, 'react-dom', _path.default.dirname(reactDomPath));
77
+ }
78
+
79
+ return _objectSpread(_objectSpread({}, resolve), {}, {
80
+ alias: alias
81
+ });
82
+ }
83
+
84
+ function hasAlias(alias, name) {
85
+ if (!alias) return false;
86
+ var exactName = "".concat(name, "$");
87
+
88
+ if (Array.isArray(alias)) {
89
+ return alias.some(function (a) {
90
+ return a.name === name || a.name === exactName;
91
+ });
92
+ } else {
93
+ var keys = Object.keys(alias);
94
+ return keys.includes(name) || keys.includes(exactName);
95
+ }
96
+ }
97
+
98
+ function addAlias(alias, name, value) {
99
+ return Array.isArray(alias) ? [].concat(_toConsumableArray(alias), [{
100
+ name: name,
101
+ alias: value
102
+ }]) : _objectSpread(_objectSpread({}, alias), {}, _defineProperty({}, name, value));
103
+ }
104
+
105
+ function isInstanceOfResolvePlugin(plugin, constructorName) {
106
+ return plugin.constructor && plugin.constructor.name === constructorName;
107
+ }
@@ -0,0 +1 @@
1
+ export declare function getWebpackNodeEnv(): "production" | "development";
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getWebpackNodeEnv = getWebpackNodeEnv;
7
+
8
+ function getWebpackNodeEnv() {
9
+ // Disallow non dev/prod environments, like "test" inside Jest, because
10
+ // they are not supported by webpack
11
+ return process.env.NODE_ENV === 'production' ? 'production' : 'development';
12
+ }
@@ -12,13 +12,13 @@ var _lodash = require("lodash");
12
12
 
13
13
  var _playgroundHtml = require("../../../shared/playgroundHtml");
14
14
 
15
- var _shared = require("./shared");
15
+ var _plugins = require("./plugins");
16
16
 
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
20
 
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
22
 
23
23
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
24
 
@@ -37,7 +37,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
37
37
  function ensureHtmlWebackPlugin(_ref, plugins) {
38
38
  var rootDir = _ref.rootDir;
39
39
 
40
- if ((0, _shared.hasPlugin)(plugins, 'HtmlWebpackPlugin')) {
40
+ if ((0, _plugins.hasPlugin)(plugins, 'HtmlWebpackPlugin')) {
41
41
  return plugins.map(function (plugin) {
42
42
  return isHtmlWebpackPlugin(plugin) ? changeHtmlPluginFilename(plugin) : plugin;
43
43
  });
@@ -60,7 +60,7 @@ function getHtmlWebpackPlugin(rootDir) {
60
60
  }
61
61
 
62
62
  function isHtmlWebpackPlugin(plugin) {
63
- return (0, _shared.isInstanceOfPlugin)(plugin, 'HtmlWebpackPlugin');
63
+ return (0, _plugins.isInstanceOfWebpackPlugin)(plugin, 'HtmlWebpackPlugin');
64
64
  }
65
65
 
66
66
  function changeHtmlPluginFilename(htmlPlugin) {
@@ -0,0 +1,5 @@
1
+ import webpack from 'webpack';
2
+ import { CosmosConfig } from '../../../config';
3
+ export declare function getGlobalsPlugin({ publicUrl }: CosmosConfig, userWebpack: typeof webpack, devServerOn: boolean): webpack.DefinePlugin;
4
+ export declare function hasPlugin(plugins: void | webpack.WebpackPluginInstance[], pluginName: string): boolean | void;
5
+ export declare function isInstanceOfWebpackPlugin(plugin: webpack.WebpackPluginInstance, constructorName: string): boolean;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGlobalsPlugin = getGlobalsPlugin;
7
+ exports.hasPlugin = hasPlugin;
8
+ exports.isInstanceOfWebpackPlugin = isInstanceOfWebpackPlugin;
9
+
10
+ var _getWebpackNodeEnv = require("./getWebpackNodeEnv");
11
+
12
+ function getGlobalsPlugin(_ref, userWebpack, devServerOn) {
13
+ var publicUrl = _ref.publicUrl;
14
+ var cleanPublicUrl = removeTrailingSlash(publicUrl);
15
+ return new userWebpack.DefinePlugin({
16
+ // "if (__DEV__)" blocks get stripped when compiling a static export build
17
+ __DEV__: JSON.stringify(devServerOn),
18
+ 'process.env': {
19
+ NODE_ENV: JSON.stringify((0, _getWebpackNodeEnv.getWebpackNodeEnv)()),
20
+ PUBLIC_URL: JSON.stringify(cleanPublicUrl)
21
+ }
22
+ });
23
+ }
24
+
25
+ function hasPlugin(plugins, pluginName) {
26
+ return plugins && plugins.filter(function (p) {
27
+ return isInstanceOfWebpackPlugin(p, pluginName);
28
+ }).length > 0;
29
+ }
30
+
31
+ function isInstanceOfWebpackPlugin(plugin, constructorName) {
32
+ return plugin.constructor && plugin.constructor.name === constructorName;
33
+ }
34
+
35
+ function removeTrailingSlash(url) {
36
+ return url.replace(/\/$/, '');
37
+ }
@@ -0,0 +1 @@
1
+ export declare function resolveWebpackClientPath(relPath: string): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveWebpackClientPath = resolveWebpackClientPath;
7
+
8
+ function resolveWebpackClientPath(relPath) {
9
+ return require.resolve("../client/".concat(relPath));
10
+ }
@@ -4,7 +4,7 @@ import https from 'https';
4
4
  import { CosmosConfig } from '../../config';
5
5
  declare type RequestListener = (request: http.IncomingMessage, response: http.ServerResponse) => void;
6
6
  export declare function createHttpServer(cosmosConfig: CosmosConfig, requestListener: RequestListener): Promise<{
7
- server: https.Server | http.Server;
7
+ server: http.Server | https.Server;
8
8
  start: () => Promise<void>;
9
9
  stop: () => Promise<void>;
10
10
  }>;
package/dist/shared/fs.js CHANGED
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.requireModule = requireModule;
7
- exports.moduleExists = moduleExists;
8
- exports.fileExists = fileExists;
9
6
  exports.dirExists = dirExists;
7
+ exports.fileExists = fileExists;
8
+ exports.moduleExists = moduleExists;
9
+ exports.requireModule = requireModule;
10
10
 
11
11
  var _fs = _interopRequireDefault(require("fs"));
12
12
 
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.RENDERER_FILENAME = void 0;
6
7
  exports.getDevPlaygroundHtml = getDevPlaygroundHtml;
7
8
  exports.getExportPlaygroundHtml = getExportPlaygroundHtml;
8
- exports.RENDERER_FILENAME = void 0;
9
9
 
10
10
  var _fs = _interopRequireDefault(require("fs"));
11
11
 
@@ -19,9 +19,9 @@ var _static = require("./static");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
26
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
27
 
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.replaceKeys = replaceKeys;
7
- exports.removeLeadingSlash = removeLeadingSlash;
8
6
  exports.removeLeadingDot = removeLeadingDot;
7
+ exports.removeLeadingSlash = removeLeadingSlash;
8
+ exports.replaceKeys = replaceKeys;
9
9
 
10
10
  function replaceKeys(str, map) {
11
11
  return Object.keys(map).reduce(function (res, key) {
@@ -1,8 +1,8 @@
1
- import { ReactFixtureExportsByPath, ReactDecoratorsByPath } from 'react-cosmos-shared2/react';
1
+ import { ReactDecorators, ReactFixtureExports } from 'react-cosmos-shared2/react';
2
2
  import { CosmosConfig } from '../../config';
3
3
  declare type UserModules = {
4
- fixtureExportsByPath: ReactFixtureExportsByPath;
5
- decoratorsByPath: ReactDecoratorsByPath;
4
+ fixtures: ReactFixtureExports;
5
+ decorators: ReactDecorators;
6
6
  };
7
7
  export declare function getUserModules({ rootDir, fixturesDir, fixtureFileSuffix, }: CosmosConfig): UserModules;
8
8
  export {};
@@ -7,10 +7,10 @@ exports.getUserModules = getUserModules;
7
7
 
8
8
  var _path = _interopRequireDefault(require("path"));
9
9
 
10
- var _ = require(".");
11
-
12
10
  var _slash = _interopRequireDefault(require("slash"));
13
11
 
12
+ var _ = require(".");
13
+
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
16
  function getUserModules(_ref) {
@@ -27,12 +27,12 @@ function getUserModules(_ref) {
27
27
  decoratorPaths = _findUserModulePaths.decoratorPaths;
28
28
 
29
29
  return {
30
- fixtureExportsByPath: getDefaultExportsByPath(fixturePaths, rootDir),
31
- decoratorsByPath: getDefaultExportsByPath(decoratorPaths, rootDir)
30
+ fixtures: getDefaultExports(fixturePaths, rootDir),
31
+ decorators: getDefaultExports(decoratorPaths, rootDir)
32
32
  };
33
33
  }
34
34
 
35
- function getDefaultExportsByPath(paths, rootDir) {
35
+ function getDefaultExports(paths, rootDir) {
36
36
  var exportsByPath = {};
37
37
  paths.forEach(function (p) {
38
38
  // Converting to forward slashes on Windows is important because the