@saltcorn/mobile-builder 0.7.2-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ import { Command } from "@oclif/core";
2
+ /**
3
+ *
4
+ */
5
+ export default class BuildAppCommand extends Command {
6
+ static description: string;
7
+ static flags: {
8
+ platforms: import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
9
+ entryPoint: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
+ localUserTables: import("@oclif/core/lib/interfaces").OptionFlag<string[]>;
11
+ };
12
+ supportedPlatforms: string[];
13
+ packageRoot: string;
14
+ appDir: string;
15
+ wwwDir: string;
16
+ staticPlugins: string[];
17
+ manager: any;
18
+ run(): Promise<void>;
19
+ copyStaticAssets: () => void;
20
+ copySbadmin2Deps: () => void;
21
+ writeCfgFile: ({ entryPoint, serverPath, localUserTables }: any) => void;
22
+ bundlePackages: () => Promise<void>;
23
+ copyBundlesToApp: () => void;
24
+ installNpmPackages: () => Promise<void>;
25
+ createSqliteDb: () => Promise<void>;
26
+ buildTablesFile: (localUserTables: string[]) => Promise<void>;
27
+ validatePlatforms: (platforms: string[]) => void;
28
+ addPlatforms: (platforms: string[]) => void;
29
+ buildApk: () => void;
30
+ }
31
+ //# sourceMappingURL=build-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-app.d.ts","sourceRoot":"","sources":["../../src/commands/build-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAqB7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,KAAK;;;;MAkBV;IAEF,kBAAkB,WAA0B;IAE5C,WAAW,SAA6B;IACxC,MAAM,SAAuD;IAC7D,MAAM,SAA8D;IAEpE,aAAa,WAAwB;IAErC,OAAO,MAGJ;IAEG,GAAG;IAyBT,gBAAgB,aAoBd;IAEF,gBAAgB,aAuBd;IAEF,YAAY,gDAAiD,GAAG,UAQ9D;IAEF,cAAc,sBA8BZ;IAEF,gBAAgB,aAcd;IAEF,kBAAkB,sBAQhB;IAEF,cAAc,sBAMZ;IAEF,eAAe,oBAA2B,MAAM,EAAE,mBAqBhD;IAEF,iBAAiB,cAAe,MAAM,EAAE,UAItC;IAEF,YAAY,cAAe,MAAM,EAAE,UAKjC;IAEF,QAAQ,aAKN;CACH"}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@oclif/core");
7
+ const child_process_1 = require("child_process");
8
+ const fs_extra_1 = require("fs-extra");
9
+ const path_1 = require("path");
10
+ const index_1 = __importDefault(require("@saltcorn/data/db/index"));
11
+ const plugin_1 = __importDefault(require("@saltcorn/data/models/plugin"));
12
+ const reset = require("@saltcorn/data/db/reset_schema");
13
+ const { PluginManager } = require("live-plugin-manager");
14
+ const { staticDependencies, requirePlugin, } = require("@saltcorn/server/load_plugins");
15
+ /**
16
+ *
17
+ */
18
+ class BuildAppCommand extends core_1.Command {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.supportedPlatforms = ["android", "browser"]; // TODO ios
22
+ this.packageRoot = (0, path_1.join)(__dirname, "../../");
23
+ this.appDir = (0, path_1.join)(require.resolve("@saltcorn/mobile-app"), "..");
24
+ this.wwwDir = (0, path_1.join)(require.resolve("@saltcorn/mobile-app"), "..", "www");
25
+ this.staticPlugins = ["base", "sbadmin2"];
26
+ this.manager = new PluginManager({
27
+ pluginsPath: (0, path_1.join)(this.packageRoot, "plugin_packages", "node_modules"),
28
+ staticDependencies,
29
+ });
30
+ this.copyStaticAssets = () => {
31
+ const assetsDst = (0, path_1.join)(this.wwwDir, "static_assets", index_1.default.connectObj.version_tag);
32
+ if (!(0, fs_extra_1.existsSync)(assetsDst)) {
33
+ (0, fs_extra_1.mkdirSync)(assetsDst, { recursive: true });
34
+ }
35
+ const serverRoot = (0, path_1.join)(require.resolve("@saltcorn/server"), "..");
36
+ const srcPrefix = (0, path_1.join)(serverRoot, "public");
37
+ const srcFiles = [
38
+ "jquery-3.6.0.min.js",
39
+ "saltcorn-common.js",
40
+ "saltcorn.js",
41
+ "saltcorn.css",
42
+ ];
43
+ for (const srcFile of srcFiles) {
44
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPrefix, srcFile), (0, path_1.join)(assetsDst, srcFile));
45
+ }
46
+ };
47
+ this.copySbadmin2Deps = () => {
48
+ const sbadmin2Dst = (0, path_1.join)(this.wwwDir, "plugins/pubdeps/sbadmin2/startbootstrap-sb-admin-2-bs5/4.1.5-beta.5");
49
+ if (!(0, fs_extra_1.existsSync)(sbadmin2Dst)) {
50
+ (0, fs_extra_1.mkdirSync)(sbadmin2Dst, { recursive: true });
51
+ }
52
+ const sbadmin2Root = (0, path_1.join)(require.resolve("@saltcorn/sbadmin2"), "..");
53
+ const srcPrefix = (0, path_1.join)(sbadmin2Root, "node_modules/startbootstrap-sb-admin-2-bs5");
54
+ const srcFiles = [
55
+ "vendor/fontawesome-free",
56
+ "vendor/bootstrap/js/bootstrap.bundle.min.js",
57
+ "vendor/jquery-easing/jquery.easing.min.js",
58
+ "css/sb-admin-2.css",
59
+ "js/sb-admin-2.min.js",
60
+ ];
61
+ for (const srcFile of srcFiles) {
62
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPrefix, srcFile), (0, path_1.join)(sbadmin2Dst, srcFile));
63
+ }
64
+ };
65
+ this.writeCfgFile = ({ entryPoint, serverPath, localUserTables }) => {
66
+ let cfg = {
67
+ version_tag: index_1.default.connectObj.version_tag,
68
+ entry_view: `get/view/${entryPoint}`,
69
+ server_path: serverPath,
70
+ localUserTables,
71
+ };
72
+ (0, fs_extra_1.writeFileSync)((0, path_1.join)(this.wwwDir, "config"), JSON.stringify(cfg));
73
+ };
74
+ this.bundlePackages = async () => {
75
+ const plugins = (await plugin_1.default.find()).filter((plugin) => !this.staticPlugins.includes(plugin.name));
76
+ (0, child_process_1.spawnSync)("npm", ["run", "build", "--", "--env", `plugins=${JSON.stringify(plugins)}`], {
77
+ stdio: "inherit",
78
+ cwd: this.packageRoot,
79
+ });
80
+ for (const plugin of plugins) {
81
+ const required = await requirePlugin(plugin, false, this.manager);
82
+ const srcPublicDir = (0, path_1.join)(required.location, "public");
83
+ if ((0, fs_extra_1.existsSync)(srcPublicDir)) {
84
+ const dstPublicDir = (0, path_1.join)(this.wwwDir, "plugins", "public", plugin.name);
85
+ if (!(0, fs_extra_1.existsSync)(dstPublicDir)) {
86
+ (0, fs_extra_1.mkdirSync)(dstPublicDir, { recursive: true });
87
+ }
88
+ for (const dirEntry of (0, fs_extra_1.readdirSync)(srcPublicDir)) {
89
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPublicDir, dirEntry), (0, path_1.join)(dstPublicDir, dirEntry));
90
+ }
91
+ }
92
+ }
93
+ };
94
+ this.copyBundlesToApp = () => {
95
+ const localBundleDir = (0, path_1.join)(this.packageRoot, "bundle");
96
+ const appBundlesDir = (0, path_1.join)(require.resolve("@saltcorn/mobile-app"), "../www/js/bundles");
97
+ if (!(0, fs_extra_1.existsSync)(appBundlesDir))
98
+ (0, fs_extra_1.mkdirSync)(appBundlesDir, { recursive: true });
99
+ for (let bundleName of (0, fs_extra_1.readdirSync)(localBundleDir)) {
100
+ (0, fs_extra_1.copySync)((0, path_1.join)(localBundleDir, bundleName), (0, path_1.join)(appBundlesDir, bundleName));
101
+ }
102
+ };
103
+ this.installNpmPackages = async () => {
104
+ const npmTargetDir = (0, path_1.join)(this.wwwDir, "npm_packages");
105
+ if (!(0, fs_extra_1.existsSync)(npmTargetDir))
106
+ (0, fs_extra_1.mkdirSync)(npmTargetDir, { recursive: true });
107
+ const info = await this.manager.install("jwt-decode", "3.1.2");
108
+ (0, fs_extra_1.copySync)((0, path_1.join)(info.location, "build/jwt-decode.js"), (0, path_1.join)(npmTargetDir, "jwt-decode.js"));
109
+ };
110
+ this.createSqliteDb = async () => {
111
+ const dbPath = (0, path_1.join)(this.wwwDir, "scdb.sqlite");
112
+ let connectObj = index_1.default.connectObj;
113
+ connectObj.sqlite_path = dbPath;
114
+ await index_1.default.changeConnection(connectObj);
115
+ await reset();
116
+ };
117
+ this.buildTablesFile = async (localUserTables) => {
118
+ const scTables = await Promise.all((await index_1.default.listScTables())
119
+ .filter((table) => ["_sc_migrations", "_sc_errors"].indexOf(table.name) === -1)
120
+ .map(async (row) => {
121
+ const dbData = await index_1.default.select(row.name);
122
+ return { table: row.name, rows: dbData };
123
+ }));
124
+ (0, fs_extra_1.writeFileSync)((0, path_1.join)(this.wwwDir, "tables.json"), JSON.stringify({
125
+ created_at: new Date(),
126
+ sc_tables: scTables,
127
+ }));
128
+ };
129
+ this.validatePlatforms = (platforms) => {
130
+ for (const platform of platforms)
131
+ if (!this.supportedPlatforms.includes(platform))
132
+ throw new Error(`The platform '${platform}' is not supported`);
133
+ };
134
+ this.addPlatforms = (platforms) => {
135
+ (0, child_process_1.spawnSync)("npm", ["run", "add-platform", "--", ...platforms], {
136
+ stdio: "inherit",
137
+ cwd: this.appDir,
138
+ });
139
+ };
140
+ this.buildApk = () => {
141
+ (0, child_process_1.spawnSync)("npm", ["run", "build-app"], {
142
+ stdio: "inherit",
143
+ cwd: this.appDir,
144
+ });
145
+ };
146
+ }
147
+ async run() {
148
+ const { flags } = await this.parse(BuildAppCommand);
149
+ if (!flags.entryPoint) {
150
+ throw new Error("please specify an entry point for the first view");
151
+ }
152
+ const localUserTables = flags.localUserTables ? flags.localUserTables : [];
153
+ this.copyStaticAssets();
154
+ this.copySbadmin2Deps();
155
+ this.writeCfgFile({
156
+ entryPoint: flags.entryPoint,
157
+ serverPath: "http://10.0.2.2:3000",
158
+ localUserTables: localUserTables,
159
+ });
160
+ await this.bundlePackages();
161
+ this.copyBundlesToApp();
162
+ await this.installNpmPackages();
163
+ await this.buildTablesFile(localUserTables);
164
+ await this.createSqliteDb();
165
+ if (flags.platforms) {
166
+ this.validatePlatforms(flags.platforms);
167
+ this.addPlatforms(flags.platforms);
168
+ }
169
+ this.buildApk();
170
+ }
171
+ }
172
+ exports.default = BuildAppCommand;
173
+ BuildAppCommand.description = "build mobile app from tenant";
174
+ BuildAppCommand.flags = {
175
+ platforms: core_1.Flags.string({
176
+ name: "platforms",
177
+ char: "p",
178
+ description: "Platforms to build for space separated list",
179
+ multiple: true,
180
+ }),
181
+ entryPoint: core_1.Flags.string({
182
+ name: "entry point",
183
+ char: "v",
184
+ description: "Entry Point",
185
+ }),
186
+ localUserTables: core_1.Flags.string({
187
+ name: "local user tables",
188
+ char: "l",
189
+ description: "user defined tables that should be replicated into the app",
190
+ multiple: true,
191
+ }),
192
+ };
193
+ //# sourceMappingURL=build-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-app.js","sourceRoot":"","sources":["../../src/commands/build-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: {};
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,wBAAkB"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {};
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,kBAAe,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@saltcorn/mobile-builder",
3
+ "description": "plugin to to build a mobile app from a tenant application",
4
+ "homepage": "https://saltcorn.com",
5
+ "repository": "github:saltcorn/saltcorn",
6
+ "version": "0.7.2-beta.5",
7
+ "author": "Christian Hugo",
8
+ "scripts": {
9
+ "build": "webpack --mode development"
10
+ },
11
+ "dependencies": {
12
+ "@oclif/core": "^1.2.0",
13
+ "@saltcorn/markup": "0.7.2-beta.5",
14
+ "@saltcorn/data": "0.7.2-beta.5",
15
+ "@saltcorn/db-common": "0.7.2-beta.5",
16
+ "@saltcorn/server": "0.7.2-beta.5",
17
+ "@saltcorn/base-plugin": "0.7.2-beta.5",
18
+ "@saltcorn/sbadmin2": "0.7.2-beta.5",
19
+ "@saltcorn/mobile-app": "0.7.2-beta.5",
20
+ "fs-extra": "^10.0.1",
21
+ "live-plugin-manager": "^0.16.0",
22
+ "xml2js": "0.4.23"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "^16.11.12",
26
+ "webpack-merge": "^5.8.0",
27
+ "webpack": "5.68.0",
28
+ "webpack-cli": "4.9.2",
29
+ "@types/xml2js": "0.4.9"
30
+ },
31
+ "files": [
32
+ "/dist"
33
+ ],
34
+ "license": "MIT",
35
+ "oclif": {
36
+ "commands": "./dist/commands"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ }
41
+ }