bowser 1.9.3 → 1.9.4
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.
- package/.idea/workspace.xml +316 -263
- package/CHANGELOG.md +6 -0
- package/README.md +2 -1
- package/bower.json +1 -1
- package/bowser.js +25 -1
- package/bowser.min.js +1 -1
- package/package.json +1 -1
- package/src/bowser.js +25 -1
- package/typings.d.ts +2 -1
package/.idea/workspace.xml
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
3
|
<component name="ChangeListManager">
|
|
4
|
-
<list default="true" id="e5d5968a-8f20-496e-9038-3ca60f9ade67" name="Default" comment=""
|
|
5
|
-
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" afterPath="$PROJECT_DIR$/CHANGELOG.md" />
|
|
6
|
-
<change beforePath="$PROJECT_DIR$/bower.json" afterPath="$PROJECT_DIR$/bower.json" />
|
|
7
|
-
<change beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
|
|
8
|
-
</list>
|
|
4
|
+
<list default="true" id="e5d5968a-8f20-496e-9038-3ca60f9ade67" name="Default" comment="" />
|
|
9
5
|
<ignored path="bowser.iws" />
|
|
10
6
|
<ignored path=".idea/workspace.xml" />
|
|
11
7
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
@@ -23,44 +19,20 @@
|
|
|
23
19
|
</component>
|
|
24
20
|
<component name="FileEditorManager">
|
|
25
21
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
|
26
|
-
<file leaf-file-name="
|
|
27
|
-
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
|
28
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
29
|
-
<state relative-caret-position="51">
|
|
30
|
-
<caret line="3" column="64" lean-forward="false" selection-start-line="3" selection-start-column="64" selection-end-line="3" selection-end-column="64" />
|
|
31
|
-
<folding />
|
|
32
|
-
</state>
|
|
33
|
-
</provider>
|
|
34
|
-
</entry>
|
|
35
|
-
</file>
|
|
36
|
-
<file leaf-file-name="typings.d.ts" pinned="false" current-in-tab="false">
|
|
37
|
-
<entry file="file://$PROJECT_DIR$/typings.d.ts">
|
|
38
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
39
|
-
<state relative-caret-position="1632">
|
|
40
|
-
<caret line="96" column="119" lean-forward="false" selection-start-line="96" selection-start-column="119" selection-end-line="96" selection-end-column="119" />
|
|
41
|
-
<folding>
|
|
42
|
-
<element signature="n#!!doc" expanded="true" />
|
|
43
|
-
</folding>
|
|
44
|
-
</state>
|
|
45
|
-
</provider>
|
|
46
|
-
</entry>
|
|
47
|
-
</file>
|
|
48
|
-
<file leaf-file-name="package.json" pinned="false" current-in-tab="false">
|
|
22
|
+
<file leaf-file-name="package.json" pinned="false" current-in-tab="true">
|
|
49
23
|
<entry file="file://$PROJECT_DIR$/package.json">
|
|
50
24
|
<provider selected="true" editor-type-id="text-editor">
|
|
51
25
|
<state relative-caret-position="34">
|
|
52
|
-
<caret line="2" column="19"
|
|
53
|
-
<folding />
|
|
26
|
+
<caret line="2" column="19" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
|
|
54
27
|
</state>
|
|
55
28
|
</provider>
|
|
56
29
|
</entry>
|
|
57
30
|
</file>
|
|
58
|
-
<file leaf-file-name="
|
|
59
|
-
<entry file="file://$PROJECT_DIR$/
|
|
31
|
+
<file leaf-file-name="bowser.js" pinned="false" current-in-tab="false">
|
|
32
|
+
<entry file="file://$PROJECT_DIR$/src/bowser.js">
|
|
60
33
|
<provider selected="true" editor-type-id="text-editor">
|
|
61
|
-
<state relative-caret-position="
|
|
62
|
-
<caret line="
|
|
63
|
-
<folding />
|
|
34
|
+
<state relative-caret-position="17">
|
|
35
|
+
<caret line="506" column="5" selection-start-line="506" selection-start-column="5" selection-end-line="506" selection-end-column="5" />
|
|
64
36
|
</state>
|
|
65
37
|
</provider>
|
|
66
38
|
</entry>
|
|
@@ -69,26 +41,6 @@
|
|
|
69
41
|
</component>
|
|
70
42
|
<component name="FindInProjectRecents">
|
|
71
43
|
<findStrings>
|
|
72
|
-
<find>parseFile</find>
|
|
73
|
-
<find>default</find>
|
|
74
|
-
<find>Windows Phone</find>
|
|
75
|
-
<find>Webos</find>
|
|
76
|
-
<find>Mozilla/5.0 (Linux; U; Android 4.4.2; de-de; Nexus 7 Build/KOT49H) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16</find>
|
|
77
|
-
<find>like</find>
|
|
78
|
-
<find>Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:26.0) Gecko/26.0 Firefox/26.0 SailfishBrowser/1.0 like Safari/538.1</find>
|
|
79
|
-
<find>Sa</find>
|
|
80
|
-
<find>Sailfish</find>
|
|
81
|
-
<find>Firefox</find>
|
|
82
|
-
<find>sailfish</find>
|
|
83
|
-
<find>boos</find>
|
|
84
|
-
<find>opera m</find>
|
|
85
|
-
<find>Mozilla/5.0 (Linux; U; Android 6.0; R1 HD Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Mobile Safari/537.36 OPR/18.0.2254.106542</find>
|
|
86
|
-
<find>isUnsup</find>
|
|
87
|
-
<find>name: '[a-zA-Z ]+'\s+,</find>
|
|
88
|
-
<find>Chrome</find>
|
|
89
|
-
<find>OPR</find>
|
|
90
|
-
<find>safari</find>
|
|
91
|
-
<find>iphone</find>
|
|
92
44
|
<find>chromium: true</find>
|
|
93
45
|
<find>flag</find>
|
|
94
46
|
<find>msedge</find>
|
|
@@ -99,6 +51,26 @@
|
|
|
99
51
|
<find>undefi</find>
|
|
100
52
|
<find>ios</find>
|
|
101
53
|
<find>mobi</find>
|
|
54
|
+
<find>husky</find>
|
|
55
|
+
<find>safari</find>
|
|
56
|
+
<find>w</find>
|
|
57
|
+
<find>x</find>
|
|
58
|
+
<find>tablet</find>
|
|
59
|
+
<find>we</find>
|
|
60
|
+
<find>webos</find>
|
|
61
|
+
<find>parse</find>
|
|
62
|
+
<find>parseBrowser</find>
|
|
63
|
+
<find>@priva</find>
|
|
64
|
+
<find>parsedResult</find>
|
|
65
|
+
<find>Parser</find>
|
|
66
|
+
<find>spy</find>
|
|
67
|
+
<find>ge</find>
|
|
68
|
+
<find>parseEngine</find>
|
|
69
|
+
<find>engin</find>
|
|
70
|
+
<find>ava</find>
|
|
71
|
+
<find>getWindowsVersionName</find>
|
|
72
|
+
<find>android</find>
|
|
73
|
+
<find>_parsed</find>
|
|
102
74
|
</findStrings>
|
|
103
75
|
<replaceStrings>
|
|
104
76
|
<replace>descript</replace>
|
|
@@ -113,41 +85,44 @@
|
|
|
113
85
|
<option name="CHANGED_PATHS">
|
|
114
86
|
<list>
|
|
115
87
|
<option value="$PROJECT_DIR$/.editorconfig" />
|
|
116
|
-
<option value="$PROJECT_DIR$/.npmignore" />
|
|
117
88
|
<option value="$PROJECT_DIR$/src/copyright.js" />
|
|
118
89
|
<option value="$PROJECT_DIR$/make/build.js" />
|
|
119
90
|
<option value="$PROJECT_DIR$/ISSUE_TEMPLATE.md" />
|
|
120
|
-
<option value="$PROJECT_DIR$/.babelrc" />
|
|
121
|
-
<option value="$PROJECT_DIR$/test/unit/utils.js" />
|
|
122
|
-
<option value="$PROJECT_DIR$/src/utils.js" />
|
|
123
91
|
<option value="$PROJECT_DIR$/.testem.json" />
|
|
124
92
|
<option value="$PROJECT_DIR$/transpile-json-to-yaml.js" />
|
|
125
|
-
<option value="$PROJECT_DIR$/.gitignore" />
|
|
126
93
|
<option value="$PROJECT_DIR$/src/parser-enignes.js" />
|
|
127
94
|
<option value="$PROJECT_DIR$/src/parser-engines.js" />
|
|
128
95
|
<option value="$PROJECT_DIR$/convert-old-json-to-yaml.js" />
|
|
129
|
-
<option value="$PROJECT_DIR$/src/bowser.js" />
|
|
130
96
|
<option value="$PROJECT_DIR$/src/parsed-object.js" />
|
|
131
97
|
<option value="$PROJECT_DIR$/useragentstrings.yml" />
|
|
132
98
|
<option value="$PROJECT_DIR$/helpers/convert-old-json-to-yaml.js" />
|
|
133
|
-
<option value="$PROJECT_DIR$/test/unit/parser.js" />
|
|
134
|
-
<option value="$PROJECT_DIR$/.travis.yml" />
|
|
135
99
|
<option value="$PROJECT_DIR$/test/test.js" />
|
|
136
|
-
<option value="$PROJECT_DIR$/test/acceptance/test-list-of-ua.js" />
|
|
137
|
-
<option value="$PROJECT_DIR$/src/useragents.js" />
|
|
138
100
|
<option value="$PROJECT_DIR$/README.md" />
|
|
139
101
|
<option value="$PROJECT_DIR$/test/acceptance/useragentstrings.yml" />
|
|
140
102
|
<option value="$PROJECT_DIR$/src/parser-platforms.js" />
|
|
141
103
|
<option value="$PROJECT_DIR$/.eslintignore" />
|
|
142
104
|
<option value="$PROJECT_DIR$/.eslintrc.yml" />
|
|
143
105
|
<option value="$PROJECT_DIR$/src/parser-browsers.js" />
|
|
144
|
-
<option value="$PROJECT_DIR$/src/parser.js" />
|
|
145
|
-
<option value="$PROJECT_DIR$/src/parser-os.js" />
|
|
146
106
|
<option value="$PROJECT_DIR$/src/new-bowser.js" />
|
|
147
107
|
<option value="$PROJECT_DIR$/typings.d.ts" />
|
|
108
|
+
<option value="$PROJECT_DIR$/test/acceptance/test-list-of-ua.js" />
|
|
109
|
+
<option value="$PROJECT_DIR$/bower.json" />
|
|
110
|
+
<option value="$PROJECT_DIR$/src/useragents.js" />
|
|
148
111
|
<option value="$PROJECT_DIR$/CHANGELOG.md" />
|
|
112
|
+
<option value="$PROJECT_DIR$/test/unit/parser.js" />
|
|
113
|
+
<option value="$PROJECT_DIR$/test/unit/bowser.js" />
|
|
114
|
+
<option value="$PROJECT_DIR$/.coveralls.yml" />
|
|
115
|
+
<option value="$PROJECT_DIR$/.travis.yml" />
|
|
116
|
+
<option value="$PROJECT_DIR$/.npmignore" />
|
|
117
|
+
<option value="$PROJECT_DIR$/.gitignore" />
|
|
149
118
|
<option value="$PROJECT_DIR$/package.json" />
|
|
150
|
-
<option value="$PROJECT_DIR$/
|
|
119
|
+
<option value="$PROJECT_DIR$/src/bowser.js" />
|
|
120
|
+
<option value="$PROJECT_DIR$/.nycrc" />
|
|
121
|
+
<option value="$PROJECT_DIR$/.babelrc" />
|
|
122
|
+
<option value="$PROJECT_DIR$/src/utils.js" />
|
|
123
|
+
<option value="$PROJECT_DIR$/src/parser-os.js" />
|
|
124
|
+
<option value="$PROJECT_DIR$/test/unit/utils.js" />
|
|
125
|
+
<option value="$PROJECT_DIR$/src/parser.js" />
|
|
151
126
|
</list>
|
|
152
127
|
</option>
|
|
153
128
|
</component>
|
|
@@ -156,10 +131,9 @@
|
|
|
156
131
|
<package-json value="$PROJECT_DIR$/package.json" />
|
|
157
132
|
</component>
|
|
158
133
|
<component name="JsFlowSettings">
|
|
159
|
-
<service-enabled>
|
|
134
|
+
<service-enabled>true</service-enabled>
|
|
160
135
|
<exe-path />
|
|
161
|
-
<
|
|
162
|
-
<other-services-enabled>false</other-services-enabled>
|
|
136
|
+
<other-services-enabled>true</other-services-enabled>
|
|
163
137
|
<auto-save>true</auto-save>
|
|
164
138
|
</component>
|
|
165
139
|
<component name="JsGulpfileManager">
|
|
@@ -169,23 +143,19 @@
|
|
|
169
143
|
<component name="NodeModulesDirectoryManager">
|
|
170
144
|
<handled-path value="$PROJECT_DIR$/node_modules" />
|
|
171
145
|
</component>
|
|
172
|
-
<component name="
|
|
146
|
+
<component name="NodePackageJsonFileManager">
|
|
147
|
+
<packageJsonPaths>
|
|
148
|
+
<path value="$PROJECT_DIR$/package.json" />
|
|
149
|
+
</packageJsonPaths>
|
|
150
|
+
</component>
|
|
151
|
+
<component name="ProjectFrameBounds">
|
|
173
152
|
<option name="y" value="22" />
|
|
174
|
-
<option name="width" value="
|
|
175
|
-
<option name="height" value="
|
|
153
|
+
<option name="width" value="1920" />
|
|
154
|
+
<option name="height" value="1058" />
|
|
176
155
|
</component>
|
|
177
156
|
<component name="ProjectView">
|
|
178
|
-
<navigator
|
|
179
|
-
<
|
|
180
|
-
<showMembers />
|
|
181
|
-
<showModules />
|
|
182
|
-
<showLibraryContents />
|
|
183
|
-
<hideEmptyPackages />
|
|
184
|
-
<abbreviatePackageNames />
|
|
185
|
-
<autoscrollToSource />
|
|
186
|
-
<autoscrollFromSource />
|
|
187
|
-
<sortByType />
|
|
188
|
-
<manualOrder />
|
|
157
|
+
<navigator proportions="" version="1">
|
|
158
|
+
<autoscrollFromSource ProjectPane="true" />
|
|
189
159
|
<foldersAlwaysOnTop value="true" />
|
|
190
160
|
</navigator>
|
|
191
161
|
<panes>
|
|
@@ -202,36 +172,31 @@
|
|
|
202
172
|
<item name="bowser" type="462c0819:PsiDirectoryNode" />
|
|
203
173
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
204
174
|
</path>
|
|
205
|
-
<path>
|
|
206
|
-
<item name="bowser" type="b2602c69:ProjectViewProjectNode" />
|
|
207
|
-
<item name="bowser" type="462c0819:PsiDirectoryNode" />
|
|
208
|
-
<item name="bowser.js" type="620a8d5e:NestingTreeNode" />
|
|
209
|
-
</path>
|
|
210
175
|
</expand>
|
|
211
176
|
<select />
|
|
212
177
|
</subPane>
|
|
213
178
|
</pane>
|
|
214
|
-
<pane id="Scratches" />
|
|
215
179
|
</panes>
|
|
216
180
|
</component>
|
|
217
181
|
<component name="PropertiesComponent">
|
|
218
|
-
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
|
219
|
-
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
220
182
|
<property name="HbShouldOpenHtmlAsHb" value="" />
|
|
221
|
-
<property name="js-jscs-nodeInterpreter" value="$USER_HOME$/.nvm/versions/node/v4.2.4/bin/node" />
|
|
222
|
-
<property name="editor.config.accepted" value="true" />
|
|
223
|
-
<property name="nodejs_interpreter_path" value="$USER_HOME$/.nvm/versions/node/v4.4.7/bin/node" />
|
|
224
|
-
<property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" />
|
|
225
|
-
<property name="settings.editor.selected.configurable" value="settings.javascript.linters.eslint" />
|
|
226
|
-
<property name="javascript.nodejs.core.library.configured.version" value="4.4.7" />
|
|
227
183
|
<property name="JavaScriptWeakerCompletionTypeGuess" value="true" />
|
|
228
184
|
<property name="SearchEverywhereHistoryKey" value="plat	FILE	file:///Users/lancedikson/Projects/github/bowser/src/parser-platforms.js" />
|
|
229
|
-
<property name="
|
|
185
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
186
|
+
<property name="editor.config.accepted" value="true" />
|
|
187
|
+
<property name="javascript.nodejs.core.library.configured.version" value="4.4.7" />
|
|
188
|
+
<property name="js-jscs-nodeInterpreter" value="$USER_HOME$/.nvm/versions/node/v4.2.4/bin/node" />
|
|
189
|
+
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
|
230
190
|
<property name="node.js.detected.package.eslint" value="true" />
|
|
231
|
-
<property name="node.js.selected.package.eslint" value="$PROJECT_DIR$/node_modules/eslint" />
|
|
232
|
-
<property name="node.js.path.for.package.standard" value="node" />
|
|
233
191
|
<property name="node.js.detected.package.standard" value="true" />
|
|
192
|
+
<property name="node.js.path.for.package.eslint" value="node" />
|
|
193
|
+
<property name="node.js.path.for.package.standard" value="node" />
|
|
194
|
+
<property name="node.js.selected.package.eslint" value="$PROJECT_DIR$/node_modules/eslint" />
|
|
234
195
|
<property name="node.js.selected.package.standard" value="$PROJECT_DIR$/node_modules/eslint" />
|
|
196
|
+
<property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" />
|
|
197
|
+
<property name="nodejs_interpreter_path" value="node" />
|
|
198
|
+
<property name="nodejs_package_manager_path" value="npm" />
|
|
199
|
+
<property name="settings.editor.selected.configurable" value="coverage" />
|
|
235
200
|
</component>
|
|
236
201
|
<component name="RecentsManager">
|
|
237
202
|
<key name="MoveFile.RECENT_KEYS">
|
|
@@ -259,61 +224,6 @@
|
|
|
259
224
|
<profiling v8-profiler-path="$USER_HOME$/.nvm/versions/node/v4.4.7/lib/node_modules/v8-profiler" />
|
|
260
225
|
</EXTENSION>
|
|
261
226
|
</configuration>
|
|
262
|
-
<configuration default="true" type="BashConfigurationType" factoryName="Bash">
|
|
263
|
-
<option name="INTERPRETER_OPTIONS" value="" />
|
|
264
|
-
<option name="INTERPRETER_PATH" value="/bin/bash" />
|
|
265
|
-
<option name="WORKING_DIRECTORY" value="" />
|
|
266
|
-
<option name="PARENT_ENVS" value="true" />
|
|
267
|
-
<option name="SCRIPT_NAME" value="" />
|
|
268
|
-
<option name="PARAMETERS" value="" />
|
|
269
|
-
<module name="" />
|
|
270
|
-
<envs />
|
|
271
|
-
<method />
|
|
272
|
-
</configuration>
|
|
273
|
-
<configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
|
|
274
|
-
<method />
|
|
275
|
-
</configuration>
|
|
276
|
-
<configuration default="true" type="DartTestRunConfigurationType" factoryName="Dart Test">
|
|
277
|
-
<method />
|
|
278
|
-
</configuration>
|
|
279
|
-
<configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
|
|
280
|
-
<node-interpreter value="project" />
|
|
281
|
-
<working-dir value="" />
|
|
282
|
-
<envs />
|
|
283
|
-
<scope-kind value="ALL" />
|
|
284
|
-
<method />
|
|
285
|
-
</configuration>
|
|
286
|
-
<configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma">
|
|
287
|
-
<config-file value="" />
|
|
288
|
-
<node-interpreter value="project" />
|
|
289
|
-
<envs />
|
|
290
|
-
<method />
|
|
291
|
-
</configuration>
|
|
292
|
-
<configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
|
|
293
|
-
<config-file value="" />
|
|
294
|
-
<node-interpreter value="project" />
|
|
295
|
-
<envs />
|
|
296
|
-
<method />
|
|
297
|
-
</configuration>
|
|
298
|
-
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
|
299
|
-
<method />
|
|
300
|
-
</configuration>
|
|
301
|
-
<configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
|
|
302
|
-
<method />
|
|
303
|
-
</configuration>
|
|
304
|
-
<configuration default="true" type="cucumber.js" factoryName="Cucumber.js">
|
|
305
|
-
<option name="cucumberJsArguments" value="" />
|
|
306
|
-
<option name="executablePath" />
|
|
307
|
-
<option name="filePath" />
|
|
308
|
-
<method />
|
|
309
|
-
</configuration>
|
|
310
|
-
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
|
|
311
|
-
<command value="run" />
|
|
312
|
-
<scripts />
|
|
313
|
-
<node-interpreter value="project" />
|
|
314
|
-
<envs />
|
|
315
|
-
<method />
|
|
316
|
-
</configuration>
|
|
317
227
|
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
|
318
228
|
<node-interpreter>project</node-interpreter>
|
|
319
229
|
<node-options />
|
|
@@ -337,22 +247,18 @@
|
|
|
337
247
|
<node-options />
|
|
338
248
|
<working-directory>$PROJECT_DIR$</working-directory>
|
|
339
249
|
<pass-parent-env>true</pass-parent-env>
|
|
340
|
-
<envs />
|
|
341
250
|
<ui>bdd</ui>
|
|
342
251
|
<extra-mocha-options />
|
|
343
252
|
<test-kind>DIRECTORY</test-kind>
|
|
344
253
|
<test-directory />
|
|
345
254
|
<recursive>false</recursive>
|
|
346
255
|
</configuration>
|
|
347
|
-
<list
|
|
348
|
-
<item
|
|
349
|
-
<item
|
|
350
|
-
<item
|
|
256
|
+
<list>
|
|
257
|
+
<item itemvalue="Attach to Node.js/Chrome.Unnamed" />
|
|
258
|
+
<item itemvalue="Node.js.watch tests" />
|
|
259
|
+
<item itemvalue="npm.test" />
|
|
351
260
|
</list>
|
|
352
261
|
</component>
|
|
353
|
-
<component name="ShelveChangesManager" show_recycled="false">
|
|
354
|
-
<option name="remove_strategy" value="false" />
|
|
355
|
-
</component>
|
|
356
262
|
<component name="SvnConfiguration">
|
|
357
263
|
<configuration />
|
|
358
264
|
</component>
|
|
@@ -438,12 +344,20 @@
|
|
|
438
344
|
<workItem from="1516101669528" duration="38000" />
|
|
439
345
|
<workItem from="1517854586116" duration="940000" />
|
|
440
346
|
<workItem from="1517908003086" duration="91000" />
|
|
441
|
-
<workItem from="1520884638839" duration="
|
|
347
|
+
<workItem from="1520884638839" duration="1634000" />
|
|
348
|
+
<workItem from="1520949116701" duration="1000" />
|
|
349
|
+
<workItem from="1530113213082" duration="532000" />
|
|
350
|
+
<workItem from="1530126970711" duration="4447000" />
|
|
351
|
+
<workItem from="1530206920060" duration="5405000" />
|
|
352
|
+
<workItem from="1530262456167" duration="106000" />
|
|
353
|
+
<workItem from="1530352808472" duration="13988000" />
|
|
354
|
+
<workItem from="1530395750315" duration="7885000" />
|
|
355
|
+
<workItem from="1530539643434" duration="396000" />
|
|
442
356
|
</task>
|
|
443
357
|
<servers />
|
|
444
358
|
</component>
|
|
445
359
|
<component name="TimeTrackingManager">
|
|
446
|
-
<option name="totallyTimeSpent" value="
|
|
360
|
+
<option name="totallyTimeSpent" value="215788000" />
|
|
447
361
|
</component>
|
|
448
362
|
<component name="TodoView">
|
|
449
363
|
<todo-panel id="selected-file">
|
|
@@ -455,29 +369,50 @@
|
|
|
455
369
|
</todo-panel>
|
|
456
370
|
</component>
|
|
457
371
|
<component name="ToolWindowManager">
|
|
458
|
-
<frame x="0" y="22" width="
|
|
372
|
+
<frame x="0" y="22" width="1920" height="1058" extended-state="6" />
|
|
459
373
|
<editor active="true" />
|
|
460
374
|
<layout>
|
|
461
|
-
<window_info
|
|
462
|
-
<window_info
|
|
463
|
-
<window_info
|
|
464
|
-
<window_info
|
|
465
|
-
<window_info
|
|
466
|
-
<window_info
|
|
467
|
-
<window_info id="
|
|
468
|
-
<window_info id="
|
|
469
|
-
<window_info
|
|
470
|
-
<window_info
|
|
471
|
-
<window_info id="
|
|
472
|
-
<window_info
|
|
473
|
-
<window_info
|
|
474
|
-
<window_info
|
|
475
|
-
<window_info
|
|
476
|
-
<window_info
|
|
477
|
-
<window_info
|
|
478
|
-
<window_info
|
|
479
|
-
<window_info
|
|
375
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.4957265" visible="true" weight="0.16482359" />
|
|
376
|
+
<window_info anchor="bottom" id="TODO" order="6" />
|
|
377
|
+
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
|
378
|
+
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
|
|
379
|
+
<window_info anchor="bottom" id="Run" order="2" weight="0.353562" />
|
|
380
|
+
<window_info anchor="bottom" id="Version Control" order="7" weight="0.32849604" />
|
|
381
|
+
<window_info id="npm" order="2" side_tool="true" />
|
|
382
|
+
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
|
383
|
+
<window_info anchor="bottom" id="Terminal" order="7" weight="0.26923078" />
|
|
384
|
+
<window_info anchor="bottom" id="Debug" order="3" weight="0.23412699" />
|
|
385
|
+
<window_info id="Favorites" order="2" sideWeight="0.50427353" side_tool="true" weight="0.1790416" />
|
|
386
|
+
<window_info anchor="bottom" id="TypeScript" order="7" />
|
|
387
|
+
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
|
388
|
+
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
|
389
|
+
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
|
390
|
+
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
|
391
|
+
<window_info anchor="bottom" id="Message" order="0" />
|
|
392
|
+
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
|
393
|
+
<window_info anchor="bottom" id="Find" order="1" />
|
|
480
394
|
</layout>
|
|
395
|
+
<layout-to-restore>
|
|
396
|
+
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
|
397
|
+
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
|
398
|
+
<window_info id="npm" order="2" side_tool="true" />
|
|
399
|
+
<window_info anchor="bottom" id="Run" order="2" weight="0.353562" />
|
|
400
|
+
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
|
401
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.4957265" visible="true" weight="0.22057787" />
|
|
402
|
+
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
|
403
|
+
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
|
404
|
+
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
|
405
|
+
<window_info anchor="bottom" id="TODO" order="6" />
|
|
406
|
+
<window_info anchor="bottom" id="TypeScript" order="8" />
|
|
407
|
+
<window_info anchor="bottom" id="Find" order="1" />
|
|
408
|
+
<window_info anchor="bottom" id="Debug" order="3" weight="0.23412699" />
|
|
409
|
+
<window_info anchor="bottom" id="Terminal" order="9" weight="0.26923078" />
|
|
410
|
+
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
|
|
411
|
+
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
|
412
|
+
<window_info anchor="bottom" id="Version Control" order="11" weight="0.32849604" />
|
|
413
|
+
<window_info anchor="bottom" id="Message" order="0" />
|
|
414
|
+
<window_info id="Favorites" order="3" sideWeight="0.50427353" side_tool="true" weight="0.1790416" />
|
|
415
|
+
</layout-to-restore>
|
|
481
416
|
</component>
|
|
482
417
|
<component name="TypeScriptGeneratedFilesManager">
|
|
483
418
|
<option name="version" value="1" />
|
|
@@ -504,37 +439,10 @@
|
|
|
504
439
|
</watches-manager>
|
|
505
440
|
</component>
|
|
506
441
|
<component name="editorHistoryManager">
|
|
507
|
-
<entry file="file://$PROJECT_DIR$/src/old.bowser.js" />
|
|
508
|
-
<entry file="file://$PROJECT_DIR$/.editorconfig">
|
|
509
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
510
|
-
<state relative-caret-position="0">
|
|
511
|
-
<caret line="14" column="28" lean-forward="false" selection-start-line="14" selection-start-column="28" selection-end-line="14" selection-end-column="28" />
|
|
512
|
-
</state>
|
|
513
|
-
</provider>
|
|
514
|
-
</entry>
|
|
515
|
-
<entry file="file://$PROJECT_DIR$/src/useragents.js" />
|
|
516
|
-
<entry file="file://$PROJECT_DIR$/test.old.js" />
|
|
517
|
-
<entry file="file://$PROJECT_DIR$/.editorconfig">
|
|
518
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
519
|
-
<state relative-caret-position="0">
|
|
520
|
-
<caret line="6" column="7" lean-forward="false" selection-start-line="6" selection-start-column="7" selection-end-line="6" selection-end-column="7" />
|
|
521
|
-
</state>
|
|
522
|
-
</provider>
|
|
523
|
-
</entry>
|
|
524
|
-
<entry file="file://$PROJECT_DIR$/.npmignore">
|
|
525
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
526
|
-
<state relative-caret-position="0">
|
|
527
|
-
<caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
|
528
|
-
</state>
|
|
529
|
-
</provider>
|
|
530
|
-
</entry>
|
|
531
|
-
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/lib/JavaScriptLanguage.jar!/com/intellij/lang/javascript/index/predefined/EcmaScript.js" />
|
|
532
|
-
<entry file="file://$PROJECT_DIR$/npm-debug.log" />
|
|
533
442
|
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/lib/JavaScriptLanguage.jar!/com/intellij/lang/javascript/index/predefined/HTML5.js" />
|
|
534
443
|
<entry file="file://$PROJECT_DIR$/node_modules/smoosh/lib/smoosh/index.js" />
|
|
535
444
|
<entry file="file://$PROJECT_DIR$/node_modules/smoosh/index.js" />
|
|
536
445
|
<entry file="file://$PROJECT_DIR$/make/build.js" />
|
|
537
|
-
<entry file="file://$PROJECT_DIR$/test/unit/bowser.js" />
|
|
538
446
|
<entry file="file://$PROJECT_DIR$/node_modules/sinon/lib/sinon.js" />
|
|
539
447
|
<entry file="file://$PROJECT_DIR$/LICENSE">
|
|
540
448
|
<provider selected="true" editor-type-id="text-editor">
|
|
@@ -546,16 +454,8 @@
|
|
|
546
454
|
<entry file="file://$PROJECT_DIR$/lib/parser.js" />
|
|
547
455
|
<entry file="file://$PROJECT_DIR$/lib/parser-os.js" />
|
|
548
456
|
<entry file="file://$PROJECT_DIR$/ISSUE_TEMPLATE.md" />
|
|
549
|
-
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
550
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
551
|
-
<state relative-caret-position="68">
|
|
552
|
-
<caret line="4" column="5" lean-forward="false" selection-start-line="4" selection-start-column="5" selection-end-line="4" selection-end-column="5" />
|
|
553
|
-
</state>
|
|
554
|
-
</provider>
|
|
555
|
-
</entry>
|
|
556
457
|
<entry file="file://$PROJECT_DIR$/src/parsed-object.js" />
|
|
557
458
|
<entry file="file://$PROJECT_DIR$/.testem.json" />
|
|
558
|
-
<entry file="file://$PROJECT_DIR$/src/utils.js" />
|
|
559
459
|
<entry file="file://$PROJECT_DIR$/node_modules/yaml2json/index.js" />
|
|
560
460
|
<entry file="file://$PROJECT_DIR$/node_modules/yamljs/lib/Yaml.js" />
|
|
561
461
|
<entry file="file://$PROJECT_DIR$/Makefile">
|
|
@@ -565,77 +465,230 @@
|
|
|
565
465
|
</state>
|
|
566
466
|
</provider>
|
|
567
467
|
</entry>
|
|
568
|
-
<entry file="file://$PROJECT_DIR
|
|
468
|
+
<entry file="file://$PROJECT_DIR$/helpers/convert-old-json-to-yaml.js" />
|
|
469
|
+
<entry file="file://$PROJECT_DIR$/src/old.bowser.js" />
|
|
470
|
+
<entry file="file://$PROJECT_DIR$/.eslintignore" />
|
|
471
|
+
<entry file="file://$PROJECT_DIR$/typings.d.ts">
|
|
569
472
|
<provider selected="true" editor-type-id="text-editor">
|
|
570
|
-
<state relative-caret-position="
|
|
571
|
-
<caret line="
|
|
473
|
+
<state relative-caret-position="68">
|
|
474
|
+
<caret line="4" column="9" lean-forward="true" selection-start-line="4" selection-start-column="9" selection-end-line="4" selection-end-column="9" />
|
|
475
|
+
</state>
|
|
476
|
+
</provider>
|
|
477
|
+
</entry>
|
|
478
|
+
<entry file="file://$PROJECT_DIR$/.eslintrc.yml" />
|
|
479
|
+
<entry file="file://$PROJECT_DIR$/src/bowser.js">
|
|
480
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
481
|
+
<state relative-caret-position="170">
|
|
482
|
+
<caret line="10" column="15" lean-forward="true" selection-start-line="10" selection-start-column="15" selection-end-line="10" selection-end-column="15" />
|
|
483
|
+
</state>
|
|
484
|
+
</provider>
|
|
485
|
+
</entry>
|
|
486
|
+
<entry file="file://$PROJECT_DIR$/bowser.js" />
|
|
487
|
+
<entry file="file://$PROJECT_DIR$/bowser.min.js" />
|
|
488
|
+
<entry file="file://$PROJECT_DIR$/test.old.js" />
|
|
489
|
+
<entry file="file://$PROJECT_DIR$/test/acceptance/test-list-of-ua.js" />
|
|
490
|
+
<entry file="file://$PROJECT_DIR$/bower.json">
|
|
491
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
492
|
+
<state relative-caret-position="255">
|
|
493
|
+
<caret line="15" column="14" lean-forward="true" selection-start-line="15" selection-start-column="14" selection-end-line="15" selection-end-column="14" />
|
|
572
494
|
</state>
|
|
573
495
|
</provider>
|
|
574
496
|
</entry>
|
|
575
|
-
<entry file="file://$PROJECT_DIR$/helpers/convert-old-json-to-yaml.js" />
|
|
576
497
|
<entry file="file://$PROJECT_DIR$/test/test.js" />
|
|
498
|
+
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
|
499
|
+
<provider editor-type-id="text-editor">
|
|
500
|
+
<state relative-caret-position="255">
|
|
501
|
+
<caret line="15" column="23" lean-forward="true" selection-start-line="15" selection-start-column="23" selection-end-line="15" selection-end-column="23" />
|
|
502
|
+
</state>
|
|
503
|
+
</provider>
|
|
504
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
|
505
|
+
<state split_layout="FIRST">
|
|
506
|
+
<first_editor relative-caret-position="646">
|
|
507
|
+
<caret line="38" selection-start-line="38" selection-end-line="38" />
|
|
508
|
+
</first_editor>
|
|
509
|
+
<second_editor>
|
|
510
|
+
<markdownNavigatorState />
|
|
511
|
+
</second_editor>
|
|
512
|
+
</state>
|
|
513
|
+
</provider>
|
|
514
|
+
</entry>
|
|
515
|
+
<entry file="file://$PROJECT_DIR$/src/useragents.js" />
|
|
516
|
+
<entry file="file://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/jsLanguageServicesImpl/external/lib.es5.d.ts">
|
|
517
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
518
|
+
<state relative-caret-position="244">
|
|
519
|
+
<caret line="890" column="4" selection-start-line="890" selection-start-column="4" selection-end-line="890" selection-end-column="4" />
|
|
520
|
+
</state>
|
|
521
|
+
</provider>
|
|
522
|
+
</entry>
|
|
577
523
|
<entry file="file://$PROJECT_DIR$/README.md">
|
|
578
524
|
<provider editor-type-id="text-editor">
|
|
579
525
|
<state relative-caret-position="810">
|
|
580
|
-
<caret line="54" column="43"
|
|
526
|
+
<caret line="54" column="43" selection-start-line="54" selection-start-column="43" selection-end-line="54" selection-end-column="43" />
|
|
527
|
+
</state>
|
|
528
|
+
</provider>
|
|
529
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
|
530
|
+
<state split_layout="FIRST">
|
|
531
|
+
<first_editor relative-caret-position="-2024">
|
|
532
|
+
<caret line="15" column="3" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
|
|
533
|
+
</first_editor>
|
|
534
|
+
<second_editor>
|
|
535
|
+
<markdownNavigatorState />
|
|
536
|
+
</second_editor>
|
|
581
537
|
</state>
|
|
582
538
|
</provider>
|
|
583
539
|
</entry>
|
|
584
|
-
<entry file="file://$PROJECT_DIR
|
|
540
|
+
<entry file="file://$PROJECT_DIR$/.coveralls.yml">
|
|
585
541
|
<provider selected="true" editor-type-id="text-editor">
|
|
586
|
-
<state
|
|
587
|
-
<caret
|
|
542
|
+
<state>
|
|
543
|
+
<caret column="45" selection-start-column="45" selection-end-column="45" />
|
|
588
544
|
</state>
|
|
589
545
|
</provider>
|
|
590
546
|
</entry>
|
|
591
|
-
<entry file="file://$PROJECT_DIR
|
|
592
|
-
<entry file="file://$PROJECT_DIR$/package-lock.json" />
|
|
593
|
-
<entry file="file://$PROJECT_DIR$/.babelrc" />
|
|
594
|
-
<entry file="file://$PROJECT_DIR$/test/acceptance/test-list-of-ua.js" />
|
|
595
|
-
<entry file="file://$PROJECT_DIR$/test/unit/utils.js" />
|
|
596
|
-
<entry file="file://$PROJECT_DIR$/src/useragents.js" />
|
|
597
|
-
<entry file="file://$PROJECT_DIR$/src/old.bowser.js" />
|
|
598
|
-
<entry file="file://$PROJECT_DIR$/test/unit/parser.js" />
|
|
599
|
-
<entry file="file://$PROJECT_DIR$/test/acceptance/useragentstrings.yml" />
|
|
600
|
-
<entry file="file://$PROJECT_DIR$/.eslintignore" />
|
|
601
|
-
<entry file="file://$PROJECT_DIR$/src/parser-platforms.js" />
|
|
602
|
-
<entry file="file://$PROJECT_DIR$/.eslintrc.yml" />
|
|
603
|
-
<entry file="file://$PROJECT_DIR$/src/parser-os.js" />
|
|
604
|
-
<entry file="file://$PROJECT_DIR$/src/parser-engines.js" />
|
|
605
|
-
<entry file="file://$PROJECT_DIR$/src/new-bowser.js" />
|
|
606
|
-
<entry file="file://$PROJECT_DIR$/src/parser-browsers.js" />
|
|
607
|
-
<entry file="file://$PROJECT_DIR$/src/parser.js" />
|
|
608
|
-
<entry file="file://$PROJECT_DIR$/typings.d.ts">
|
|
547
|
+
<entry file="file://$PROJECT_DIR$/.travis.yml">
|
|
609
548
|
<provider selected="true" editor-type-id="text-editor">
|
|
610
|
-
<state relative-caret-position="
|
|
611
|
-
<caret line="
|
|
612
|
-
<folding>
|
|
613
|
-
<element signature="n#!!doc" expanded="true" />
|
|
614
|
-
</folding>
|
|
549
|
+
<state relative-caret-position="68">
|
|
550
|
+
<caret line="4" lean-forward="true" selection-start-line="4" selection-end-line="4" />
|
|
615
551
|
</state>
|
|
616
552
|
</provider>
|
|
617
553
|
</entry>
|
|
618
|
-
<entry file="file://$PROJECT_DIR$/
|
|
554
|
+
<entry file="file://$PROJECT_DIR$/coverage/bowser.js.html">
|
|
619
555
|
<provider selected="true" editor-type-id="text-editor">
|
|
620
|
-
<state relative-caret-position="
|
|
621
|
-
<caret line="
|
|
622
|
-
<folding />
|
|
556
|
+
<state relative-caret-position="127">
|
|
557
|
+
<caret line="225" column="6" lean-forward="true" selection-start-line="225" selection-start-column="6" selection-end-line="225" selection-end-column="6" />
|
|
623
558
|
</state>
|
|
624
559
|
</provider>
|
|
625
560
|
</entry>
|
|
626
|
-
<entry file="file://$PROJECT_DIR
|
|
561
|
+
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
562
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
563
|
+
<state relative-caret-position="102">
|
|
564
|
+
<caret line="6" column="8" selection-start-line="6" selection-start-column="8" selection-end-line="6" selection-end-column="8" />
|
|
565
|
+
</state>
|
|
566
|
+
</provider>
|
|
567
|
+
</entry>
|
|
568
|
+
<entry file="file://$PROJECT_DIR$/.npmignore">
|
|
569
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
570
|
+
<state relative-caret-position="68">
|
|
571
|
+
<caret line="4" selection-start-line="4" selection-end-line="4" />
|
|
572
|
+
</state>
|
|
573
|
+
</provider>
|
|
574
|
+
</entry>
|
|
575
|
+
<entry file="file://$PROJECT_DIR$/test/acceptance/useragentstrings.yml">
|
|
576
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
577
|
+
<state relative-caret-position="85">
|
|
578
|
+
<caret line="5" column="17" lean-forward="true" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
|
|
579
|
+
</state>
|
|
580
|
+
</provider>
|
|
581
|
+
</entry>
|
|
582
|
+
<entry file="file://$PROJECT_DIR$/.nycrc">
|
|
627
583
|
<provider selected="true" editor-type-id="text-editor">
|
|
628
584
|
<state relative-caret-position="34">
|
|
629
|
-
<caret line="2" column="
|
|
630
|
-
<folding />
|
|
585
|
+
<caret line="2" column="21" selection-start-line="2" selection-start-column="21" selection-end-line="2" selection-end-column="21" />
|
|
631
586
|
</state>
|
|
632
587
|
</provider>
|
|
633
588
|
</entry>
|
|
634
|
-
<entry file="file://$PROJECT_DIR
|
|
589
|
+
<entry file="file://$PROJECT_DIR$/.babelrc">
|
|
590
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
591
|
+
<state relative-caret-position="119">
|
|
592
|
+
<caret line="7" column="3" selection-start-line="7" selection-start-column="3" selection-end-line="7" selection-end-column="3" />
|
|
593
|
+
</state>
|
|
594
|
+
</provider>
|
|
595
|
+
</entry>
|
|
596
|
+
<entry file="file://$PROJECT_DIR$/coverage/index.html">
|
|
597
|
+
<provider selected="true" editor-type-id="text-editor" />
|
|
598
|
+
</entry>
|
|
599
|
+
<entry file="file://$PROJECT_DIR$/src/utils.js">
|
|
635
600
|
<provider selected="true" editor-type-id="text-editor">
|
|
636
601
|
<state relative-caret-position="221">
|
|
637
|
-
<caret line="13" column="
|
|
638
|
-
|
|
602
|
+
<caret line="13" column="28" selection-start-line="13" selection-start-column="28" selection-end-line="13" selection-end-column="28" />
|
|
603
|
+
</state>
|
|
604
|
+
</provider>
|
|
605
|
+
</entry>
|
|
606
|
+
<entry file="file://$PROJECT_DIR$/test/unit/utils.js">
|
|
607
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
608
|
+
<state relative-caret-position="51">
|
|
609
|
+
<caret line="3" column="24" lean-forward="true" selection-start-line="3" selection-start-column="24" selection-end-line="3" selection-end-column="24" />
|
|
610
|
+
</state>
|
|
611
|
+
</provider>
|
|
612
|
+
</entry>
|
|
613
|
+
<entry file="file://$PROJECT_DIR$/test/unit/parser.js">
|
|
614
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
615
|
+
<state relative-caret-position="-139">
|
|
616
|
+
<caret line="14" lean-forward="true" selection-start-line="14" selection-end-line="14" />
|
|
617
|
+
</state>
|
|
618
|
+
</provider>
|
|
619
|
+
</entry>
|
|
620
|
+
<entry file="file://$PROJECT_DIR$/src/parser-engines.js">
|
|
621
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
622
|
+
<state relative-caret-position="1411">
|
|
623
|
+
<caret line="83" column="16" selection-start-line="83" selection-start-column="16" selection-end-line="83" selection-end-column="16" />
|
|
624
|
+
</state>
|
|
625
|
+
</provider>
|
|
626
|
+
</entry>
|
|
627
|
+
<entry file="file://$PROJECT_DIR$/src/parser-platforms.js">
|
|
628
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
629
|
+
<state relative-caret-position="-1346">
|
|
630
|
+
<caret line="18" column="14" lean-forward="true" selection-start-line="18" selection-start-column="14" selection-end-line="18" selection-end-column="14" />
|
|
631
|
+
</state>
|
|
632
|
+
</provider>
|
|
633
|
+
</entry>
|
|
634
|
+
<entry file="file://$PROJECT_DIR$/src/parser-os.js">
|
|
635
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
636
|
+
<state relative-caret-position="85">
|
|
637
|
+
<caret line="5" column="16" lean-forward="true" selection-start-line="5" selection-start-column="16" selection-end-line="5" selection-end-column="16" />
|
|
638
|
+
<folding>
|
|
639
|
+
<element signature="e#0#68#0" expanded="true" />
|
|
640
|
+
</folding>
|
|
641
|
+
</state>
|
|
642
|
+
</provider>
|
|
643
|
+
</entry>
|
|
644
|
+
<entry file="file://$PROJECT_DIR$/test/unit/bowser.js">
|
|
645
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
646
|
+
<state relative-caret-position="255">
|
|
647
|
+
<caret line="15" column="29" selection-start-line="15" selection-start-column="29" selection-end-line="15" selection-end-column="29" />
|
|
648
|
+
<folding>
|
|
649
|
+
<element signature="e#0#23#0" expanded="true" />
|
|
650
|
+
</folding>
|
|
651
|
+
</state>
|
|
652
|
+
</provider>
|
|
653
|
+
</entry>
|
|
654
|
+
<entry file="file://$PROJECT_DIR$/src/parser-browsers.js">
|
|
655
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
656
|
+
<state relative-caret-position="714">
|
|
657
|
+
<caret line="65" column="4" lean-forward="true" selection-start-line="65" selection-start-column="4" selection-end-line="65" selection-end-column="4" />
|
|
658
|
+
<folding>
|
|
659
|
+
<element signature="e#1322#1383#0" expanded="true" />
|
|
660
|
+
</folding>
|
|
661
|
+
</state>
|
|
662
|
+
</provider>
|
|
663
|
+
</entry>
|
|
664
|
+
<entry file="file://$PROJECT_DIR$/src/parser.js">
|
|
665
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
666
|
+
<state relative-caret-position="687">
|
|
667
|
+
<caret line="312" column="17" lean-forward="true" selection-start-line="312" selection-start-column="17" selection-end-line="312" selection-end-column="17" />
|
|
668
|
+
<folding>
|
|
669
|
+
<element signature="e#0#28#0" expanded="true" />
|
|
670
|
+
</folding>
|
|
671
|
+
</state>
|
|
672
|
+
</provider>
|
|
673
|
+
</entry>
|
|
674
|
+
<entry file="file://$PROJECT_DIR$/package-lock.json">
|
|
675
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
676
|
+
<state relative-caret-position="255">
|
|
677
|
+
<caret line="15" column="40" selection-start-line="15" selection-start-column="40" selection-end-line="15" selection-end-column="40" />
|
|
678
|
+
</state>
|
|
679
|
+
</provider>
|
|
680
|
+
</entry>
|
|
681
|
+
<entry file="file://$PROJECT_DIR$/src/bowser.js">
|
|
682
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
683
|
+
<state relative-caret-position="17">
|
|
684
|
+
<caret line="506" column="5" selection-start-line="506" selection-start-column="5" selection-end-line="506" selection-end-column="5" />
|
|
685
|
+
</state>
|
|
686
|
+
</provider>
|
|
687
|
+
</entry>
|
|
688
|
+
<entry file="file://$PROJECT_DIR$/package.json">
|
|
689
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
690
|
+
<state relative-caret-position="34">
|
|
691
|
+
<caret line="2" column="19" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
|
|
639
692
|
</state>
|
|
640
693
|
</provider>
|
|
641
694
|
</entry>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Bowser Changelog
|
|
2
2
|
|
|
3
|
+
### 1.9.4 (June 28, 2018)
|
|
4
|
+
- [FIX] Fix NAVER Whale browser detection (#220)
|
|
5
|
+
- [FIX] Fix MZ Browser browser detection (#219)
|
|
6
|
+
- [FIX] Fix Firefox Focus browser detection (#191)
|
|
7
|
+
- [FIX] Fix webOS browser detection (#186)
|
|
8
|
+
|
|
3
9
|
### 1.9.3 (March 12, 2018)
|
|
4
10
|
- [FIX] Fix `typings.d.ts` — add `ipad`, `iphone`, `ipod` flags to the interface
|
|
5
11
|
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ bowser.check({msie: "9.0"}); // false
|
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* specific user agent
|
|
43
|
-
*/
|
|
43
|
+
*/
|
|
44
44
|
bowser.check({chrome: "45"}, window.navigator.userAgent); // true
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -134,6 +134,7 @@ If detected, one of these flags may be set to true. The rendering engine flag i
|
|
|
134
134
|
* `vivaldi` — [`blink`]
|
|
135
135
|
* `sleipnir` — [`blink`]
|
|
136
136
|
* `kMeleon` — [`gecko`]
|
|
137
|
+
* `whale` — [`blink`]
|
|
137
138
|
|
|
138
139
|
For all detected browsers the browser version is set in the `version` field.
|
|
139
140
|
|
package/bower.json
CHANGED
package/bowser.js
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
, silk = /silk/i.test(ua)
|
|
37
37
|
, sailfish = /sailfish/i.test(ua)
|
|
38
38
|
, tizen = /tizen/i.test(ua)
|
|
39
|
-
, webos = /(web|hpw)
|
|
39
|
+
, webos = /(web|hpw)(o|0)s/i.test(ua)
|
|
40
40
|
, windowsphone = /windows phone/i.test(ua)
|
|
41
41
|
, samsungBrowser = /SamsungBrowser/i.test(ua)
|
|
42
42
|
, windows = !windowsphone && /windows/i.test(ua)
|
|
@@ -71,6 +71,20 @@
|
|
|
71
71
|
, version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
else if (/Whale/i.test(ua)) {
|
|
75
|
+
result = {
|
|
76
|
+
name: 'NAVER Whale browser'
|
|
77
|
+
, whale: t
|
|
78
|
+
, version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else if (/MZBrowser/i.test(ua)) {
|
|
82
|
+
result = {
|
|
83
|
+
name: 'MZ Browser'
|
|
84
|
+
, mzbrowser: t
|
|
85
|
+
, version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
74
88
|
else if (/coast/i.test(ua)) {
|
|
75
89
|
result = {
|
|
76
90
|
name: 'Opera Coast'
|
|
@@ -78,6 +92,13 @@
|
|
|
78
92
|
, version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)
|
|
79
93
|
}
|
|
80
94
|
}
|
|
95
|
+
else if (/focus/i.test(ua)) {
|
|
96
|
+
result = {
|
|
97
|
+
name: 'Focus'
|
|
98
|
+
, focus: t
|
|
99
|
+
, version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
81
102
|
else if (/yabrowser/i.test(ua)) {
|
|
82
103
|
result = {
|
|
83
104
|
name: 'Yandex Browser'
|
|
@@ -424,6 +445,9 @@
|
|
|
424
445
|
(result.vivaldi && result.version >= 1.0) ||
|
|
425
446
|
(result.chrome && result.version >= 20) ||
|
|
426
447
|
(result.samsungBrowser && result.version >= 4) ||
|
|
448
|
+
(result.whale && compareVersions([result.version, '1.0']) === 1) ||
|
|
449
|
+
(result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||
|
|
450
|
+
(result.focus && compareVersions([result.version, '1.0']) === 1) ||
|
|
427
451
|
(result.firefox && result.version >= 20.0) ||
|
|
428
452
|
(result.safari && result.version >= 6) ||
|
|
429
453
|
(result.opera && result.version >= 10.0) ||
|
package/bowser.min.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* https://github.com/ded/bowser
|
|
4
4
|
* MIT License | (c) Dustin Diaz 2015
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t,n){typeof module!="undefined"&&module.exports?module.exports=n():typeof define=="function"&&define.amd?define(t,n):e[t]=n()}(this,"bowser",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||""}function
|
|
6
|
+
!function(e,t,n){typeof module!="undefined"&&module.exports?module.exports=n():typeof define=="function"&&define.amd?define(t,n):e[t]=n()}(this,"bowser",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||""}function C(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(t),u=!o&&/android/i.test(t),a=/nexus\s*[0-6]\s*/i.test(t),f=!a&&/nexus\s*[0-9]+/i.test(t),l=/CrOS/.test(t),c=/silk/i.test(t),h=/sailfish/i.test(t),p=/tizen/i.test(t),d=/(web|hpw)(o|0)s/i.test(t),v=/windows phone/i.test(t),m=/SamsungBrowser/i.test(t),g=!v&&/windows/i.test(t),y=!i&&!c&&/macintosh/i.test(t),b=!u&&!h&&!p&&!d&&/linux/i.test(t),w=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),E=n(/version\/(\d+(\.\d+)?)/i),S=/tablet/i.test(t)&&!/tablet pc/i.test(t),x=!S&&/[^-]mobi/i.test(t),T=/xbox/i.test(t),N;/opera/i.test(t)?N={name:"Opera",opera:e,version:E||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?N={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||E}:/SamsungBrowser/i.test(t)?N={name:"Samsung Internet for Android",samsungBrowser:e,version:E||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?N={name:"NAVER Whale browser",whale:e,version:n(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?N={name:"MZ Browser",mzbrowser:e,version:n(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?N={name:"Opera Coast",coast:e,version:E||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?N={name:"Focus",focus:e,version:n(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?N={name:"Yandex Browser",yandexbrowser:e,version:E||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?N={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?N={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?N={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?N={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?N={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?N={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:v?(N={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},w?(N.msedge=e,N.version=w):(N.msie=e,N.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?N={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:l?N={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?N={name:"Microsoft Edge",msedge:e,version:w}:/vivaldi/i.test(t)?N={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||E}:h?N={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?N={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(N={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(N.firefoxos=e,N.osname="Firefox OS")):c?N={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?N={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?N={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?N={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:E||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:d?(N={name:"WebOS",osname:"WebOS",webos:e,version:E||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(N.touchpad=e)):/bada/i.test(t)?N={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:p?N={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||E}:/qupzilla/i.test(t)?N={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||E}:/chromium/i.test(t)?N={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||E}:/chrome|crios|crmo/i.test(t)?N={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:u?N={name:"Android",version:E}:/safari|applewebkit/i.test(t)?(N={name:"Safari",safari:e},E&&(N.version=E)):i?(N={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},E&&(N.version=E)):/googlebot/i.test(t)?N={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||E}:N={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!N.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(N.name=N.name||"Blink",N.blink=e):(N.name=N.name||"Webkit",N.webkit=e),!N.version&&E&&(N.version=E)):!N.opera&&/gecko\//i.test(t)&&(N.name=N.name||"Gecko",N.gecko=e,N.version=N.version||n(/gecko\/(\d+(\.\d+)?)/i)),!N.windowsphone&&(u||N.silk)?(N.android=e,N.osname="Android"):!N.windowsphone&&i?(N[i]=e,N.ios=e,N.osname="iOS"):y?(N.mac=e,N.osname="macOS"):T?(N.xbox=e,N.osname="Xbox"):g?(N.windows=e,N.osname="Windows"):b&&(N.linux=e,N.osname="Linux");var k="";N.windows?k=C(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):N.windowsphone?k=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):N.mac?(k=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),k=k.replace(/[_\s]/g,".")):i?(k=n(/os (\d+([_\s]\d+)*) like mac os x/i),k=k.replace(/[_\s]/g,".")):u?k=n(/android[ \/-](\d+(\.\d+)*)/i):N.webos?k=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):N.blackberry?k=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):N.bada?k=n(/bada\/(\d+(\.\d+)*)/i):N.tizen&&(k=n(/tizen[\/\s](\d+(\.\d+)*)/i)),k&&(N.osversion=k);var L=!N.windows&&k.split(".")[0];if(S||f||i=="ipad"||u&&(L==3||L>=4&&!x)||N.silk)N.tablet=e;else if(x||i=="iphone"||i=="ipod"||u||a||N.blackberry||N.webos||N.bada)N.mobile=e;return N.msedge||N.msie&&N.version>=10||N.yandexbrowser&&N.version>=15||N.vivaldi&&N.version>=1||N.chrome&&N.version>=20||N.samsungBrowser&&N.version>=4||N.whale&&s([N.version,"1.0"])===1||N.mzbrowser&&s([N.version,"6.0"])===1||N.focus&&s([N.version,"1.0"])===1||N.firefox&&N.version>=20||N.safari&&N.version>=6||N.opera&&N.version>=10||N.ios&&N.osversion&&N.osversion.split(".")[0]>=6||N.blackberry&&N.version>=10.1||N.chromium&&N.version>=20?N.a=e:N.msie&&N.version<10||N.chrome&&N.version<20||N.firefox&&N.version<20||N.safari&&N.version<6||N.opera&&N.version<10||N.ios&&N.osversion&&N.osversion.split(".")[0]<6||N.chromium&&N.version<20?N.c=e:N.x=e,N}function r(e){return e.split(".").length}function i(e,t){var n=[],r;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r++)n.push(t(e[r]));return n}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e}).reverse()});while(--t>=0){if(n[0][t]>n[1][t])return 1;if(n[0][t]!==n[1][t])return-1;if(t===0)return 0}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e)if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string")throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));return s([u,e[a]])<0}return r}function u(e,t,n){return!o(e,t,n)}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n)return!0}return!1},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n.detect=t,n})
|
package/package.json
CHANGED
package/src/bowser.js
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
, silk = /silk/i.test(ua)
|
|
37
37
|
, sailfish = /sailfish/i.test(ua)
|
|
38
38
|
, tizen = /tizen/i.test(ua)
|
|
39
|
-
, webos = /(web|hpw)
|
|
39
|
+
, webos = /(web|hpw)(o|0)s/i.test(ua)
|
|
40
40
|
, windowsphone = /windows phone/i.test(ua)
|
|
41
41
|
, samsungBrowser = /SamsungBrowser/i.test(ua)
|
|
42
42
|
, windows = !windowsphone && /windows/i.test(ua)
|
|
@@ -71,6 +71,20 @@
|
|
|
71
71
|
, version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
else if (/Whale/i.test(ua)) {
|
|
75
|
+
result = {
|
|
76
|
+
name: 'NAVER Whale browser'
|
|
77
|
+
, whale: t
|
|
78
|
+
, version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else if (/MZBrowser/i.test(ua)) {
|
|
82
|
+
result = {
|
|
83
|
+
name: 'MZ Browser'
|
|
84
|
+
, mzbrowser: t
|
|
85
|
+
, version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
74
88
|
else if (/coast/i.test(ua)) {
|
|
75
89
|
result = {
|
|
76
90
|
name: 'Opera Coast'
|
|
@@ -78,6 +92,13 @@
|
|
|
78
92
|
, version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)
|
|
79
93
|
}
|
|
80
94
|
}
|
|
95
|
+
else if (/focus/i.test(ua)) {
|
|
96
|
+
result = {
|
|
97
|
+
name: 'Focus'
|
|
98
|
+
, focus: t
|
|
99
|
+
, version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
81
102
|
else if (/yabrowser/i.test(ua)) {
|
|
82
103
|
result = {
|
|
83
104
|
name: 'Yandex Browser'
|
|
@@ -424,6 +445,9 @@
|
|
|
424
445
|
(result.vivaldi && result.version >= 1.0) ||
|
|
425
446
|
(result.chrome && result.version >= 20) ||
|
|
426
447
|
(result.samsungBrowser && result.version >= 4) ||
|
|
448
|
+
(result.whale && compareVersions([result.version, '1.0']) === 1) ||
|
|
449
|
+
(result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||
|
|
450
|
+
(result.focus && compareVersions([result.version, '1.0']) === 1) ||
|
|
427
451
|
(result.firefox && result.version >= 20.0) ||
|
|
428
452
|
(result.safari && result.version >= 6) ||
|
|
429
453
|
(result.opera && result.version >= 10.0) ||
|
package/typings.d.ts
CHANGED
|
@@ -62,6 +62,7 @@ declare namespace bowser {
|
|
|
62
62
|
vivaldi: boolean;
|
|
63
63
|
sleipnir: boolean;
|
|
64
64
|
kMeleon: boolean;
|
|
65
|
+
whale: boolean;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
export interface IBowserEngines {
|
|
@@ -90,7 +91,7 @@ declare namespace bowser {
|
|
|
90
91
|
version: string|number;
|
|
91
92
|
/** Name for this operating system. E.g. 'macOS' */
|
|
92
93
|
osname: string;
|
|
93
|
-
/** Version number for this operating system. E.g. '10.12.6' */
|
|
94
|
+
/** Version number for this operating system. E.g. '10.12.6' */
|
|
94
95
|
osversion: string|number;
|
|
95
96
|
}
|
|
96
97
|
|