{"id":21201224,"url":"https://github.com/slavafomin/rollup-plugin-node-resolve-next","last_synced_at":"2025-10-11T19:41:23.764Z","repository":{"id":40953576,"uuid":"141607028","full_name":"slavafomin/rollup-plugin-node-resolve-next","owner":"slavafomin","description":"Rollup plugin for import resolution using enhanced Node.js algorithm","archived":false,"fork":false,"pushed_at":"2022-12-30T17:50:26.000Z","size":191,"stargazers_count":6,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-09T08:59:47.524Z","etag":null,"topics":["commonjs","commonjs-modules","node-resolve","nodejs","rollup","rollup-plugin"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slavafomin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-19T16:46:30.000Z","updated_at":"2024-06-23T00:15:59.000Z","dependencies_parsed_at":"2023-01-31T12:31:25.736Z","dependency_job_id":null,"html_url":"https://github.com/slavafomin/rollup-plugin-node-resolve-next","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/slavafomin/rollup-plugin-node-resolve-next","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slavafomin%2Frollup-plugin-node-resolve-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slavafomin%2Frollup-plugin-node-resolve-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slavafomin%2Frollup-plugin-node-resolve-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slavafomin%2Frollup-plugin-node-resolve-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slavafomin","download_url":"https://codeload.github.com/slavafomin/rollup-plugin-node-resolve-next/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slavafomin%2Frollup-plugin-node-resolve-next/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008435,"owners_count":26084460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commonjs","commonjs-modules","node-resolve","nodejs","rollup","rollup-plugin"],"created_at":"2024-11-20T20:08:12.899Z","updated_at":"2025-10-11T19:41:23.744Z","avatar_url":"https://github.com/slavafomin.png","language":"TypeScript","readme":"\n# rollup-plugin-node-resolve-next\n\n\u003c!-- NPM Version Badge --\u003e\n\u003ca href=\"https://badge.fury.io/js/rollup-plugin-node-resolve-next\"\u003e\n  \u003cimg src=\"https://badge.fury.io/js/rollup-plugin-node-resolve-next.svg\" alt=\"npm version\" height=\"20\"\u003e\n\u003c/a\u003e\n\n\u003c!-- Travis CI Badge --\u003e\n\u003ca href=\"https://travis-ci.org/slavafomin/rollup-plugin-node-resolve-next\"\u003e\n  \u003cimg src=\"https://travis-ci.org/slavafomin/rollup-plugin-node-resolve-next.svg?branch=master\" alt=\"Build Status\" height=\"20\"\u003e\n\u003c/a\u003e\n\n\u003c!-- MIT License Badge --\u003e\n\u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\" height=\"20\"\u003e\n\u003c/a\u003e\n\n\u003c!-- MIT License Badge --\u003e\n\u003ca href=\"https://codeclimate.com/github/slavafomin/rollup-plugin-node-resolve-next/maintainability\"\u003e\n  \u003cimg src=\"https://api.codeclimate.com/v1/badges/9df208ab261fe8cc64bd/maintainability\" alt=\"Code Climate\" height=\"20\"\u003e\n\u003c/a\u003e\n\n\n---\n\n[Rollup][rollup-org] plugin for imports resolution using enhanced Node.js algorithm.\n\nCould be used as an alternative to both\n[rollup-plugin-node-resolve][plugin-node-resolve] and\n[rollup-plugin-node-resolve-angular][plugin-node-resolve-angular] modules.\n\n\n## Features\n\n- Resolves imported modules using [Node.js Resolution Algorithm][node-resolution-algo]\n\n- Doesn't implement the resolution on it's own, but instead delegates\n  this complex task to a well supported module: [browserify/resolve][browserify-resolve]\n\n- Has a well-structured architecture and doesn't mix the concepts like\n  `rollup-plugin-node-resolve` [does][node-resolve-issue-171].\n  **Module resolution** and **embedding conditionals** are two separate concepts\n\n- Allows flexibility in control of which modules will be embedded and which externalized\n  using glob patterns on module ids (more flexible and convenient solution)\n  \n- Supports `main`/`module`/`es2015` fields of `package.json`\n  for different [build targets](#build-targets)\n  \n- Reliable: written in TypeScript and automatically tested\n  \n- Deduplicates dependencies by resolving symlinks in paths (useful in monorepo projects)\n\n\n## Example\n\n```js\n// rollup.config.js\nimport nodeResolveNext from 'rollup-plugin-node-resolve-next';\n\nexport default {\n  input: 'main.js',\n  output: {\n    file: 'bundle.js',\n    format: 'es',\n  },\n  plugins: [\n    nodeResolveNext({\n      mode: 'ESM2015',\n      embed: {\n        mode: 'EMBED_MATCHED',\n        patterns: [\n          '@lodash/*',\n          'tslib',\n        ] ,\n      },\n      extensions: ['.js', '.jsx'],\n    }),\n  ],\n};\n```\n\n\n## Options\n\n`options.mode` `[enum/string]` — controls the build target.\nSee the [Build Targets](#build-targets) section for more details\n\n`options.embed.mode` `[enum/string]` — controls the module embedding mode, possible values are:\n\n- `EMBED_EVERYTHING` — embeds all imported modules to the bundle\n- `EMBED_MATCHED` — embeds only matched modules\n- `EMBED_UNMATCHED` — embeds only non-matched modules\n\n`options.embed.patterns` `[Array\u003cstring\u003e]` — list of glob patterns used to configure the matching.\nUsed only in `EMBED_MATCHED` and `EMBED_UNMATCHED` modes.\n\n`options.extensions` `[Array\u003cstring\u003e]` — list of allowed extensions (`['.js']` by default).\n\n`options.resolveSymlinks` `[boolean]` — Whether to resolve symlinks in the destination paths.\nThis will help to deduplicate dependencies in monorepo projects or in projects where\n`npm link` is used.\n\n\n### Build Targets\n\nThe plugin supports various `main` fields from `package.json` manifests\nof the imported modules for different build targets:\n\n - In `NORMAL` mode only the `main` field is used *(this is the default)*\n - In `ESM5` mode the `module` field is used with fallback to `main`\n - In `ESM2015` mode the `es2015` field is used with fallback to `module` or `main`\n \n\n## Maintainers\n\n— [Slava Fomin II](mailto:slava@fomin.io)\n\n\n## License\n\nCopyright (c) 2018—2019 Slava Fomin II\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n[rollup-org]: https://rollupjs.org\n[plugin-node-resolve]: https://github.com/rollup/rollup-plugin-node-resolve\n[plugin-node-resolve-angular]: https://github.com/oasisdigital/rollup-plugin-node-resolve-angular\n[node-resolution-algo]: https://nodejs.org/api/modules.html#modules_all_together\n[browserify-resolve]: https://github.com/browserify/resolve\n[node-resolve-issue-171]: https://github.com/rollup/rollup-plugin-node-resolve/issues/171\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslavafomin%2Frollup-plugin-node-resolve-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslavafomin%2Frollup-plugin-node-resolve-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslavafomin%2Frollup-plugin-node-resolve-next/lists"}