@saltcorn/mobile-builder 0.7.2-beta.10

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,aAsBd;IAEF,gBAAgB,aA6Bd;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,196 @@
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
+ "codemirror.js",
43
+ "codemirror.css",
44
+ ];
45
+ for (const srcFile of srcFiles) {
46
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPrefix, srcFile), (0, path_1.join)(assetsDst, srcFile));
47
+ }
48
+ };
49
+ this.copySbadmin2Deps = () => {
50
+ const sbadmin2Dst = (0, path_1.join)(this.wwwDir, "plugins/pubdeps/sbadmin2/startbootstrap-sb-admin-2-bs5/4.1.5-beta.5");
51
+ if (!(0, fs_extra_1.existsSync)(sbadmin2Dst)) {
52
+ (0, fs_extra_1.mkdirSync)(sbadmin2Dst, { recursive: true });
53
+ }
54
+ const devPath = (0, path_1.join)(__dirname, "../../../../", "node_modules/startbootstrap-sb-admin-2-bs5");
55
+ const prodPath = (0, path_1.join)(require.resolve("@saltcorn/cli"), "../..", "node_modules/startbootstrap-sb-admin-2-bs5");
56
+ const srcPrefix = (0, fs_extra_1.existsSync)(devPath) ? devPath : prodPath;
57
+ const srcFiles = [
58
+ "vendor/fontawesome-free",
59
+ "vendor/bootstrap/js/bootstrap.bundle.min.js",
60
+ "vendor/jquery-easing/jquery.easing.min.js",
61
+ "css/sb-admin-2.css",
62
+ "js/sb-admin-2.min.js",
63
+ ];
64
+ for (const srcFile of srcFiles) {
65
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPrefix, srcFile), (0, path_1.join)(sbadmin2Dst, srcFile));
66
+ }
67
+ };
68
+ this.writeCfgFile = ({ entryPoint, serverPath, localUserTables }) => {
69
+ let cfg = {
70
+ version_tag: index_1.default.connectObj.version_tag,
71
+ entry_view: `get/view/${entryPoint}`,
72
+ server_path: serverPath,
73
+ localUserTables,
74
+ };
75
+ (0, fs_extra_1.writeFileSync)((0, path_1.join)(this.wwwDir, "config"), JSON.stringify(cfg));
76
+ };
77
+ this.bundlePackages = async () => {
78
+ const plugins = (await plugin_1.default.find()).filter((plugin) => !this.staticPlugins.includes(plugin.name));
79
+ (0, child_process_1.spawnSync)("npm", ["run", "build", "--", "--env", `plugins=${JSON.stringify(plugins)}`], {
80
+ stdio: "inherit",
81
+ cwd: this.packageRoot,
82
+ });
83
+ for (const plugin of plugins) {
84
+ const required = await requirePlugin(plugin, false, this.manager);
85
+ const srcPublicDir = (0, path_1.join)(required.location, "public");
86
+ if ((0, fs_extra_1.existsSync)(srcPublicDir)) {
87
+ const dstPublicDir = (0, path_1.join)(this.wwwDir, "plugins", "public", plugin.name);
88
+ if (!(0, fs_extra_1.existsSync)(dstPublicDir)) {
89
+ (0, fs_extra_1.mkdirSync)(dstPublicDir, { recursive: true });
90
+ }
91
+ for (const dirEntry of (0, fs_extra_1.readdirSync)(srcPublicDir)) {
92
+ (0, fs_extra_1.copySync)((0, path_1.join)(srcPublicDir, dirEntry), (0, path_1.join)(dstPublicDir, dirEntry));
93
+ }
94
+ }
95
+ }
96
+ };
97
+ this.copyBundlesToApp = () => {
98
+ const localBundleDir = (0, path_1.join)(this.packageRoot, "bundle");
99
+ const appBundlesDir = (0, path_1.join)(require.resolve("@saltcorn/mobile-app"), "../www/js/bundles");
100
+ if (!(0, fs_extra_1.existsSync)(appBundlesDir))
101
+ (0, fs_extra_1.mkdirSync)(appBundlesDir, { recursive: true });
102
+ for (let bundleName of (0, fs_extra_1.readdirSync)(localBundleDir)) {
103
+ (0, fs_extra_1.copySync)((0, path_1.join)(localBundleDir, bundleName), (0, path_1.join)(appBundlesDir, bundleName));
104
+ }
105
+ };
106
+ this.installNpmPackages = async () => {
107
+ const npmTargetDir = (0, path_1.join)(this.wwwDir, "npm_packages");
108
+ if (!(0, fs_extra_1.existsSync)(npmTargetDir))
109
+ (0, fs_extra_1.mkdirSync)(npmTargetDir, { recursive: true });
110
+ const info = await this.manager.install("jwt-decode", "3.1.2");
111
+ (0, fs_extra_1.copySync)((0, path_1.join)(info.location, "build/jwt-decode.js"), (0, path_1.join)(npmTargetDir, "jwt-decode.js"));
112
+ };
113
+ this.createSqliteDb = async () => {
114
+ const dbPath = (0, path_1.join)(this.wwwDir, "scdb.sqlite");
115
+ let connectObj = index_1.default.connectObj;
116
+ connectObj.sqlite_path = dbPath;
117
+ await index_1.default.changeConnection(connectObj);
118
+ await reset();
119
+ };
120
+ this.buildTablesFile = async (localUserTables) => {
121
+ const scTables = await Promise.all((await index_1.default.listScTables())
122
+ .filter((table) => ["_sc_migrations", "_sc_errors"].indexOf(table.name) === -1)
123
+ .map(async (row) => {
124
+ const dbData = await index_1.default.select(row.name);
125
+ return { table: row.name, rows: dbData };
126
+ }));
127
+ (0, fs_extra_1.writeFileSync)((0, path_1.join)(this.wwwDir, "tables.json"), JSON.stringify({
128
+ created_at: new Date(),
129
+ sc_tables: scTables,
130
+ }));
131
+ };
132
+ this.validatePlatforms = (platforms) => {
133
+ for (const platform of platforms)
134
+ if (!this.supportedPlatforms.includes(platform))
135
+ throw new Error(`The platform '${platform}' is not supported`);
136
+ };
137
+ this.addPlatforms = (platforms) => {
138
+ (0, child_process_1.spawnSync)("npm", ["run", "add-platform", "--", ...platforms], {
139
+ stdio: "inherit",
140
+ cwd: this.appDir,
141
+ });
142
+ };
143
+ this.buildApk = () => {
144
+ (0, child_process_1.spawnSync)("npm", ["run", "build-app"], {
145
+ stdio: "inherit",
146
+ cwd: this.appDir,
147
+ });
148
+ };
149
+ }
150
+ async run() {
151
+ const { flags } = await this.parse(BuildAppCommand);
152
+ if (!flags.entryPoint) {
153
+ throw new Error("please specify an entry point for the first view");
154
+ }
155
+ const localUserTables = flags.localUserTables ? flags.localUserTables : [];
156
+ this.copyStaticAssets();
157
+ this.copySbadmin2Deps();
158
+ this.writeCfgFile({
159
+ entryPoint: flags.entryPoint,
160
+ serverPath: "http://10.0.2.2:3000",
161
+ localUserTables: localUserTables,
162
+ });
163
+ await this.bundlePackages();
164
+ this.copyBundlesToApp();
165
+ await this.installNpmPackages();
166
+ await this.buildTablesFile(localUserTables);
167
+ await this.createSqliteDb();
168
+ if (flags.platforms) {
169
+ this.validatePlatforms(flags.platforms);
170
+ this.addPlatforms(flags.platforms);
171
+ }
172
+ this.buildApk();
173
+ }
174
+ }
175
+ exports.default = BuildAppCommand;
176
+ BuildAppCommand.description = "build mobile app from tenant";
177
+ BuildAppCommand.flags = {
178
+ platforms: core_1.Flags.string({
179
+ name: "platforms",
180
+ char: "p",
181
+ description: "Platforms to build for space separated list",
182
+ multiple: true,
183
+ }),
184
+ entryPoint: core_1.Flags.string({
185
+ name: "entry point",
186
+ char: "v",
187
+ description: "Entry Point",
188
+ }),
189
+ localUserTables: core_1.Flags.string({
190
+ name: "local user tables",
191
+ char: "l",
192
+ description: "user defined tables that should be replicated into the app",
193
+ multiple: true,
194
+ }),
195
+ };
196
+ //# 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,42 @@
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.10",
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.10",
14
+ "@saltcorn/cli": "0.7.2-beta.10",
15
+ "@saltcorn/data": "0.7.2-beta.10",
16
+ "@saltcorn/db-common": "0.7.2-beta.10",
17
+ "@saltcorn/server": "0.7.2-beta.10",
18
+ "@saltcorn/base-plugin": "0.7.2-beta.10",
19
+ "@saltcorn/sbadmin2": "0.7.2-beta.10",
20
+ "@saltcorn/mobile-app": "0.7.2-beta.10",
21
+ "fs-extra": "^10.0.1",
22
+ "live-plugin-manager": "^0.16.0",
23
+ "xml2js": "0.4.23"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "^16.11.7",
27
+ "webpack-merge": "^5.8.0",
28
+ "webpack": "5.68.0",
29
+ "webpack-cli": "4.9.2",
30
+ "@types/xml2js": "0.4.9"
31
+ },
32
+ "files": [
33
+ "/dist"
34
+ ],
35
+ "license": "MIT",
36
+ "oclif": {
37
+ "commands": "./dist/commands"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ }
42
+ }