Catalog npm
Back to packageRELEASE DETAILS

1.1.0

npm

3m

Move & Minify Medias

directoryimageminificationpatternrename
Published21 Jun 2018
Direct dependencies11
Transitive dependenciesNot calculated

README

Current package documentation

3m (Move & Minify Medias)

Minify images (jpg, png) and rename them following a pattern

Install

npm install -g 3m

Usage

3m [options] < file or glob ... >

Options

  • -v, --version

  • -o, --output-dir <destination directory>
    Default: ./dist

  • -p, --pattern <pattern>
    Set files names, availables patterns : [NAME],[EXT],[INDEX],[DIR_NAME],[INDEX_IN_DIR]
    Default: [NAME][EXT]

  • -e, --extensions <extensions>
    Set extensions
    Default: jpg,jpeg,png

  • -r, --recursive

  • --no-clear
    Don't clear destination directory

  • --no-minify
    Don't minify medias

  • -h, --help

Examples

Given the following structure :

.
├── canada
│   ├── [4.8M]  IMG_20180422_173241.jpg
│   ├── [3.4M]  IMG_20180423_135753.jpg
│   └── [ 37M]  VID_20180221_123547.mp4
├── france
│   ├── [4.3M]  IMG_20180423_143013.jpg
│   ├── [4.1M]  IMG_20180423_143133.jpg
│   └── [3.8M]  IMG_20180423_143339.jpg
└── japan
    ├── [4.0M]  IMG_20180423_141640.jpg
    ├── [4.4M]  IMG_20180423_141759.jpg
    └── [4.7M]  IMG_20180423_142342.jpg

Minify and move all files to a single directory

3m -r --extensions=jpg,mp4
.
├── canada
│   ├── [4.8M]  IMG_20180422_173241.jpg
│   ├── [3.4M]  IMG_20180423_135753.jpg
│   └── [ 37M]  VID_20180221_123547.mp4
├── dist
│   ├── [1.2M]  IMG_20180422_173241.jpg
│   ├── [726K]  IMG_20180423_135753.jpg
│   ├── [916K]  IMG_20180423_141640.jpg
│   ├── [1.0M]  IMG_20180423_141759.jpg
│   ├── [1.2M]  IMG_20180423_142342.jpg
│   ├── [1.0M]  IMG_20180423_143013.jpg
│   ├── [1.1M]  IMG_20180423_143133.jpg
│   ├── [975K]  IMG_20180423_143339.jpg
│   └── [ 37M]  VID_20180221_123547.mp4
├── france
│   ├── [4.3M]  IMG_20180423_143013.jpg
│   ├── [4.1M]  IMG_20180423_143133.jpg
│   └── [3.8M]  IMG_20180423_143339.jpg
└── japan
    ├── [4.0M]  IMG_20180423_141640.jpg
    ├── [4.4M]  IMG_20180423_141759.jpg
    └── [4.7M]  IMG_20180423_142342.jpg

Minify, move and rename all files

3m -r --extensions=jpg,mp4 --pattern [DIR_NAME]_[INDEX_IN_DIR][EXT]
.
├── canada
│   ├── [4.8M]  IMG_20180422_173241.jpg
│   ├── [3.4M]  IMG_20180423_135753.jpg
│   └── [ 37M]  VID_20180221_123547.mp4
├── dist
│   ├── [1.2M]  canada_1.jpg
│   ├── [726K]  canada_2.jpg
│   ├── [ 37M]  canada_3.mp4
│   ├── [1.0M]  france_1.jpg
│   ├── [1.1M]  france_2.jpg
│   ├── [975K]  france_3.jpg
│   ├── [916K]  japan_1.jpg
│   ├── [1.0M]  japan_2.jpg
│   └── [1.2M]  japan_3.jpg
├── france
│   ├── [4.3M]  IMG_20180423_143013.jpg
│   ├── [4.1M]  IMG_20180423_143133.jpg
│   └── [3.8M]  IMG_20180423_143339.jpg
└── japan
    ├── [4.0M]  IMG_20180423_141640.jpg
    ├── [4.4M]  IMG_20180423_141759.jpg
    └── [4.7M]  IMG_20180423_142342.jpg

Minify, move and rename some files/directory

3m -r --extensions=jpg,mp4 --pattern [DIR_NAME]_[INDEX_IN_DIR][EXT] canada japan/IMG_20180423_141640.jpg france/IMG_20180423_143339.jpg
.
├── canada
│   ├── [4.8M]  IMG_20180422_173241.jpg
│   ├── [3.4M]  IMG_20180423_135753.jpg
│   └── [ 37M]  VID_20180221_123547.mp4
├── dist
│   ├── [1.2M]  canada_1.jpg
│   ├── [726K]  canada_2.jpg
│   ├── [ 37M]  canada_3.mp4
│   ├── [975K]  france_1.jpg
│   └── [916K]  japan_1.jpg
├── france
│   ├── [4.3M]  IMG_20180423_143013.jpg
│   ├── [4.1M]  IMG_20180423_143133.jpg
│   └── [3.8M]  IMG_20180423_143339.jpg
└── japan
    ├── [4.0M]  IMG_20180423_141640.jpg
    ├── [4.4M]  IMG_20180423_141759.jpg
    └── [4.7M]  IMG_20180423_142342.jpg

Minify, move and keep the same structure

3m -r --pattern [PATH]/[NAME][EXT] --extensions=jpg,mp4
.
├── canada
│   ├── IMG_20180422_173241.jpg
│   ├── IMG_20180423_135753.jpg
│   └── VID_20180424_144512.mp4
├── dist
│   ├── canada
│   │   ├── IMG_20180422_173241.jpg
│   │   ├── IMG_20180423_135753.jpg
│   │   └── VID_20180424_144512.mp4
│   ├── france
│   │   ├── IMG_20180423_143133.jpg
│   │   ├── IMG_20180423_143339.jpg
│   │   └── IMG_20180423_144710.jpg
│   └── japan
│       ├── IMG_20180422_173241.jpg
│       ├── IMG_20180423_135753.jpg
│       └── IMG_20180423_141640.jpg
├── france
│   ├── IMG_20180423_143133.jpg
│   ├── IMG_20180423_143339.jpg
│   └── IMG_20180423_144710.jpg
└── japan
    ├── IMG_20180422_173241.jpg
    ├── IMG_20180423_135753.jpg
    └── IMG_20180423_141640.jpg

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 11

Native requirements
11 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
colors
Environment
{
  "local_name": "colors",
  "alias": false,
  "peer_metadata": null
}
^1.3.0runtime
commander
Environment
{
  "local_name": "commander",
  "alias": false,
  "peer_metadata": null
}
^2.15.1runtime
fs-extra
Environment
{
  "local_name": "fs-extra",
  "alias": false,
  "peer_metadata": null
}
^6.0.1runtime
glob
Environment
{
  "local_name": "glob",
  "alias": false,
  "peer_metadata": null
}
^7.1.2runtime
imagemin
Environment
{
  "local_name": "imagemin",
  "alias": false,
  "peer_metadata": null
}
^5.3.1runtime
imagemin-mozjpeg
Environment
{
  "local_name": "imagemin-mozjpeg",
  "alias": false,
  "peer_metadata": null
}
^7.0.0runtime
imagemin-pngquant
Environment
{
  "local_name": "imagemin-pngquant",
  "alias": false,
  "peer_metadata": null
}
^5.1.0runtime
spawn-sync
Environment
{
  "local_name": "spawn-sync",
  "alias": false,
  "peer_metadata": null
}
^2.0.0runtime
babel-cli
Environment
{
  "local_name": "babel-cli",
  "alias": false,
  "peer_metadata": null
}
^6.26.0development
babel-plugin-transform-object-rest-spread
Environment
{
  "local_name": "babel-plugin-transform-object-rest-spread",
  "alias": false,
  "peer_metadata": null
}
^6.26.0development
babel-preset-env
Environment
{
  "local_name": "babel-preset-env",
  "alias": false,
  "peer_metadata": null
}
^1.7.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-59nyQWHfVah6SB7ys5lTXVdRGZxRI9HFci4QwaoOBvj3Wa1Ag7qld5splinrRgurZ6K7by5zIROZoD8S885DFg==",
  "shasum": "97d3fb600a56b8e01f0e70e9e786cf7c19f425d2",
  "tarball": "https://registry.npmjs.org/3m/-/3m-1.1.0.tgz",
  "fileCount": 8,
  "unpackedSize": 21164,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK88rCRA9TVsSAnZWagAAWY8QAILgBUgmuhe3kgFmekkj\nn3/7SKNWfMb/UnJsusgipsOSkw6F7IPiT9O2ubRb+0UpbMwBvFJufHv8dq2u\nGYjjZZbmNpdicuKmnzNCDFJKuHSbfVcr037g42q/KsdmlkMfpGkaTv9CcBww\nJMBkbDxUCva+nJm2315DzsQe16B6tMpW30tJfwjs5LRZWa/CFiPbXDYg0UJU\nrgNlHc3CDmpRoAEhIST//JaFCKBbTtEt1EKKv+CFtDHD1U1PkmSE9ibgUc57\n/ytAh5LVGWyu2SrD85j876fqG5KTojFnb2H8WpALxu3s+8o0aX477dkpdGFI\n0oF4SWlb9BSnYFMDcLKKaVjMxPUXpbK5cCSlhfjFoWjBsg6P+WgdTA+0VDMY\naRywNZICksgtoHwznr6M/nBK8/GiBFXN0Bb65Z3FzBkEBIsXO/mZV3dwCBR0\n4riY+jhZVfcVwzlgINYdqISpM/Q36q8j7zJp9YJtihaftEDkeYdxoMPOjq/L\n0fiVLQfverv82xJKOYFbN4SakaX9tM10SJIXo3bOy3S/8/LgHoWcNmDS0skQ\nhnJ7upexL54seOV2NIKNvXrTu9BSGfjng30GzhRgvGHXAymtGiqei9M13Wlp\nSK9Rqb92S+4INu1+NyoA696v+u+niaDbLIRircSRliiuj6yogbn/02C/ua1k\nJ729\r\n=49Ff\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEQCIF0+9Oh4CoHXltnqNcnFvAfqz00kKNvfr+71GHWWqkYyAiAej35Rlrsc4wmkRYBcSfGa1JUOdOyMYqqTs40ZPTX63Q=="
    }
  ]
}

Repository

PENDING
quentinneyraud/3m

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:bb50f0fec408d95533f11c86fac7b9062b9b2a54c1918f7f178f56537f1b4b1a

Other collected versions

1.1.221 Jun1.0.121 Jun1.0.021 JunView all collected versions →