0.1.9 • Published 4 years ago

@patarapolw/deepfind v0.1.9

Weekly downloads
5
License
MIT
Repository
github
Last release
4 years ago

@patarapolw/deepfind

Deep find a primitive or a plain Object inside an Array or a plain Object. Always return a Object (an Array or a plain Object), so that the Object (an Array or a plain Object) can be tweaked.

Why?

I wrote this package specifically to search for a Webpack config inside nuxt.config.js and vue.config.js, so that I can tweak pug-plain-loader or raw-loader.

import deepfind from '@patarapolw/deepfind'

console.log(deepfind(config, { loader: 'pug-plain-loader' }))
console.log(deepfind(config, 'raw-loader'))

Output

[
  {
    loader: 'pug-plain-loader',
    options: {}
  },
  {
    loader: 'pug-plain-loader',
    options: {}
  }
]
[
  [
    'raw-loader',
    {
      loader: 'pug-plain-loader',
      options: {}
    }
  ]
]

How I actually use

In my nuxt.config.js

import deepfind from '@patarapolw/deepfind'
import showdown from 'showdown'

const mdConverter = new showdown.Converter()

export default {
  build: {
    /*
    ** You can extend webpack config here
    */
    extend (config, ctx) {
      for (const r of deepfind(config, 'pug-plain-loader')) {
        if (!Array.isArray(r)) {
          r.options = r.options || {}
          r.options.filters = {
            markdown: (s: string) => mdConverter.makeHtml(s)
          }
        }
      }
    }
  }
}

Installation

Apparently, deepfind is already taken. I have to use @patarapolw/deepfind

yarn add @patarapolw/deepfind
# Or npm i @patarapolw/deepfind
0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago