angularinstantsearch

Warning: Entry point 'angular-instantsearch' contains deep imports into '/node_modules/instantsearch.js/es/connectors


After installing these two package in my Angular application 13.0.3. I am receiving this below warning.

    "angular-instantsearch": "^4.1.0",
⠙ Generating server application bundles (phase: setup)...Warning: Entry point 'angular-instantsearch' contains deep imports into '
/node_modules/instantsearch.js/es/connectors', '
/node_modules/algoliasearch/lite', '
/node_modules/instantsearch.js/es/widgets/index/index', '
/node_modules/querystring-es3/encode', '
/node_modules/instantsearch.js/es/types', '
/node_modules/instantsearch.js/es/connectors/breadcrumb/connectBreadcrumb', '
/node_modules/instantsearch.js/es/connectors/clear-refinements/connectClearRefinements', '
/node_modules/instantsearch.js/es/connectors/configure-related-items/connectConfigureRelatedItems', '
/node_modules/instantsearch.js/es/connectors/configure/connectConfigure', '
/node_modules/instantsearch.js/es/connectors/current-refinements/connectCurrentRefinements', '
/node_modules/instantsearch.js/es/connectors/hierarchical-menu/connectHierarchicalMenu', '
/node_modules/instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage', '
/node_modules/instantsearch.js/es/connectors/hits/connectHits', '
/node_modules/instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits', '
/node_modules/instantsearch.js/es/connectors/menu/connectMenu', '
/node_modules/instantsearch.js/es/connectors/numeric-menu/connectNumericMenu', '
/node_modules/instantsearch.js/es/connectors/pagination/connectPagination', '
/node_modules/instantsearch.js/es/connectors/query-rules/connectQueryRules', '
/node_modules/instantsearch.js/es/connectors/range/connectRange', '
/node_modules/instantsearch.js/es/connectors/rating-menu/connectRatingMenu', '
/node_modules/instantsearch.js/es/connectors/refinement-list/connectRefinementList', '
/node_modules/instantsearch.js/es/connectors/search-box/connectSearchBox', '
/node_modules/instantsearch.js/es/connectors/sort-by/connectSortBy', '
/node_modules/instantsearch.js/es/connectors/stats/connectStats', '
/node_modules/instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement', '
/node_modules/instantsearch.js/es/connectors/voice-search/connectVoiceSearch'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
✔ Server application bundle generation complete.

Something related is already opened here

The build and compilation is successfull but how can we get rid of this message ?


Solution

  • You need to create a ngcc.config.js file at the root of your project with the following settings:

    module.exports = {
        // The packages that are configured by this project config.
        packages: {
            "angular-instantsearch": {
                // A collection of regexes that match deep imports to ignore, for this package, rather than displaying a warning.
                ignorableDeepImportMatchers: [/instantsearch.js\//, /algoliasearch\//, /querystring-es3\//],
            },
        },
    };
    

    Ngcc is the Angular compatibility compiler. It is used to make View engine code compatible with the Ivy.

    Since angular-instantsearch is not Ivy compatible yet, this compiler has to take over and convert it. While doing so, some warnings pop up in the terminal about deep imports. As those warnings are false-positive we can safely ignore them using the ignorableDeepImportMatchers option in the config.

    A related issue in Github https://github.com/angular/angular/issues/35615