@zohodesk/react-cli 0.0.1-exp.161.1 → 0.0.1-exp.161.2

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 (35) hide show
  1. package/README.md +11 -1
  2. package/lib/pluginUtils/getDevPlugins.js +2 -0
  3. package/lib/pluginUtils/getProdPlugins.js +2 -0
  4. package/lib/plugins/EFCPlugin.js +15 -1
  5. package/lib/plugins/EFCTemplatePlugin.js +151 -0
  6. package/lib/schemas/index.js +2 -1
  7. package/node_modules0/history/CHANGES.md +395 -0
  8. package/node_modules0/history/DOMUtils.js +3 -0
  9. package/node_modules0/history/ExecutionEnvironment.js +3 -0
  10. package/node_modules0/history/LICENSE +21 -0
  11. package/node_modules0/history/LocationUtils.js +3 -0
  12. package/node_modules0/history/PathUtils.js +3 -0
  13. package/node_modules0/history/README.md +282 -0
  14. package/node_modules0/history/cjs/history.js +933 -0
  15. package/node_modules0/history/cjs/history.min.js +1 -0
  16. package/node_modules0/history/createBrowserHistory.js +3 -0
  17. package/node_modules0/history/createHashHistory.js +3 -0
  18. package/node_modules0/history/createMemoryHistory.js +3 -0
  19. package/node_modules0/history/createTransitionManager.js +3 -0
  20. package/node_modules0/history/es/DOMUtils.js +7 -0
  21. package/node_modules0/history/es/ExecutionEnvironment.js +7 -0
  22. package/node_modules0/history/es/LocationUtils.js +7 -0
  23. package/node_modules0/history/es/PathUtils.js +7 -0
  24. package/node_modules0/history/es/createBrowserHistory.js +7 -0
  25. package/node_modules0/history/es/createHashHistory.js +7 -0
  26. package/node_modules0/history/es/createMemoryHistory.js +7 -0
  27. package/node_modules0/history/es/createTransitionManager.js +7 -0
  28. package/node_modules0/history/es/warnAboutDeprecatedESMImport.js +35 -0
  29. package/node_modules0/history/esm/history.js +904 -0
  30. package/node_modules0/history/index.js +7 -0
  31. package/node_modules0/history/package.json +120 -0
  32. package/node_modules0/history/umd/history.js +1059 -0
  33. package/node_modules0/history/umd/history.min.js +1 -0
  34. package/node_modules0/history/warnAboutDeprecatedCJSRequire.js +35 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -2,10 +2,20 @@
2
2
 
3
3
  A CLI tool for build modern web application and libraries
4
4
 
5
+ # 0.0.1-exp.161.2
6
+
7
+ - Features
8
+ - feature added for efc `templateFilePath` in `paakage.json` option palce is `"react-cli" => "efc" `
9
+ - `(('publicPath'))` this placeholder will be replace as publicPath string `publicPath`
10
+ - `(('getInitalAssets'))` this placeholder will be replace as function `getInitalAssets`
11
+ - `getInitalAssets` this function has two arguments `assetsType`, `lang`
12
+ - `assetsType` are `js`, `css`, `i18n`
13
+ - `lang` this argument only works when `i18n` is `assetsType`
14
+
5
15
  # 0.0.1-exp.161.1
6
16
 
7
17
  - Features
8
- - feature added for efc cdnStatement
18
+ - feature added for efc `cdnStatement`
9
19
  - Issue fixes:-
10
20
  - css classname hash change issue fix
11
21
  - debug package conflit issue fix in nock in (react-cli test)
@@ -55,6 +55,7 @@ let getDevPlugins = (options, publicPath) => {
55
55
  },
56
56
  efc: {
57
57
  hasEFC: newOptionForEnableEFC,
58
+ templateFilePath,
58
59
  nameScope: efcNameSpace,
59
60
  localeAttr: efcLocaleAttr
60
61
  },
@@ -162,6 +163,7 @@ let getDevPlugins = (options, publicPath) => {
162
163
  plugins.push(new _plugins.EFCPlugin({
163
164
  isDevelopment: true,
164
165
  i18nManifestFileName,
166
+ templateFilePath,
165
167
  i18nFileNameTemplate,
166
168
  serverUrl: publicPath,
167
169
  entryPointName: 'efc',
@@ -72,6 +72,7 @@ let getProdPlugins = (options, publicPath = '') => {
72
72
  const {
73
73
  hasEFC: newOptionForEnableEFC,
74
74
  nameScope: efcNameSpace,
75
+ templateFilePath,
75
76
  localeAttr: efcLocaleAttr
76
77
  } = options.efc;
77
78
  const hasEFC = newOptionForEnableEFC || prevOptionForEnableEFC;
@@ -166,6 +167,7 @@ let getProdPlugins = (options, publicPath = '') => {
166
167
  isDevelopment,
167
168
  serverUrl: publicPath,
168
169
  i18nFileNameTemplate,
170
+ templateFilePath,
169
171
  i18nManifestFileName,
170
172
  entryPointName: 'efc',
171
173
  // outputFile: 'zohodesk-efc-sdk-latest.js',
@@ -17,6 +17,8 @@ var _I18nKeysIdentifer = _interopRequireDefault(require("./I18nSplitPlugin/I18nK
17
17
 
18
18
  var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
19
19
 
20
+ var _EFCTemplatePlugin = _interopRequireDefault(require("./EFCTemplatePlugin"));
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  // import { getShortI18nAssets } from './I18nSplitPlugin/utils/hashUtils';
@@ -41,6 +43,7 @@ const {
41
43
  class EFCPlugin {
42
44
  constructor(options = {}) {
43
45
  this.isDevelopment = options.isDevelopment;
46
+ this.templateFilePath = options.templateFilePath;
44
47
  this.serverUrl = options.serverUrl;
45
48
  this.i18nFileNameTemplate = options.i18nFileNameTemplate; // NOTE: this logic may be needed for i18n splited file name with contenthash cases
46
49
  // this.i18nManifestFileName = options.i18nManifestFileName;
@@ -154,7 +157,7 @@ class EFCPlugin {
154
157
  window["${cdnVariableName}"] = 'https:' + getAssetUrl('css') + '/';
155
158
  }
156
159
 
157
- let initalI18nAssets = ${initalI18nAssets}.map(urlpath => "${i18nJsPath}/"+ urlpath);
160
+ let initalI18nAssets = ${initalI18nAssets};
158
161
  let initialAssets = initalI18nAssets.concat(${JSON.stringify(enableRTLSplit ? filteredInitialFiles.map(filePath => (0, _replaceCssDirTemplate.replaceCssDirTemplate)(filePath, cssDirTemplate)) : filteredInitialFiles)});
159
162
 
160
163
  let loadAsset = (id, type, url) => {
@@ -202,6 +205,17 @@ class EFCPlugin {
202
205
  apply(compiler) {
203
206
  if (!createSDkFile) {
204
207
  return;
208
+ } //console.log('this.templateFilePath', this.templateFilePath, this.options);
209
+
210
+
211
+ if (this.templateFilePath) {
212
+ new _EFCTemplatePlugin.default({
213
+ templateFilePath: this.templateFilePath,
214
+ publicPath: this.serverUrl,
215
+ i18nFileNameTemplate: this.i18nFileNameTemplate,
216
+ entryPointName: this.options.entryPointName
217
+ }).apply(compiler);
218
+ return;
205
219
  }
206
220
 
207
221
  compiler.hooks.emit.tap('EFCPlugin', compilation => {
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _webpackSources = require("webpack-sources");
9
+
10
+ var _utils = require("../utils");
11
+
12
+ var _path = _interopRequireDefault(require("path"));
13
+
14
+ var _fs = require("fs");
15
+
16
+ var _getI18nFileUrlPathTemplate = require("./I18nSplitPlugin/utils/getI18nFileUrlPathTemplate");
17
+
18
+ var _I18nKeysIdentifer = _interopRequireDefault(require("./I18nSplitPlugin/I18nKeysIdentifer"));
19
+
20
+ var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ // import { getShortI18nAssets } from './I18nSplitPlugin/utils/hashUtils';
25
+ const cliOptions = (0, _utils.getOptions)();
26
+ const {
27
+ i18n: {
28
+ chunkSplitEnable
29
+ },
30
+ css: {
31
+ enableRTLSplit
32
+ },
33
+ efc: efcOptios
34
+ } = cliOptions;
35
+ const {
36
+ createSDkFile
37
+ } = efcOptios; // for smap relate changes
38
+ // CdnChangePlugin
39
+ // SourceMapHookPlugin
40
+
41
+ class EFCTemplatePlugin {
42
+ constructor(options = {}) {
43
+ // console.log(' templateFilePath ', process.cwd(), options.templateFilePath, templateFilePath);
44
+ this.templateFilePath = _path.default.join(process.cwd(), options.templateFilePath); // console.log(' templateFilePath ', this.templateFilePath);
45
+
46
+ this.i18nFileNameTemplate = options.i18nFileNameTemplate;
47
+ this.publicPath = options.publicPath; // NOTE: this logic may be needed for i18n splited file name with contenthash cases
48
+ // this.i18nManifestFileName = options.i18nManifestFileName;
49
+ // IMPORTANT: here we mergeing optionds from pacakge.json and options via constructor
50
+ // So when debugging consider this as well
51
+ // this.options = Object.assign({}, efcOptios, options);
52
+
53
+ this.entryPointName = options.entryPointName || 'efc';
54
+ this.outputFile = efcOptios.outputFile.replace('[version]', efcOptios.version);
55
+ } // NOTE: this logic may be needed for i18n splited file name with contenthash cases
56
+ // getI18nManifest(compilation) {
57
+ // const i18nManifestFile =
58
+ // compilation.assets[this.options.i18nManifestFileName];
59
+ // if (i18nManifestFile) {
60
+ // const manifest = JSON.parse(i18nManifestFile.source());
61
+ // return manifest;
62
+ // }
63
+ // return {};
64
+ // }
65
+
66
+
67
+ getI18nAssetsStr(entryPoint, compilation) {
68
+ // NOTE: we have used lang variable inside
69
+ if (!chunkSplitEnable) {
70
+ let i18nAsstes = {};
71
+ let i18nFiles = Object.keys(compilation.assets).filter(assert => assert.indexOf(`i18n${_path.default.sep}`) !== -1); //hook for i18n url contains i18n/ may cause problem
72
+
73
+ i18nAsstes = i18nFiles.reduce((res, i18nFilePath) => {
74
+ let fileName = i18nFilePath.replace(`i18n${_path.default.sep}`, '');
75
+ let splittedFileName = fileName.split('.');
76
+ res[splittedFileName[0]] = i18nFilePath;
77
+ return res;
78
+ }, {});
79
+ return `[${JSON.stringify(i18nAsstes)}[lang]]`;
80
+ }
81
+
82
+ let initalI18nAssets = entryPoint.chunks.filter(chunk => _I18nKeysIdentifer.default.isChunkHasI18n(chunk)).map(chunk => (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, '@locale@'));
83
+ return `${JSON.stringify(initalI18nAssets)}.map(urlpath => urlpath.replace(/@locale@/g, lang))`;
84
+ }
85
+
86
+ templateReplacer(entryPoint, compilation) {
87
+ const cssDirTemplate = '@dir@'; // const i18nManifest = this.getI18nManifest(compilation);
88
+
89
+ const initialFiles = entryPoint.getFiles();
90
+ const filteredInitialFiles = initialFiles.filter(file => /\.(css|js)$/.test(file));
91
+ const initialJsFiles = filteredInitialFiles.filter(file => /\.js$/.test(file));
92
+ let initialCssFiles = filteredInitialFiles.filter(file => /\.css$/.test(file));
93
+
94
+ if (enableRTLSplit) {
95
+ initialCssFiles = initialCssFiles.map(filePath => (0, _replaceCssDirTemplate.replaceCssDirTemplate)(filePath, cssDirTemplate));
96
+ } // const i18nAssets = getShortI18nAssets(
97
+ // entryPoint.chunks,
98
+ // i18nManifest,
99
+ // '' // i18nJsPath
100
+ // );
101
+
102
+
103
+ const initalI18nAssets = this.getI18nAssetsStr(entryPoint, compilation, '' // i18nJsPath
104
+ );
105
+ let templateStr = (0, _fs.readFileSync)(this.templateFilePath).toString();
106
+ return templateStr.replace('((\'getInitalAssets\'))', `function getInitalAssets(assetsType, lang) {
107
+ if (assetsType === "js") {
108
+ return ${JSON.stringify(initialJsFiles)}
109
+ }
110
+ if (assetsType === "css") {
111
+ return ${JSON.stringify(initialCssFiles)}
112
+ }
113
+ if (assetsType === "i18n") {
114
+ return ${initalI18nAssets};
115
+ }
116
+ return [];
117
+ }`).replace('((\'@dir@\'))', '\'@dir@\'').replace('((\'publicPath\'))', this.publicPath).replace('((\'@locale@\'))', '\'@locale@\'');
118
+ }
119
+
120
+ apply(compiler) {
121
+ if (!createSDkFile) {
122
+ return;
123
+ }
124
+
125
+ compiler.hooks.emit.tap('EFCTemplatePlugin', compilation => {
126
+ const {
127
+ entryPointName,
128
+ outputFile
129
+ } = this;
130
+ const entryPoint = compilation.entrypoints.get(entryPointName);
131
+
132
+ if (!entryPoint) {
133
+ return;
134
+ }
135
+
136
+ if (!(0, _fs.existsSync)(this.templateFilePath)) {
137
+ console.error(`EFC Template file not exists ${this.templateFilePath}`);
138
+ return;
139
+ }
140
+
141
+ const source = new _webpackSources.RawSource(this.templateReplacer(entryPoint, compilation));
142
+ compilation.assets[outputFile] = source; // console.log('EFCTemplatePlugin working');
143
+ // eslint-disable-next-line no-console
144
+
145
+ console.log('The EFC embedded code was created successfully..!!!');
146
+ });
147
+ }
148
+
149
+ }
150
+
151
+ exports.default = EFCTemplatePlugin;
@@ -42,13 +42,14 @@ var _default = {
42
42
  nameScope: 'ZOHODESK',
43
43
  version: 'default',
44
44
  outputFile: 'zohodesk-efc-sdk-[version].js',
45
+ templateFilePath: '',
45
46
  localeAttr: 'data-efc-locale',
46
47
  localeDefaultValue: 'en_US',
47
48
  localeStatement: null,
48
49
  cssDirAttr: 'data-efc-dir',
49
50
  cssDirDefaultValue: 'ltr',
50
51
  cdnStatement: '',
51
- // cdnStatement: 'new URL(document.querySelector("script[src*=\'zohodesk-efc-sdk\']").src).origin',
52
+ // cdnStatement: "new URL(document.querySelector(\"script[src*='zohodesk-efc-sdk']\").src).origin",
52
53
  cssDirStatement: null
53
54
  },
54
55
  app: {
@@ -0,0 +1,395 @@
1
+ ## [v4.6.3]
2
+ > Jun 20, 2017
3
+
4
+ - Add main/module entries to package.json (thanks @pshrmn)
5
+
6
+ [v4.6.3]: https://github.com/ReactTraining/history/compare/v4.6.2...v4.6.3
7
+
8
+ ## [v4.6.2]
9
+ > Jun 14, 2017
10
+
11
+ - Rely on the user/browser to encode pathname portion of the URL
12
+ - Add more complete basename matching support (case insensitive matching, basename must be a complete match, see [#459])
13
+
14
+ [v4.6.2]: https://github.com/ReactTraining/history/compare/v4.6.1...v4.6.2
15
+ [#459]: https://github.com/ReactTraining/history/pull/459
16
+
17
+ ## [v4.6.1]
18
+ > Mar 15, 2017
19
+
20
+ - Only encode/decode pathname portion of the URL (see [#445])
21
+
22
+ [v4.6.1]: https://github.com/ReactTraining/history/compare/v4.6.0...v4.6.1
23
+ [#445]: https://github.com/ReactTraining/history/pull/445
24
+
25
+ ## [v4.6.0]
26
+ > Mar 7, 2017
27
+
28
+ - Encode/decode URLs
29
+ - Added `location.key` to the initial location in memory history
30
+ - Added ES modules build in `es` package directory
31
+ - Improve `basename` slash handling (source of a common user error, see [#404] and [#432])
32
+
33
+ [v4.6.0]: https://github.com/ReactTraining/history/compare/v4.5.1...v4.6.0
34
+ [#404]: https://github.com/ReactTraining/history/issues/404
35
+ [#432]: https://github.com/ReactTraining/history/pull/432
36
+
37
+ ## [v4.5.1]
38
+ > Jan 9, 2017
39
+
40
+ - Fix a bug that allowed a history listener to still be called if it was
41
+ unregistered in another listener
42
+
43
+ [v4.5.1]: https://github.com/ReactTraining/history/compare/v4.5.0...v4.5.1
44
+
45
+ ## [v4.5.0]
46
+ > Dec 14, 2016
47
+
48
+ - Added `history.createHref(location)` for creating hrefs suitable for use in `<a href>`
49
+
50
+ [v4.5.0]: https://github.com/ReactTraining/history/compare/v4.4.1...v4.5.0
51
+
52
+ ## [v4.4.1]
53
+ > Nov 24, 2016
54
+
55
+ - Fix the back button on Chrome iOS
56
+
57
+ [v4.4.1]: https://github.com/ReactTraining/history/compare/v4.4.0...v4.4.1
58
+
59
+ ## [v4.4.0]
60
+ > Nov 1, 2016
61
+
62
+ - Use `value-equal` instead of own `deepEqual` function for checking state equality
63
+
64
+ [v4.4.0]: https://github.com/ReactTraining/history/compare/v4.3.0...v4.4.0
65
+
66
+ ## [v4.3.0]
67
+ > Sep 29, 2016
68
+
69
+ - Allow relative pathnames in `history.push` and `history.replace` ([#135])
70
+
71
+ [v4.3.0]: https://github.com/ReactTraining/history/compare/v4.2.1...v4.3.0
72
+ [#135]: https://github.com/ReactTraining/history/issues/135
73
+
74
+ ## [v4.2.1]
75
+ > Sep 29, 2016
76
+
77
+ - Fixed `createLocation` defaults when using objects instead of strings
78
+
79
+ [v4.2.1]: https://github.com/ReactTraining/history/compare/v4.2.0...v4.2.1
80
+
81
+ ## [v4.2.0]
82
+ > Sep 15, 2016
83
+
84
+ - Add `createLocation` to top-level exports
85
+ - Better warnings
86
+
87
+ [v4.2.0]: https://github.com/ReactTraining/history/compare/v4.1.0...v4.2.0
88
+
89
+ ## [v4.1.0]
90
+ > Sep 15, 2016
91
+
92
+ - Automatically use a leading `/` when doing `history.push('')`
93
+ - Automatically clean up bad location descriptors
94
+
95
+ [v4.1.0]: https://github.com/ReactTraining/history/compare/v4.0.0...v4.1.0
96
+
97
+ ## [v4.0.0]
98
+ > Sep 10, 2016
99
+
100
+ - Added back two-arg form of `push` and `replace`
101
+
102
+ [v4.0.0]: https://github.com/ReactTraining/history/compare/v4.0.0-2...v4.0.0
103
+
104
+ ## [v4.0.0-2]
105
+ > Sep 9, 2016
106
+
107
+ - Added `history.length`, `history.location`, and `history.action` properties
108
+ - Added `history.index` and `history.entries` properties in memory history
109
+ - Added `location.pathname`, `location.search`, and `location.hash` instead of
110
+ `location.path` since this is work most people will always have to do
111
+ - Added `parsePath` and `createPath` helpers to top-level exports
112
+ - Removed `history.getCurrentLocation()`
113
+
114
+ [v4.0.0-2]: https://github.com/ReactTraining/history/compare/v4.0.0-1...v4.0.0-2
115
+
116
+ ## [v4.0.0-1]
117
+ > Sep 6, 2016
118
+
119
+ - Fix blocking POP transitions in browsers where listen() has not yet been called
120
+ - Use block(false) to prevent transitions
121
+ - Better warnings for PUSH with the same path using hash history
122
+
123
+ [v4.0.0-1]: https://github.com/ReactTraining/history/compare/v4.0.0-0...v4.0.0-1
124
+
125
+ ## [v4.0.0-0]
126
+ > Sep 3, 2016
127
+
128
+ - Easier top-level `import`s. Use `import createHistory from "history/createBrowserHistory"` instead of `history/lib/createBrowserHistory`.
129
+ - Removed the "middleware" API (i.e. all "use" functions).
130
+ - Moved path and query parsing out of core. Location objects are now `{ path, state, key }`. Any other parsing can be done outside core.
131
+ - Removed the `Actions` module. `location.action` is now just a string. No need to `import` our constants.
132
+ - Switched to using `window.history.state` in `createBrowserHistory` instead of `sessionStorage`.
133
+ - Removed `location.state` entirely from `createHashHistory` locations.
134
+ - Removed support for basename in `createMemoryHistory`.
135
+ - Refactored the test suite. Tests are much more flexible and easier to zero in on one that is failing.
136
+
137
+ [v4.0.0-0]: https://github.com/ReactTraining/history/compare/v3.2.1...v4.0.0-0
138
+
139
+ ## [v3.2.0]
140
+ > Sep 1, 2016
141
+
142
+ - Exposed `canGo` in memory history
143
+
144
+ [v3.2.0]: https://github.com/ReactTraining/history/compare/v3.1.0...v3.2.0
145
+
146
+ ## [v3.1.0]
147
+ > Sep 1, 2016
148
+
149
+ - Added `hashType` option to hash history for supporting different
150
+ hash URL schemes including "hashbang" and no leading slash
151
+ - **Bugfix:** Fix URL restoration on canceled popstate transitions
152
+ - Better React Native support
153
+
154
+ [v3.1.0]: https://github.com/ReactTraining/history/compare/v3.0.0...v3.1.0
155
+
156
+ ## [v3.0.0]
157
+ > May 30, 2016
158
+
159
+ - `location.query` has no prototype
160
+ - Warn about protocol-relative URLs ([#243])
161
+ - **Bugfix:** Ignore errors when saving hash history state if
162
+ `window.sessionStorage` is undefined ([#295])
163
+ - **Bugfix:** Fix replacing hash path in IE served via file protocol ([#126])
164
+
165
+ [v3.0.0]: https://github.com/ReactTraining/history/compare/v3.0.0-2...v3.0.0
166
+ [#243]: https://github.com/ReactTraining/history/issues/243
167
+ [#295]: https://github.com/ReactTraining/history/issues/295
168
+ [#126]: https://github.com/ReactTraining/history/issues/126
169
+
170
+ ## [v3.0.0-2]
171
+ > Apr 19, 2016
172
+
173
+ - Lower-cased UMD build file name
174
+
175
+ [v3.0.0-2]: https://github.com/ReactTraining/history/compare/v3.0.0-1...v3.0.0-2
176
+
177
+ ## [v3.0.0-1]
178
+ > Apr 19, 2016
179
+
180
+ - Added `locationsAreEqual` to top-level exports
181
+ - **Breakage:** Removed support for `<base href>` as `basename` ([#94])
182
+ - Removed dependency on `deep-equal`
183
+
184
+ [v3.0.0-1]: https://github.com/ReactTraining/history/compare/v3.0.0-0...v3.0.0-1
185
+ [#94]: https://github.com/ReactTraining/history/issues/94
186
+
187
+ ## [3.0.0-0]
188
+ > Mar 19, 2016
189
+
190
+ - Added `history.getCurrentLocation()` method
191
+ - **Breakage:** `history.listen` no longer calls the callback synchronously once.
192
+ Use `history.getCurrentLocation` instead
193
+ - **Breakage:** `location.key` on the initial POP is `null`. Users who relied on
194
+ this key may immediately use `replace` to get it back
195
+ - **Breakage:** `location.state` is `undefined` (instead of `null`) if the location
196
+ has no state. This helps us know when we need to access session storage and when
197
+ we can safely ignore it
198
+ - **Bugfix:** Hash history now uses a custom query string key/value pair only if
199
+ the location has state. This obsoletes using `{ queryKey: false }` to prevent
200
+ the query string from being used ([#163])
201
+ - **Bugfix:** Do not access `window.sessionStorage` unless the location has state.
202
+ This should minimize the # of times we access session storage and allow users to
203
+ opt-out of using it entirely by not using location state
204
+
205
+ [3.0.0-0]: https://github.com/ReactTraining/history/compare/v2.0.0...v3.0.0-0
206
+ [#163]: https://github.com/ReactTraining/history/issues/163
207
+
208
+ ## [v2.0.0]
209
+ > Feb 4, 2016
210
+
211
+ - **Bugfix:** Fix search base logic with an empty query ([#221])
212
+ - **Bugfix:** Fail gracefully when Safari 5 security settings prevent access to window.sessionStorage ([#223])
213
+
214
+ [v2.0.0]: https://github.com/ReactTraining/history/compare/v2.0.0-rc3...v2.0.0
215
+ [#221]: https://github.com/ReactTraining/history/issues/221
216
+ [#223]: https://github.com/ReactTraining/history/pull/223
217
+
218
+ ## [v2.0.0-rc3]
219
+ > Feb 3, 2016
220
+
221
+ - **Bugfix:** Don't convert same-path `PUSH` to `REPLACE` when `location.state` changes ([#179])
222
+ - **Bugfix:** Re-enable browser history on Chrome iOS ([#208])
223
+ - **Bugfix:** Properly support location descriptors in `history.createLocation` ([#200])
224
+
225
+ [v2.0.0-rc3]: https://github.com/ReactTraining/history/compare/v2.0.0-rc2...v2.0.0-rc3
226
+ [#179]: https://github.com/ReactTraining/history/pull/179
227
+ [#208]: https://github.com/ReactTraining/history/pull/208
228
+ [#200]: https://github.com/ReactTraining/history/pull/200
229
+
230
+ ## [v2.0.0-rc2]
231
+ > Jan 9, 2016
232
+
233
+ - Add back deprecation warnings
234
+
235
+ [v2.0.0-rc2]: https://github.com/ReactTraining/history/compare/v2.0.0-rc1...v2.0.0-rc2
236
+
237
+ ## [v2.0.0-rc1]
238
+ > Jan 2, 2016
239
+
240
+ - **Bugfix:** Don't create empty entries in session storage ([#177])
241
+
242
+ [v2.0.0-rc1]: https://github.com/ReactTraining/history/compare/v1.17.0...v2.0.0-rc1
243
+ [#177]: https://github.com/ReactTraining/history/pull/177
244
+
245
+ ## [v1.17.0]
246
+ > Dec 19, 2015
247
+
248
+ - **Bugfix:** Don't throw in memory history when out of history entries ([#170])
249
+ - **Bugfix:** Fix the deprecation warnings on `createPath` and `createHref` ([#189])
250
+
251
+ [v1.17.0]: https://github.com/ReactTraining/history/compare/v1.16.0...v1.17.0
252
+ [#170]: https://github.com/ReactTraining/history/pull/170
253
+ [#189]: https://github.com/ReactTraining/history/pull/189
254
+
255
+ ## [v1.16.0]
256
+ > Dec 10, 2015
257
+
258
+ - **Bugfix:** Silence all warnings that were introduced since 1.13 (see [reactjs/react-router#2682])
259
+ - Deprecate the `createLocation` method in the top-level exports
260
+ - Deprecate the `state` arg to `history.createLocation`
261
+
262
+ [v1.16.0]: https://github.com/ReactTraining/history/compare/v1.15.0...v1.16.0
263
+ [reactjs/react-router#2682]: https://github.com/reactjs/react-router/issues/2682
264
+
265
+ ## [v1.15.0]
266
+ > Dec 7, 2015
267
+
268
+ - Accept location descriptors in `createPath` and `createHref` ([#173])
269
+ - Deprecate the `query` arg to `createPath` and `createHref` in favor of using location descriptor objects ([#173])
270
+
271
+ [v1.15.0]: https://github.com/ReactTraining/history/compare/v1.14.0...v1.15.0
272
+ [#173]: https://github.com/ReactTraining/history/pull/173
273
+
274
+ ## [v1.14.0]
275
+ > Dec 6, 2015
276
+
277
+ - Accept objects in `history.push` and `history.replace` ([#141])
278
+ - Deprecate `history.pushState` and `history.replaceState` in favor of passing objects to `history.push` and `history.replace` ([#168])
279
+ - **Bugfix:** Disable browser history on Chrome iOS ([#146])
280
+ - **Bugfix:** Do not convert same-path PUSH to REPLACE if the hash has changed ([#167])
281
+ - Add ES2015 module build ([#152])
282
+ - Use query-string module instead of qs to save on bytes ([#121])
283
+
284
+ [v1.14.0]: https://github.com/ReactTraining/history/compare/v1.13.1...v1.14.0
285
+ [#121]: https://github.com/ReactTraining/history/issues/121
286
+ [#141]: https://github.com/ReactTraining/history/pull/141
287
+ [#146]: https://github.com/ReactTraining/history/pull/146
288
+ [#152]: https://github.com/ReactTraining/history/pull/152
289
+ [#167]: https://github.com/ReactTraining/history/pull/167
290
+ [#168]: https://github.com/ReactTraining/history/pull/168
291
+
292
+ ## [v1.13.1]
293
+ > Nov 13, 2015
294
+
295
+ - Fail gracefully when Safari security settings prevent access to window.sessionStorage
296
+ - Pushing the currently active path will result in a replace to not create additional browser history entries ([#43])
297
+ - Strip the protocol and domain from `<base href>` ([#139])
298
+
299
+ [v1.13.1]: https://github.com/ReactTraining/history/compare/v1.13.0...v1.13.1
300
+ [#43]: https://github.com/ReactTraining/history/pull/43
301
+ [#139]: https://github.com/ReactTraining/history/pull/139
302
+
303
+ ## [v1.13.0]
304
+ > Oct 28, 2015
305
+
306
+ - `useBasename` transparently handles trailing slashes ([#108])
307
+ - `useBasename` automatically uses the value of `<base href>` when no
308
+ `basename` option is provided ([#94])
309
+
310
+ [v1.13.0]: https://github.com/ReactTraining/history/compare/v1.12.6...v1.13.0
311
+ [#108]: https://github.com/ReactTraining/history/pull/108
312
+ [#94]: https://github.com/ReactTraining/history/issues/94
313
+
314
+ ## [v1.12.6]
315
+ > Oct 25, 2015
316
+
317
+ - Add `forceRefresh` option to `createBrowserHistory` that forces
318
+ full page refreshes even when the browser supports pushState ([#95])
319
+
320
+ [v1.12.6]: https://github.com/ReactTraining/history/compare/v1.12.5...v1.12.6
321
+ [#95]: https://github.com/ReactTraining/history/issues/95
322
+
323
+ ## [v1.12.5]
324
+ > Oct 11, 2015
325
+
326
+ - Un-deprecate top-level createLocation method
327
+ - Add ability to use `{ pathname, search, hash }` object anywhere
328
+ a path can be used
329
+ - Fix `useQueries` handling of hashes ([#93])
330
+
331
+ [v1.12.5]: https://github.com/ReactTraining/history/compare/v1.12.4...v1.12.5
332
+ [#93]: https://github.com/ReactTraining/history/issues/93
333
+
334
+ ## [v1.12.4]
335
+ > Oct 9, 2015
336
+
337
+ - Fix npm postinstall hook on Windows ([#62])
338
+
339
+ [v1.12.4]: https://github.com/ReactTraining/history/compare/v1.12.3...v1.12.4
340
+ [#62]: https://github.com/ReactTraining/history/issues/62
341
+
342
+ ## [v1.12.3]
343
+ > Oct 7, 2015
344
+
345
+ - Fix listenBefore hooks not being called unless a listen hook was also registered ([#71])
346
+ - Add a warning when we cannot save state in Safari private mode ([#42])
347
+
348
+ [v1.12.3]: https://github.com/ReactTraining/history/compare/v1.12.2...v1.12.3
349
+ [#71]: https://github.com/ReactTraining/history/issues/71
350
+ [#42]: https://github.com/ReactTraining/history/issues/42
351
+
352
+ ## [v1.12.2]
353
+ > Oct 6, 2015
354
+
355
+ - Fix hash support (see [comments in #51][#51-comments])
356
+
357
+ [v1.12.2]: https://github.com/ReactTraining/history/compare/v1.12.1...v1.12.2
358
+ [#51-comments]: https://github.com/ReactTraining/history/pull/51#issuecomment-143189672
359
+
360
+ ## [v1.12.1]
361
+ > Oct 5, 2015
362
+
363
+ - Give `location` objects a `key` by default
364
+ - Deprecate `history.setState`
365
+
366
+ [v1.12.1]: https://github.com/ReactTraining/history/compare/v1.12.0...v1.12.1
367
+
368
+ ## [v1.12.0]
369
+ > Oct 4, 2015
370
+
371
+ - Add `history.createLocation` instance method. This allows history enhancers such as `useQueries` to modify `location` objects when creating them directly
372
+ - Deprecate `createLocation` method on top-level exports
373
+
374
+ [v1.12.0]: https://github.com/ReactTraining/history/compare/v1.11.1...v1.12.0
375
+
376
+ ## [v1.11.1]
377
+ > Sep 26, 2015
378
+
379
+ - Fix `location.basename` when location matches exactly ([#68])
380
+ - Allow transitions to be interrupted by another
381
+
382
+ [v1.11.1]: https://github.com/ReactTraining/history/compare/v1.11.0...v1.11.1
383
+ [#68]: https://github.com/ReactTraining/history/issues/68
384
+
385
+ ## [v1.11.0]
386
+ > Sep 24, 2015
387
+
388
+ - Add `useBasename` history enhancer
389
+ - Add `history.listenBefore`
390
+ - Add `history.listenBeforeUnload` to `useBeforeUnload` history enhancer
391
+ - Deprecate (un)registerTransitionHook
392
+ - Deprecate (un)registerBeforeUnloadHook
393
+ - Fix installing directly from git repo
394
+
395
+ [v1.11.0]: https://github.com/ReactTraining/history/compare/v1.10.2...v1.11.0
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ require('./warnAboutDeprecatedCJSRequire.js')('DOMUtils');
3
+ module.exports = require('./index.js').DOMUtils;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ require('./warnAboutDeprecatedCJSRequire.js')('ExecutionEnvironment');
3
+ module.exports = require('./index.js').ExecutionEnvironment;