Free texture packer also released as webpack plugin. Supported multisources, hot reload, file system realtime watching.
Installation:
$ npm install webpack-free-tex-packer
Basic usage (webpack.config.js):
const path = require('path');
const WebpackFreeTexPacker = require('webpack-free-tex-packer');
 
module.exports = {
    entry: [
        './src/index',
        'webpack-dev-server/client?http://localhost:8080'
    ],
    output: {filename: 'index.js'},
    mode: 'development',
    plugins: [
        new WebpackFreeTexPacker(path.resolve(__dirname, 'atlases'))
    ]
};
Output:
http://localhost:8080/pack-result.png
http://localhost:8080/pack-result.json
Advanced usage (webpack.config.js):
const path = require('path');
const WebpackFreeTexPacker = require('webpack-free-tex-packer');
 
let sources = [];
sources.push(path.resolve(__dirname, 'atlases/10.png'));
sources.push(path.resolve(__dirname, 'atlases/11.png'));
sources.push(path.resolve(__dirname, 'atlases/12.png'));
sources.push(path.resolve(__dirname, 'atlases/dir1'));
sources.push(path.resolve(__dirname, 'atlases/dir2/.'));
 
let packOptions = {
    textureName: 'atlas',
    width: 512,
    height: 512,
    fixedSize: false,
    padding: 2,
    allowRotation: true,
    detectIdentical: true,
    allowTrim: true,
    exporter: "Pixi",
    removeFileExtension: false,
    prependFolderName: true
};
 
module.exports = {
    entry: [
        './src/index',
        'webpack-dev-server/client?http://localhost:8080'
    ],
    output: {filename: 'index.js'},
    mode: 'development',
    plugins: [
        new WebpackFreeTexPacker(sources, 'assets', packOptions)
    ]
};
Output:
http://localhost:8080/assets/atlas.png
http://localhost:8080/assets/atlas.json
Plugin arguments:
| argument | type | description | 
|---|---|---|
| sources | String or Array | Images or folders path. Folder path, ended by ('.', '*' or '*.*') includes images to atlas root. | 
| output | String | Output folder | 
| packOptions | Object | Pack options | 
Demo
- Install node.js
 - Dowload demo
 - Unpack
 - Execute in console:
 npm installnpm start- Open http://localhost:8080
 
