besich opened a new issue #6612: URL: https://github.com/apache/apisix/issues/6612
### Description # PROPOSAL Refactor the plugin code organization, make the plugin independent from APISIX, and maintain the plugin independently. # BACKGROUND The current APISIX compilation method is a full installation, which is very unfriendly to developers and users who install through source code. Because many plugins depend on third-party libraries, the complicated environment is complex, but most of the time, these plugins are not needed. # Technical Current: plugins are mixed under **/apisix/plugins/*.lua** Suggestion: migrate to **/plugins/*plugin*/**, *plugin* represents different plugins. One plugin is a One directory. Under each plugin directory, there is an independent **/plugins/*plugin*/package.json** file, which has description information, which stores related to the independent plugin data. ## for example: * startup code. eg. in **“/plugins/example-plugin/package.json”**, it has **“main”:”index.lua”**. * compile the plugin dependency library. * compile the plugin dependency environment variable. * unit tests about the plugin * multi-language # BENEFIT * The plugin can be compiled optionally. When compiling the APISIX, obtain which plugin enabled from the configuration file, and then compile after dynamically generating rockspec. * Development-friendly. During unit testing, you can only test the enabled plugin. * Maintenance-friendly. Because the core of APISIX should be relatively stable, the addition of the plugin will be dynamic and frequent. * Make technical preparations for a marketplace. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
