PouchDB with Quick Search plugin throws 'Error: Cannot find module "./lib/primes.json"'


#1

I’ve successfully imported PouchDB in Ionic2RC3 but i can’t import pouchdb-quick-search plugin.

I’ve used import * as PouchDB from 'pouchdb'; and added typings from npm but for the plugin there is no typings by default. So, either adding:

declare module 'pouchdb-quick-search' {
  const plugin: PouchDB.Plugin;
  export = plugin;
}

into typings/globals/pouchdb-quick-search/index.d.ts file and then using:

import * as PouchQuickSearch from 'pouchdb-quick-search';
PouchDB.plugin(PouchQuickSearch);

nor using directly (I’ve installed requirejs in my package.json):

PouchDB.plugin(require('pouchdb-quick-search'));

works:(((( It keeps throwing Error: Cannot find module "./lib/primes.json"

Somehow I’ve made it work in RC1 but not anymore with RC3… What can i do to import this plugin? Any clue? @nolanlawson maybe?


#2

To import json files you may need rollup-plugin-json.


#3

I faced same problem today, when try to update from rc2 to rc3.

I think this is an issue of ionic app script about require json files in node_modules. I replace

var primes = requier "./lib/primes.json"

to

var primes = {
// here is JSON directly taken from ./lib/primes.json
}

Than error changes on other require json file, a replaced it too (this operation was needed for few modules in my app: diffie-hellman/browser.js, eliptic/lib/eliptic.js, parse-asn1/index.js) and my app start work again.

You can try this action in your app, or work with rc2


#4

This might be related to this issue? Maybe using the nightly version of the Ionic Scripts would help?


#5

Yeah. @ionic/app-scripts”: “0.0.46” solved a problem. Thanks.


#6

For me, rollup-plugin-json plugin didn’t help. Probably because of Webpack related issues… I was about to try @snikh’s solution by injecting every json file. But i didn’t want to use a dirty hack like that. Then I gave up PouchDB and started to use LokiJS + localForage (for persistence) as in this tutorial. These kinds of problems are really annoying.

After two days of research, I’ve gave up :frowning: Whole coding process is a good xp indeed; trying to develop a real product with an unstable tool in RC version is a big risk, I learned :slight_smile: