Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Chiji Laravel Package

chigix/chiji

Chiji is a PHP 5.4+ base package for organizing and releasing front-end assets in web projects. It models resources and dependencies via Project, SourceRoad, and annotations, supporting pre-building and distribution, with optional bridge packages (e.g., Symfony).

View on GitHub
Deep Wiki
Context7

The best frontend integrated solution on PHP.

Frequently asked questions about Chiji
Can Chiji replace Laravel Mix or Vite for frontend asset bundling in a Laravel 10+ project?
No, Chiji is not a direct replacement. It’s a pre-2013 PHP-based solution targeting PHP 5.4+, while Laravel 10+ requires PHP 8.1+ and relies on modern tooling like Vite or Mix. Chiji lacks ES6 module support, Dart Sass, and Laravel’s first-party integrations, making it incompatible with current Laravel workflows.
How do I integrate Chiji with Laravel’s Blade templating for asset distribution?
Chiji supports Twig-style syntax like `{{ chiji.release.dist() }}`, but Laravel uses Blade. You’d need custom middleware to bridge Chiji’s preprocessing with Blade’s asset tags. No official Laravel integration exists, so manual route/config setup is required. Consider Laravel Mix’s `@vite()` or `@mix()` directives instead.
What PHP versions does Chiji support, and will it work with Laravel 10+?
Chiji requires PHP 5.4+, but Laravel 10+ mandates PHP 8.1+. The package hasn’t been updated since 2015, so it won’t work out-of-the-box with modern Laravel. You’d need to fork and update dependencies manually, which introduces compatibility risks.
How do Chiji’s annotations (@require, @use) work, and can they coexist with ESLint/Stylelint?
Chiji uses custom PHP annotations in CSS/JS files to define dependencies (e.g., `@require 'lib/jquery.js'`). These annotations are parsed server-side during preprocessing. However, modern linters like ESLint or Stylelint may flag them as syntax errors, requiring configuration overrides or file exclusions.
Does Chiji support modern frontend tooling like Webpack, Vite, or Laravel Mix?
No, Chiji is a standalone PHP asset pipeline with no integration for Webpack, Vite, or Laravel Mix. It’s designed for server-side preprocessing (e.g., LESS/Sass compilation) and doesn’t interact with client-side bundlers. For Laravel, Mix or Vite are the standard choices.
What’s the performance impact of using Chiji for asset preprocessing in production?
Chiji processes assets server-side during requests, adding latency compared to client-side bundling (Webpack/Vite). It’s slower for dynamic sites but may help with caching static assets. For Laravel, Laravel Mix/Vite compile assets during development, reducing runtime overhead.
How do I configure Chiji to work with Laravel’s service container or Artisan commands?
Chiji has no built-in Laravel support. You’d need to create a custom `ServiceProvider` to register Chiji’s classes and a middleware to trigger preprocessing. There are no Artisan commands or config files (e.g., `config/chiji.php`)—everything is manual PHP setup.
Can Chiji handle Bower or npm dependencies like Laravel Mix does?
Chiji can ingest files from `bower_components` or `node_modules`, but it lacks modern dependency resolution. Laravel Mix uses Webpack to manage npm packages, while Chiji treats them as static files. For Laravel, Mix or Vite are better for npm/Bower workflows.
Are there security risks using Chiji for asset preprocessing in Laravel?
Yes. Chiji’s `SourceRoad` system dynamically includes files, which could expose Local File Inclusion (LFI) risks if misconfigured. Unlike Laravel’s built-in protections (e.g., CSRF middleware), Chiji lacks framework-specific security layers. Always validate file paths and avoid arbitrary file processing.
What’s the migration path from Laravel Mix/Webpack to Chiji for an existing project?
Migrating is non-trivial. You’d need to rewrite Webpack configs as Chiji `Project` classes, replace `@mix()` directives with Chiji annotations, and manually handle dependencies. Modern Laravel projects should avoid this—consider a hybrid approach (e.g., keep Mix/Vite for new code and Chiji for legacy assets) or migrate fully to Vite.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium