browserslist 4.24.0 → 4.24.1

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 (3) hide show
  1. package/index.d.ts +23 -2
  2. package/node.js +18 -4
  3. package/package.json +4 -4
package/index.d.ts CHANGED
@@ -166,6 +166,17 @@ declare namespace browserslist {
166
166
  opts?: browserslist.Options
167
167
  ): Query[]
168
168
 
169
+ /**
170
+ * Return queries for specific file inside the project.
171
+ *
172
+ * ```js
173
+ * browserslist.loadConfig({
174
+ * file: process.cwd()
175
+ * }) ?? browserslist.defaults
176
+ * ```
177
+ */
178
+ function loadConfig(options: LoadConfigOptions): string[] | undefined
179
+
169
180
  function clearCaches(): void
170
181
 
171
182
  function parseConfig(string: string): Config
@@ -177,12 +188,22 @@ declare namespace browserslist {
177
188
  function findConfigFile(...pathSegments: string[]): string | undefined
178
189
 
179
190
  interface LoadConfigOptions {
191
+ /**
192
+ * Path to config file
193
+ * */
180
194
  config?: string
195
+
196
+ /**
197
+ * Path to file inside the project to find Browserslist config
198
+ * in closest folder
199
+ */
181
200
  path?: string
201
+
202
+ /**
203
+ * Environment to choose part of config.
204
+ */
182
205
  env?: string
183
206
  }
184
-
185
- function loadConfig(options: LoadConfigOptions): string[] | undefined
186
207
  }
187
208
 
188
209
  declare global {
package/node.js CHANGED
@@ -8,7 +8,7 @@ var BrowserslistError = require('./error')
8
8
  var IS_SECTION = /^\s*\[(.+)]\s*$/
9
9
  var CONFIG_PATTERN = /^browserslist-config-/
10
10
  var SCOPED_CONFIG__PATTERN = /@[^/]+(?:\/[^/]+)?\/browserslist-config(?:-|$|\/)/
11
- var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
11
+ var MONTHS_TO_UPDATE_CANIUSE = 6
12
12
  var FORMAT =
13
13
  'Browserslist config should be a string or an array ' +
14
14
  'of strings with browser queries'
@@ -147,6 +147,16 @@ function latestReleaseTime(agents) {
147
147
  return latest * 1000
148
148
  }
149
149
 
150
+ function getMonthsPassed(date) {
151
+ var now = new Date();
152
+ var past = new Date(date);
153
+
154
+ var years = now.getFullYear() - past.getFullYear();
155
+ var months = now.getMonth() - past.getMonth();
156
+
157
+ return years * 12 + months;
158
+ }
159
+
150
160
  function normalizeStats(data, stats) {
151
161
  if (!data) {
152
162
  data = {}
@@ -416,11 +426,15 @@ module.exports = {
416
426
  if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return
417
427
 
418
428
  var latest = latestReleaseTime(agentsObj)
419
- var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE
429
+ var monthsPassed = getMonthsPassed(latest)
430
+ var halfYearAgo = monthsPassed >= MONTHS_TO_UPDATE_CANIUSE
431
+
432
+ if (latest !== 0 && halfYearAgo) {
433
+ var monthWord = monthsPassed > 1 ? 'months' : 'month'
434
+ var monthsOldText = monthsPassed + ' ' + monthWord + ' old.'
420
435
 
421
- if (latest !== 0 && latest < halfYearAgo) {
422
436
  console.warn(
423
- 'Browserslist: caniuse-lite is outdated. Please run:\n' +
437
+ 'Browserslist: caniuse-lite is '+ monthsOldText +' . Please run:\n' +
424
438
  ' npx update-browserslist-db@latest\n' +
425
439
  ' Why you should do it regularly: ' +
426
440
  'https://github.com/browserslist/update-db#readme'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browserslist",
3
- "version": "4.24.0",
3
+ "version": "4.24.1",
4
4
  "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
5
5
  "keywords": [
6
6
  "caniuse",
@@ -25,10 +25,10 @@
25
25
  "license": "MIT",
26
26
  "repository": "browserslist/browserslist",
27
27
  "dependencies": {
28
- "caniuse-lite": "^1.0.30001663",
29
- "electron-to-chromium": "^1.5.28",
28
+ "caniuse-lite": "^1.0.30001669",
29
+ "electron-to-chromium": "^1.5.41",
30
30
  "node-releases": "^2.0.18",
31
- "update-browserslist-db": "^1.1.0"
31
+ "update-browserslist-db": "^1.1.1"
32
32
  },
33
33
  "engines": {
34
34
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"