@applicaster/zapplicaster-cli
Version:
CLI Tool for the zapp app and Quick Brick project
84 lines (72 loc) • 1.83 kB
JavaScript
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,
};