pdf.js/package.json
Jonas Jenwald ca996d2546 [api-minor] Update the minimum supported browsers, and remove the PostCSS logical plugin
The patch updates the minimum supported browsers/environments as follows:
 - Chrome 87, which was released on 2020-11-17; see https://en.wikipedia.org/wiki/Google_Chrome_version_history
 - Firefox ESR (no change); see https://wiki.mozilla.org/Release_Management/Calendar
 - Safari 14.1, which was released on 2021-04-26; see https://en.wikipedia.org/wiki/Safari_version_history#Safari_14
 - Node.js 14 (no change); see https://en.wikipedia.org/wiki/Node.js#Releases

The recent *major* release of the PostCSS `logical` plugin effectively removed support for all of the things that we used it for, which includes (but may not be limited to): preserving the original CSS code (for up-to-date browsers), re-writing the `:dir` pseudo-class, and support for re-writing `float: inline-start;`/`float: inline-end;` properties.
Please find additional details at https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-logical/CHANGELOG.md#600-january-24-2023
Hence the primary reason for these changes are related to native support for *logical* CSS properties/values. Currently, in the default viewer, we're using the following ones:
 - https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-start#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-end#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-start#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline-end#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/text-align#browser_compatibility
 - https://developer.mozilla.org/en-US/docs/Web/CSS/float#browser_compatibility

By updating the minimum supported browsers, we thus only have to worry about the *last* case here. Thankfully there's not that many `float: inline-start;`/`float: inline-end;` occurrences, and we can utilize CSS variables together with the pre-processor to support those in a way that won't affect the Firefox PDF Viewer.
2023-01-29 20:25:05 +01:00

76 lines
2.2 KiB
JSON

{
"name": "pdf.js",
"devDependencies": {
"@babel/core": "^7.20.12",
"@babel/plugin-transform-modules-commonjs": "^7.20.11",
"@babel/preset-env": "^7.20.2",
"@babel/runtime": "^7.20.13",
"@javascript-obfuscator/escodegen": "2.3.0",
"acorn": "^8.8.2",
"autoprefixer": "^10.4.13",
"babel-loader": "^9.1.2",
"caniuse-lite": "^1.0.30001449",
"canvas": "^2.11.0",
"core-js": "^3.27.2",
"cross-env": "^7.0.3",
"dialog-polyfill": "^0.5.6",
"es-module-shims": "1.4.7",
"eslint": "^8.32.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-fetch-options": "^0.0.5",
"eslint-plugin-html": "^7.1.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-json": "^3.1.0",
"eslint-plugin-mozilla": "^3.0.1",
"eslint-plugin-no-unsanitized": "^4.0.2",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-sort-exports": "^0.8.0",
"eslint-plugin-unicorn": "^45.0.2",
"fit-curve": "^0.2.0",
"globals": "^13.19.0",
"gulp": "^4.0.2",
"gulp-postcss": "^9.0.1",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.1.4",
"gulp-zip": "^5.1.0",
"jasmine": "^4.5.0",
"jsdoc": "^4.0.0",
"jstransformer-markdown-it": "^3.0.0",
"merge-stream": "^2.0.0",
"mkdirp": "^2.1.3",
"needle": "^3.2.0",
"path2d-polyfill": "^2.0.1",
"postcss": "^8.4.21",
"postcss-dir-pseudo-class": "^7.0.0",
"prettier": "^2.8.3",
"puppeteer": "^19.0.0",
"rimraf": "^4.1.2",
"streamqueue": "^1.1.2",
"stylelint": "^14.16.1",
"stylelint-config-prettier": "^9.0.4",
"stylelint-prettier": "^2.0.0",
"systemjs": "^0.21.6",
"systemjs-plugin-babel": "^0.0.25",
"terser": "^5.16.1",
"through2": "^4.0.2",
"ttest": "^4.0.0",
"typescript": "^4.9.4",
"typogr": "^0.6.8",
"vinyl": "^3.0.0",
"vinyl-fs": "^3.0.3",
"web-streams-polyfill": "^3.2.1",
"webpack": "^5.75.0",
"webpack-stream": "^7.0.0",
"wintersmith": "^2.5.0",
"yargs": "^17.6.2"
},
"scripts": {
"postinstall": "cross-env PUPPETEER_PRODUCT=firefox node node_modules/puppeteer/install.js"
},
"repository": {
"type": "git",
"url": "git://github.com/mozilla/pdf.js.git"
},
"license": "Apache-2.0"
}