UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

84 lines (72 loc) 1.83 kB
const camelize = require("camelize"); const packageVersion = require("../../package.json").version; const plugin = ({ name, identifier, packageName, type = ["general"] }) => ({ name, identifier, packageName, moduleName: camelize(identifier), type, version: packageVersion, configuration: null, default: true, }); const defaultPlayer = plugin({ name: "Quick Brick Default Player", identifier: "QuickBrickPlayerPlugin", type: ["player"], packageName: "@applicaster/zapp-react-native-default-player", }); const sideMenu = plugin({ name: "Side Menu Plugin", identifier: "side_menu", type: ["menu"], packageName: "@applicaster/quick-brick-mobile-side-menu", }); const topMenuBarTV = plugin({ name: "Top Menu Bar TV", identifier: "top_menu_bar_tv", type: ["menu"], packageName: "@applicaster/quick-brick-top-menu-bar-tv", }); const navBar = plugin({ name: "Applicaster toolbar", type: ["nav_bar"], identifier: "applicaster_toolbar", packageName: "@applicaster/quick-brick-mobile-toolbar", }); const defaultTheme = plugin({ name: "Base Theme", identifier: "default_theme", packageName: "@applicaster/quick-brick-base-theme", type: ["general"], }); const offlineExperience = plugin({ name: "Offline Experience", identifier: "offline-experience", packageName: "@applicaster/quick-brick-offline-experience", type: ["general"], }); const fallbackPlugins = { player: { all_platforms: [defaultPlayer], }, menu: { mobile: [sideMenu], universal: [sideMenu], tablet: [sideMenu], tv: [topMenuBarTV], }, nav_bar: { mobile: [navBar], universal: [navBar], tablet: [navBar], }, general: { mobile: [offlineExperience], }, }; const mandatoryPlugins = [defaultTheme]; module.exports = { fallbackPlugins, mandatoryPlugins, };