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

Sign up to get free protection for your applications and to get access to all the features.
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;