├── .gitignore ├── src ├── __tests__ │ ├── webpack │ │ ├── index.js │ │ ├── big.png │ │ ├── small.png │ │ └── webpack.config.js │ ├── fixtures │ │ ├── minified │ │ │ ├── image.jpg │ │ │ ├── image.png │ │ │ ├── url.png │ │ │ ├── buffer.png │ │ │ ├── image-resized.png │ │ │ └── image.svg │ │ └── unminified │ │ │ ├── image.jpg │ │ │ ├── image.png │ │ │ └── image.svg │ └── tinypng.test.ts ├── index.ts ├── tinypng-webpack-plugin.ts ├── helper.ts ├── tinypng-cli.ts └── tinypng.ts ├── .npmignore ├── .gitmessage ├── tslint.json ├── tinypng-config-schema.json ├── package.json ├── README.md ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | res/ 3 | coverage/ 4 | lib/ 5 | tinypng-tokens.json 6 | -------------------------------------------------------------------------------- /src/__tests__/webpack/index.js: -------------------------------------------------------------------------------- 1 | console.log(require('./big.png')) 2 | console.log(require('./small.png')) 3 | -------------------------------------------------------------------------------- /src/__tests__/webpack/big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/webpack/big.png -------------------------------------------------------------------------------- /src/__tests__/webpack/small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/webpack/small.png -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | node_modules/ 3 | res/ 4 | coverage/ 5 | src/ 6 | tinypng-tokens.json 7 | lib/__tests__ 8 | __mocks__ 9 | -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/minified/image.jpg -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/minified/image.png -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/minified/url.png -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/minified/buffer.png -------------------------------------------------------------------------------- /src/__tests__/fixtures/unminified/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/unminified/image.jpg -------------------------------------------------------------------------------- /src/__tests__/fixtures/unminified/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/unminified/image.png -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/image-resized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qiu8310/tinypng/HEAD/src/__tests__/fixtures/minified/image-resized.png -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import Tinypng from './tinypng' 2 | import TinypngWebpackPlugin from './tinypng-webpack-plugin' 3 | 4 | export { 5 | Tinypng as default, 6 | Tinypng, 7 | TinypngWebpackPlugin 8 | } 9 | -------------------------------------------------------------------------------- /src/__tests__/fixtures/minified/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/__tests__/webpack/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const fs = require('fs-extra') 3 | const webpack = require('webpack') 4 | const TinypngWebpackPlugin = require('../../../lib/index').TinypngWebpackPlugin 5 | 6 | let root = path.resolve(__dirname) 7 | let out = path.join(root, 'out') 8 | fs.emptyDirSync(out) 9 | 10 | module.exports = { 11 | entry: { 12 | index: path.join(root, 'index.js') 13 | }, 14 | output: { 15 | path: out, 16 | publicPath: '', 17 | filename: '[name].js' 18 | }, 19 | plugins: [ 20 | new TinypngWebpackPlugin({tokens: require('../../../tinypng-tokens.json')}), 21 | new webpack.optimize.ModuleConcatenationPlugin() 22 | ], 23 | module: { 24 | rules: [ 25 | {test: /\.(gif|png|jpg|jpeg|svg)$/, use: 'url-loader?limit=1024&name=[hash].[ext]'} 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /.gitmessage: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Git Commit Message Format 4 | # (): 5 | # 6 | # 7 | # 8 | #