
Security News
MCP Steering Committee Launches Official MCP Registry in Preview
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.
@foxitsoftware/gulp-merge-addon
Advanced tools
A gulp plugin for merge multiple UIExtension addons into single JS file
You can use this plugin to merge UIExtension addons in a project without webpack and then import them like modules.
Import Example
import TextObjectAddon from '@addons/text-object/addon.info.json';
To begin, you'll need to install gulp and this plugin:
npm i -D gulp @foxitsoftware/gulp-merge-addon
gulfile.js
Add gulpfile.js
in the root directory of your project if it has not been created:
const gulp = require('gulp');
const mergeAddon = require('@foxitsoftware/gulp-merge-addon');
const libPath = 'path/to/the/sdk/lib';
gulp.task('merge-addon', () => {
return gulp.src([libPath + 'uix-addons/*/addon.info.json'])
.pipe(mergeAddon({
library: 'UIExtensionAddons',
filename: 'merged-addons.js'
}))
.pipe(gulp.dest('./dist/'));
});
package.json
Add the following command in your package.json
{
"scripts": {
"merge-addon": "gulp merge-addon"
}
}
Now, you can merge UIExtension's addons by this command in the root directory of your project:
npm run merge-addon
Once done, the file /dist/merged-addons.js
will be created.
Now you can import addons like using normal modules:
import addons from './dist/merged-addons';
var pdfui = new UIExtension.PDFUI({
addons: addons
// ignored other irrelevant options
});
options.library
Type: string
default: UIExtensionAddons
All addons will be merged into a single UMD
format bundle, and the value exports from the entry point(addons.js) will be assigned into the global scope via the name provided from this option. For more details, refer to webpack documentation https://webpack.js.org/configuration/output/#outputlibraryoptions.filename
Type: string
default: merged-addons.js
The file name of the bundle generated from this plugin;progress
Type: boolean
default: true
Report the progress information in your terminal.watch
Type: boolean
default: false
Turn on/off the watch mode. This mean that after the first time merge, this plugin will continue to watch for the changes in any of the resolved addon files.watchOptions
Type: object
default: null
Please refer to the webpack's documentation https://webpack.js.org/configuration/watch/#watchoptionslazyInit
Type: boolean
default: false
Setting this option value to true
will generate a bundle that supports lazy initialization. This bundle exports a function instead of an array of addon classes, so that all addon classes can be initialized inside the PDFUI regardless of the loading order.FAQs
A gulp plugin for merge multiple UIExtension addons into single JS file
We found that @foxitsoftware/gulp-merge-addon demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 14 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.
Product
Socket’s new Pull Request Stories give security teams clear visibility into dependency risks and outcomes across scanned pull requests.
Research
/Security News
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.