forked from external-repos/squoosh
Compare commits
39 Commits
tiling-rus
...
v1.3.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eaad0eaee0 | ||
|
|
db76d4417c | ||
|
|
7a6c6ec210 | ||
|
|
8e034f183b | ||
|
|
5a01b34cce | ||
|
|
1399a9bffe | ||
|
|
653c6ed85a | ||
|
|
ebbb7b58cb | ||
|
|
7164e4e315 | ||
|
|
23398d07f9 | ||
|
|
ec2bc3efa2 | ||
|
|
86d78763c1 | ||
|
|
fb5ae36d7e | ||
|
|
51f812625b | ||
|
|
479bfee647 | ||
|
|
a3501a56cd | ||
|
|
c353e286b0 | ||
|
|
8ed01e8a87 | ||
|
|
36ed21b9f4 | ||
|
|
cca41bb449 | ||
|
|
8f787ad0e6 | ||
|
|
9c1170f100 | ||
|
|
5432be4a3f | ||
|
|
7cae821db5 | ||
|
|
19ebb24f03 | ||
|
|
d07512566e | ||
|
|
61929666f3 | ||
|
|
792ffbfcd7 | ||
|
|
9685271bb4 | ||
|
|
5b1a6cc95e | ||
|
|
bf34075e6a | ||
|
|
f1859eeef2 | ||
|
|
fa12b37e53 | ||
|
|
520a5dc9f2 | ||
|
|
7af949b5a5 | ||
|
|
300612b09b | ||
|
|
6f00e9825c | ||
|
|
6ca9c5300e | ||
|
|
cdeb31051b |
@@ -22,6 +22,7 @@ function fetchTravisBuildInfo(user, repo, branch) {
|
||||
'branch.name': branch,
|
||||
state: 'passed',
|
||||
limit: 1,
|
||||
event_type: 'push',
|
||||
}).then(r => r.json());
|
||||
}
|
||||
|
||||
@@ -32,9 +33,7 @@ function fetchTravisText(path) {
|
||||
/**
|
||||
* Recursively-read a directory and turn it into an array of { name, size, gzipSize }
|
||||
*/
|
||||
async function dirToInfoArray(startPath, {
|
||||
namePrefix = '',
|
||||
} = {}) {
|
||||
async function dirToInfoArray(startPath) {
|
||||
const results = await new Promise((resolve, reject) => {
|
||||
readdirp({ root: startPath }, (err, results) => {
|
||||
if (err) reject(err); else resolve(results);
|
||||
|
||||
959
package-lock.json
generated
959
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
22
package.json
22
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "squoosh",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.4",
|
||||
"license": "apache-2.0",
|
||||
"scripts": {
|
||||
"start": "webpack-dev-server --host 0.0.0.0 --hot",
|
||||
@@ -16,12 +16,12 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "10.12.26",
|
||||
"@types/node": "10.12.29",
|
||||
"@types/pretty-bytes": "5.1.0",
|
||||
"@types/webassembly-js-api": "0.0.2",
|
||||
"@webcomponents/custom-elements": "1.2.1",
|
||||
"@webpack-cli/serve": "0.1.3",
|
||||
"assets-webpack-plugin": "3.9.7",
|
||||
"assets-webpack-plugin": "3.9.10",
|
||||
"chokidar": "2.1.2",
|
||||
"chalk": "2.4.2",
|
||||
"classnames": "2.2.6",
|
||||
@@ -33,7 +33,7 @@
|
||||
"ejs": "2.6.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"exports-loader": "0.7.0",
|
||||
"file-drop-element": "0.0.9",
|
||||
"file-drop-element": "0.2.0",
|
||||
"file-loader": "3.0.1",
|
||||
"gzip-size": "5.0.0",
|
||||
"html-webpack-plugin": "3.2.0",
|
||||
@@ -48,7 +48,7 @@
|
||||
"optimize-css-assets-webpack-plugin": "5.0.1",
|
||||
"pointer-tracker": "2.0.3",
|
||||
"preact": "8.4.2",
|
||||
"prerender-loader": "1.2.0",
|
||||
"prerender-loader": "1.3.0",
|
||||
"pretty-bytes": "5.1.0",
|
||||
"progress-bar-webpack-plugin": "1.12.1",
|
||||
"raw-loader": "1.0.0",
|
||||
@@ -57,19 +57,19 @@
|
||||
"script-ext-html-webpack-plugin": "2.1.3",
|
||||
"source-map-loader": "0.2.4",
|
||||
"style-loader": "0.23.1",
|
||||
"terser-webpack-plugin": "1.2.2",
|
||||
"terser-webpack-plugin": "1.2.3",
|
||||
"ts-loader": "5.3.3",
|
||||
"tslint": "5.12.1",
|
||||
"tslint": "5.13.1",
|
||||
"tslint-config-airbnb": "5.11.1",
|
||||
"tslint-config-semistandard": "7.0.0",
|
||||
"tslint-react": "3.6.0",
|
||||
"typed-css-modules": "0.3.7",
|
||||
"typescript": "3.2.4",
|
||||
"typed-css-modules": "0.4.1",
|
||||
"typescript": "3.3.3333",
|
||||
"url-loader": "1.1.2",
|
||||
"webpack": "4.28.0",
|
||||
"webpack-bundle-analyzer": "3.0.4",
|
||||
"webpack-bundle-analyzer": "3.1.0",
|
||||
"webpack-cli": "3.2.3",
|
||||
"webpack-dev-server": "3.2.0",
|
||||
"webpack-dev-server": "3.2.1",
|
||||
"worker-plugin": "3.1.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,7 @@ async function mozjpegEncode(
|
||||
): Promise<ArrayBuffer> {
|
||||
const { encode } = await import(
|
||||
/* webpackChunkName: "process-mozjpeg-enc" */
|
||||
'../mozjpeg/encoder',
|
||||
);
|
||||
'../mozjpeg/encoder');
|
||||
return encode(data, options);
|
||||
}
|
||||
|
||||
@@ -15,8 +14,7 @@ async function quantize(
|
||||
): Promise<ImageData> {
|
||||
const { process } = await import(
|
||||
/* webpackChunkName: "process-imagequant" */
|
||||
'../imagequant/processor',
|
||||
);
|
||||
'../imagequant/processor');
|
||||
return process(data, opts);
|
||||
}
|
||||
|
||||
@@ -25,8 +23,7 @@ async function rotate(
|
||||
): Promise<ImageData> {
|
||||
const { rotate } = await import(
|
||||
/* webpackChunkName: "process-rotate" */
|
||||
'../rotate/processor',
|
||||
);
|
||||
'../rotate/processor');
|
||||
|
||||
return rotate(data, opts);
|
||||
}
|
||||
@@ -36,8 +33,7 @@ async function optiPngEncode(
|
||||
): Promise<ArrayBuffer> {
|
||||
const { compress } = await import(
|
||||
/* webpackChunkName: "process-optipng" */
|
||||
'../optipng/encoder',
|
||||
);
|
||||
'../optipng/encoder');
|
||||
return compress(data, options);
|
||||
}
|
||||
|
||||
@@ -46,16 +42,14 @@ async function webpEncode(
|
||||
): Promise<ArrayBuffer> {
|
||||
const { encode } = await import(
|
||||
/* webpackChunkName: "process-webp-enc" */
|
||||
'../webp/encoder',
|
||||
);
|
||||
'../webp/encoder');
|
||||
return encode(data, options);
|
||||
}
|
||||
|
||||
async function webpDecode(data: ArrayBuffer): Promise<ImageData> {
|
||||
const { decode } = await import(
|
||||
/* webpackChunkName: "process-webp-dec" */
|
||||
'../webp/decoder',
|
||||
);
|
||||
'../webp/decoder');
|
||||
return decode(data);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
import wasmUrl from '../../../codecs/rotate/rotate.wasm';
|
||||
import { RotateOptions, RotateModuleInstance } from './processor-meta';
|
||||
|
||||
const instancePromise = (WebAssembly as any).instantiateStreaming(fetch(wasmUrl));
|
||||
// We are loading a 500B module here. Loading the code to feature-detect
|
||||
// `instantiateStreaming` probably takes longer to load than the time we save by
|
||||
// using `instantiateStreaming` in the first place. So let’s just use
|
||||
// `ArrayBuffer`s here.
|
||||
const instancePromise = fetch(wasmUrl)
|
||||
.then(r => r.arrayBuffer())
|
||||
.then(buf => WebAssembly.instantiate(buf));
|
||||
|
||||
export async function rotate(
|
||||
data: ImageData,
|
||||
opts: RotateOptions,
|
||||
): Promise<ImageData> {
|
||||
const { instance } = (await instancePromise) as {instance: RotateModuleInstance};
|
||||
const { instance } = (await instancePromise) as {
|
||||
instance: RotateModuleInstance;
|
||||
};
|
||||
|
||||
// Number of wasm memory pages (á 64KiB) needed to store the image twice.
|
||||
const bytesPerImage = data.width * data.height * 4;
|
||||
const numPagesNeeded = Math.ceil((bytesPerImage * 2 + 8) / (64 * 1024));
|
||||
// Only count full pages, just to be safe.
|
||||
const numPagesAvailable = Math.floor(instance.exports.memory.buffer.byteLength / (64 * 1024));
|
||||
const numPagesAvailable = Math.floor(
|
||||
instance.exports.memory.buffer.byteLength / (64 * 1024),
|
||||
);
|
||||
const additionalPagesToAllocate = numPagesNeeded - numPagesAvailable;
|
||||
|
||||
if (additionalPagesToAllocate > 0) {
|
||||
|
||||
@@ -13,12 +13,10 @@ const ROUTE_EDITOR = '/editor';
|
||||
|
||||
const compressPromise = import(
|
||||
/* webpackChunkName: "main-app" */
|
||||
'../compress',
|
||||
);
|
||||
'../compress');
|
||||
const offlinerPromise = import(
|
||||
/* webpackChunkName: "offliner" */
|
||||
'../../lib/offliner',
|
||||
);
|
||||
'../../lib/offliner');
|
||||
|
||||
function back() {
|
||||
window.history.back();
|
||||
@@ -74,8 +72,9 @@ export default class App extends Component<Props, State> {
|
||||
}
|
||||
|
||||
@bind
|
||||
private onFileDrop({ file }: FileDropEvent) {
|
||||
if (!file) return;
|
||||
private onFileDrop({ files }: FileDropEvent) {
|
||||
if (!files || files.length === 0) return;
|
||||
const file = files[0];
|
||||
this.openEditor();
|
||||
this.setState({ file });
|
||||
}
|
||||
|
||||
@@ -7,8 +7,7 @@ function init() {
|
||||
if (!('customElements' in self)) {
|
||||
import(
|
||||
/* webpackChunkName: "wc-polyfill" */
|
||||
'@webcomponents/custom-elements',
|
||||
).then(init);
|
||||
'@webcomponents/custom-elements').then(init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user