{"id":25332,"library":"esbuild-plugin-ekscss","title":"esbuild-plugin-ekscss","description":"An esbuild plugin that adds support for XCSS (extensible CSS) preprocessing during bundling. Current stable version 0.0.23, actively maintained. Integrates with esbuild >=0.13.0 and ekscss ^0.0.23. Differentiates from other CSS plugins by leveraging the ekscss preprocessor for custom syntax and variables.","status":"active","version":"0.0.23","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install esbuild-plugin-ekscss","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-ekscss","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-ekscss","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency providing the XCSS preprocessor","package":"ekscss","optional":false},{"reason":"Peer dependency: integrates as an esbuild plugin","package":"esbuild","optional":false}],"imports":[{"note":"ESM-only package. No default export; use named import.","wrong":"const ekscssPlugin = require('esbuild-plugin-ekscss')","symbol":"ekscssPlugin","correct":"import { ekscssPlugin } from 'esbuild-plugin-ekscss'"},{"note":"The exported symbol is ekscssPlugin, not xcssPlugin.","wrong":"import { xcssPlugin } from 'esbuild-plugin-ekscss'","symbol":"xcssPlugin","correct":"import { ekscssPlugin } from 'esbuild-plugin-ekscss'"},{"note":"PluginOptions is a TypeScript interface; use type import to avoid runtime emission.","wrong":"import { PluginOptions } from 'esbuild-plugin-ekscss'","symbol":"PluginOptions","correct":"import type { PluginOptions } from 'esbuild-plugin-ekscss'"}],"quickstart":{"code":"import { build } from 'esbuild';\nimport { ekscssPlugin } from 'esbuild-plugin-ekscss';\n\nawait build({\n  entryPoints: ['src/index.js'],\n  bundle: true,\n  outfile: 'dist/bundle.js',\n  plugins: [ekscssPlugin()],\n});","lang":"typescript","description":"Shows basic usage of esbuild-plugin-ekscss with esbuild's build API, bundling XCSS files."},"warnings":[{"fix":"Review ekscss changelog for updated syntax rules.","message":"ekscss 0.0.23 introduced changes that may break XCSS syntax used in earlier versions","severity":"breaking","affected_versions":">=0.0.23"},{"fix":"Use 'filter' option instead.","message":"The 'loader' option in plugin options is deprecated and will be removed in v1.0.0","severity":"deprecated","affected_versions":">=0.0.20"},{"fix":"Ensure all XCSS files are imported in your entry points or use esbuild's 'inject' option.","message":"Plugin will not process files that are not imported/required in the bundle","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install esbuild-plugin-ekscss ekscss esbuild@latest","cause":"Package not installed or mismatched peer dependencies","error":"Error: Cannot find module 'esbuild-plugin-ekscss'"},{"fix":"Call ekscssPlugin() without arguments or with an object: ekscssPlugin({ filter: /.*\\.xcss$/ })","cause":"ekscssPlugin() called without options or with invalid options","error":"TypeError: (intermediate value).filter is not a function"},{"fix":"Check your XCSS file for missing semicolons or incorrect syntax per ekscss spec.","cause":"XCSS syntax error in a .xcss file","error":"Error: Build failed with 1 error: error: Expected ';'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}