| Installation | Getting Started | Features | Commands | Contexts | Use in Browser | Common Errors |
|---|
Left to right: Illustrator, Browser, After Effects
NOTE: This repo should not be
git cloned directly because it has breaking placeholder values and will not run on it's own.
# Node and bombino are required
npm install -g bombino
# In any valid CEP extension folder:
# (e.g. <USERNAME>/AppData/Roaming/CEP/extensions)
bombino# In any valid CEP extension folder:
bombino
# > Create a new Adobe panel
# Input the name of panel
# > Bombino (if local templates are present)
# > Vue-CLI
# > bombino-brutalism-router
# Input a valid localhost port
# > Select Y to use npm install
cd [name of panel]
npm run serve
# (Re)launch your host app and find in Windows > Extensions > [name of panel]- Vue as JS framework
- Hot Reloading (panel updates instantly on every save during
npm run serve) - Vue-CLI-3 as Node.js tooling (webkit)
- bombino as dev tooling and workflow
- Paginations via Vue Router
- Full typescript support for any app with pravdomil's Adobe types (same as writing .jsx scripts but access to host DOM as autocomplete while typing)
- Battleaxe's own brutalism component library and design
- Various utility functions and components for ease of panel development
- ✨ All color themes of any host app automatically handled by starlette library ✨
This panel comes with various commands baked in (see details here):
npm run help- A full list of the commands available and descriptions.npm run serve- Start the development server and edit your panel.npm run build- Create and compile to production context.npm run switch- Reports whether in developer or production context and can switch automatically.npm run update- Reports current version of panel in manifest and prompts to update Major, Minor, or Micro.npm run register- Reports the current user data (if any) and prompts to save new info to be used in certificates.npm run sign- Automatically stages and signs the extension, placing it in a./archivedirectory within the current directory.
You can automate this by using npm run switch. In case you need to do it manually:
- Ensure
index-dev.htmlis uncommented inCSXS/manifest.xml
<Resources>
<MainPath>./public/index-dev.html</MainPath>
<!-- <MainPath>./dist/index.html</MainPath> -->- Run
npm run servein the terminal at the project root - Launch host application and find in Window > Extensions
Panel now updates in real time and recompiles every time you save in VSCode
- Ensure
dist/index.htmlis uncommented inCSXS/manifest.xml
<Resources>
<!-- <MainPath>./public/index-dev.html</MainPath> -->
<MainPath>./dist/index.html</MainPath>- Run
npm run buildin the terminal at the project root - Launch host application and find in Window > Extensions
Panel is now ready to sign and certify or be used on any client
- Ensure these lines in
./vue.config.jsare commented out:
configureWebpack: {
// target: "node-webkit",
// node: false
},-
Restart your localhost server with
npm run serve -
Launch
https://localhost:8080in a Chrome window
NOTE: The panel cannot interact with the host app while in browser. Script loading and style is given a fallback (second parameter for returned data in evalScript, uses default or defined app/theme/gradient props for Panel component to determine style) while in browser.
- You can easily define script and utility script location to be anywhere in your directory via Panel script-path and utils props
- You can use the
./.certignorefile (especially withsrcincluded) to manually ignore any specific files or folders during staging
- If in Adobe context and not browser, make sure your
targetandnodelines in./vue.config.jsare not commented out.
- Ensure that
starletteis version1.0.2or greater. - Due to Issues #265 and #266 for Animate,
<Menus>is automatically given aSwitch Themeoption for Animate only. The user will need to manually triggerSwitch Themeif the host theme is set todarkorlight, but all future instances of the panel launch will remain in this theme.
- Scripting files are not a part of hot-reloading and are loaded into memory at your extension's
mountedlifecycle. You will need toRefresh panelin a menu for them to be updated. - Adding or reorganizing components may cause hot reloading to fail. Many times you will be warned of this in
CEF debug's console, fix this by hitting^Cin your active terminal toTerminate batch job, then runnpm run serveonce more and refresh the panel.
- Must run
npm run serveand have theApp running at: -Local / -Networkmessage in your terminal - If you launched the app before running
npm run serve, click the localhost URL inside the panel's error message
- Check your CEF client via
localhost:####for an error thrown in your code which breaks the panel's rendering - If in
Productioncontext and receiving404errors in yourindex.html, ensure yourdist/index.html's script tags havesrcattributes such assrc=./filepathorsrc=filepathinstead ofsrc=/filepath(leading slash is default but will break, should be fixed viavue.config.js)
- Including hidden files and repositories in your ZXP/ZIP will cause a misleading error message. Be sure to delete hidden items such as
node_modules/,.git/, and any other hidden files/folders prior to your sign/certify if not including these in your./.certignorefile.