{"id":21998,"library":"rollup-plugin-eft","title":"rollup-plugin-eft","description":"A Rollup plugin that transforms .eft (ef.js template) files into JavaScript modules. Current stable version 0.17.0. Released as needed, follows ef-core and eft-parser versioning. Key differentiator: enables importing ef.js templates directly in Rollup bundles, with no runtime overhead.","status":"active","version":"0.17.0","language":"javascript","source_language":"en","source_url":"https://github.com/TheNeuronProject/rollup-plugin-eft","tags":["javascript","ef.js","template","rollup","eft","efml","loader","rollup-plugin"],"install":[{"cmd":"npm install rollup-plugin-eft","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-eft","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-eft","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime dependency for ef.js component system","package":"ef-core","optional":true},{"reason":"Parses .eft template files into intermediate representation","package":"eft-parser","optional":true}],"imports":[{"note":"ESM-only; no CommonJS export","wrong":"const eft = require('rollup-plugin-eft')","symbol":"default","correct":"import eft from 'rollup-plugin-eft'"},{"note":"Default export, not named","wrong":"import { eft } from 'rollup-plugin-eft'","symbol":"eft","correct":"import eft from 'rollup-plugin-eft'"},{"note":"Plugin returns a Rollup plugin object; TypeScript types included from ef-core","wrong":"","symbol":"default (type import)","correct":"import type { Plugin } from 'rollup'"}],"quickstart":{"code":"import { rollup } from 'rollup';\nimport eft from 'rollup-plugin-eft';\n\nconst bundle = await rollup({\n  input: 'main.js',\n  plugins: [eft()]\n});\n\nconst { output } = await bundle.generate({ format: 'esm' });\nconst code = output[0].code;\nconsole.log(code);","lang":"javascript","description":"Shows basic Rollup config with eft plugin, generating an ESM bundle from a .eft file import."},"warnings":[{"fix":"Ensure peer dependencies are met: 'ef-core@^0.17.0', 'eft-parser@^0.16.5'.","message":"Plugin version 0.17.0 requires ef-core >=0.17.0 and eft-parser >=0.16.5. Incompatible versions cause runtime errors.","severity":"gotcha","affected_versions":"0.17.0"},{"fix":"Use only with Rollup; for other bundlers, look for respective ef.js loaders.","message":"The plugin only works with Rollup (not Webpack or others). Attempting to use with other bundlers will fail.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use with Rollup's watch mode or a separate HMR setup.","message":"The plugin does not support hot module replacement (HMR). File changes during dev require a full rebuild.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'npm install ef-core@^0.17.0'","cause":"Missing peer dependency ef-core.","error":"Error: Cannot find module 'ef-core'"},{"fix":"Change 'import { eft } from 'rollup-plugin-eft'' to 'import eft from 'rollup-plugin-eft''","cause":"Using named import instead of default import.","error":"TypeError: eft is not a function"},{"fix":"Ensure import path ends with '.eft' and plugin is included in Rollup config.","cause":"eft file not processed by plugin, likely due to extension not matching.","error":"Error: Unexpected token: operator (>)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}