@tamer4lynx/cli 0.0.4 → 0.0.6
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.
- package/dist/index.js +48 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import path24 from "path";
|
|
|
12
12
|
import { program } from "commander";
|
|
13
13
|
|
|
14
14
|
// package.json
|
|
15
|
-
var version = "0.0.
|
|
15
|
+
var version = "0.0.6";
|
|
16
16
|
|
|
17
17
|
// src/android/create.ts
|
|
18
18
|
import fs3 from "fs";
|
|
@@ -375,6 +375,18 @@ import ${vars.packageName}.generated.GeneratedLynxExtensions;
|
|
|
375
375
|
LynxEnv.inst().init(this, null, new TemplateProvider(this), null);
|
|
376
376
|
}`
|
|
377
377
|
);
|
|
378
|
+
out = out.replace(
|
|
379
|
+
/LynxServiceCenter\.inst\(\)\.registerService\(LynxLogService\.INSTANCE\);/,
|
|
380
|
+
`try {
|
|
381
|
+
Object logService = Class.forName("com.nanofuxion.tamerdevclient.TamerRelogLogService")
|
|
382
|
+
.getField("INSTANCE")
|
|
383
|
+
.get(null);
|
|
384
|
+
logService.getClass().getMethod("init", android.content.Context.class).invoke(logService, this);
|
|
385
|
+
LynxServiceCenter.inst().registerService((com.lynx.tasm.service.ILynxLogService) logService);
|
|
386
|
+
} catch (Exception ignored) {
|
|
387
|
+
LynxServiceCenter.inst().registerService(LynxLogService.INSTANCE);
|
|
388
|
+
}`
|
|
389
|
+
);
|
|
378
390
|
return out.replace(/\n{3,}/g, "\n\n");
|
|
379
391
|
}
|
|
380
392
|
function getLoadTemplateBody(vars) {
|
|
@@ -548,6 +560,8 @@ class DevClientManager(private val context: Context, private val onReload: Runna
|
|
|
548
560
|
function getProjectActivity(vars) {
|
|
549
561
|
const hasDevClient = vars.devMode === "embedded";
|
|
550
562
|
const devClientInit = hasDevClient ? `
|
|
563
|
+
TamerRelogLogService.init(this)
|
|
564
|
+
TamerRelogLogService.connect()
|
|
551
565
|
devClientManager = DevClientManager(this) { reloadProjectView() }
|
|
552
566
|
devClientManager?.connect()
|
|
553
567
|
` : "";
|
|
@@ -555,9 +569,11 @@ function getProjectActivity(vars) {
|
|
|
555
569
|
` : "";
|
|
556
570
|
const devClientCleanup = hasDevClient ? `
|
|
557
571
|
devClientManager?.disconnect()
|
|
572
|
+
TamerRelogLogService.disconnect()
|
|
558
573
|
` : "";
|
|
559
574
|
const devClientImports = hasDevClient ? `
|
|
560
|
-
import ${vars.packageName}.DevClientManager
|
|
575
|
+
import ${vars.packageName}.DevClientManager
|
|
576
|
+
import com.nanofuxion.tamerdevclient.TamerRelogLogService` : "";
|
|
561
577
|
const reloadMethod = hasDevClient ? `
|
|
562
578
|
private fun reloadProjectView() {
|
|
563
579
|
GeneratedActivityLifecycle.onViewDetached()
|
|
@@ -1681,7 +1697,7 @@ var REQUIRED_PLUGIN_ENTRIES = {
|
|
|
1681
1697
|
pluginLine: 'kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }'
|
|
1682
1698
|
}
|
|
1683
1699
|
};
|
|
1684
|
-
var autolink = () => {
|
|
1700
|
+
var autolink = (opts) => {
|
|
1685
1701
|
let resolved;
|
|
1686
1702
|
try {
|
|
1687
1703
|
resolved = resolveHostPaths();
|
|
@@ -1810,17 +1826,17 @@ ${generateActivityLifecycleKotlin(packages, projectPackage)}`;
|
|
|
1810
1826
|
function run() {
|
|
1811
1827
|
console.log("\u{1F50E} Finding Lynx extension packages (lynx.ext.json / tamer.json)...");
|
|
1812
1828
|
let packages = discoverModules(projectRoot).filter((p) => p.config.android);
|
|
1813
|
-
const
|
|
1829
|
+
const includeDevClient = opts?.includeDevClient === true;
|
|
1814
1830
|
const devClientScoped = path6.join(projectRoot, "node_modules", "@tamer4lynx", "tamer-dev-client");
|
|
1815
1831
|
const devClientFlat = path6.join(projectRoot, "node_modules", "tamer-dev-client");
|
|
1816
1832
|
const devClientPath = fs6.existsSync(path6.join(devClientScoped, "android")) ? devClientScoped : fs6.existsSync(path6.join(devClientFlat, "android")) ? devClientFlat : null;
|
|
1817
1833
|
const hasDevClient = packages.some((p) => p.name === "@tamer4lynx/tamer-dev-client" || p.name === "tamer-dev-client");
|
|
1818
|
-
if (
|
|
1834
|
+
if (includeDevClient && devClientPath && !hasDevClient) {
|
|
1819
1835
|
packages = [{
|
|
1820
1836
|
...TAMER_DEV_CLIENT_FALLBACK,
|
|
1821
1837
|
packagePath: devClientPath
|
|
1822
1838
|
}, ...packages];
|
|
1823
|
-
console.log("\u2139\uFE0F Added tamer-dev-client (fallback
|
|
1839
|
+
console.log("\u2139\uFE0F Added tamer-dev-client (fallback; lynx.ext.json missing in published package).");
|
|
1824
1840
|
}
|
|
1825
1841
|
if (packages.length > 0) {
|
|
1826
1842
|
console.log(`Found ${packages.length} package(s): ${packages.map((p) => p.name).join(", ")}`);
|
|
@@ -1972,6 +1988,30 @@ function readAndSubstituteTemplate2(templatePath, vars) {
|
|
|
1972
1988
|
raw
|
|
1973
1989
|
);
|
|
1974
1990
|
}
|
|
1991
|
+
function patchAppLogService(appPath) {
|
|
1992
|
+
if (!fs8.existsSync(appPath)) return;
|
|
1993
|
+
const raw = fs8.readFileSync(appPath, "utf-8");
|
|
1994
|
+
const patched = raw.replace(
|
|
1995
|
+
/private void initLynxService\(\)\s*\{[\s\S]*?\n\s*}\s*\n\s*private void initFresco\(\)/,
|
|
1996
|
+
`private void initLynxService() {
|
|
1997
|
+
try {
|
|
1998
|
+
Object logService = Class.forName("com.nanofuxion.tamerdevclient.TamerRelogLogService")
|
|
1999
|
+
.getField("INSTANCE")
|
|
2000
|
+
.get(null);
|
|
2001
|
+
logService.getClass().getMethod("init", android.content.Context.class).invoke(logService, this);
|
|
2002
|
+
LynxServiceCenter.inst().registerService((com.lynx.tasm.service.ILynxLogService) logService);
|
|
2003
|
+
} catch (Exception ignored) {
|
|
2004
|
+
LynxServiceCenter.inst().registerService(LynxLogService.INSTANCE);
|
|
2005
|
+
}
|
|
2006
|
+
LynxServiceCenter.inst().registerService(LynxImageService.getInstance());
|
|
2007
|
+
LynxServiceCenter.inst().registerService(LynxHttpService.INSTANCE);
|
|
2008
|
+
}
|
|
2009
|
+
private void initFresco()`
|
|
2010
|
+
);
|
|
2011
|
+
if (patched !== raw) {
|
|
2012
|
+
fs8.writeFileSync(appPath, patched);
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
1975
2015
|
async function syncDevClient(opts) {
|
|
1976
2016
|
let resolved;
|
|
1977
2017
|
try {
|
|
@@ -2004,6 +2044,7 @@ async function syncDevClient(opts) {
|
|
|
2004
2044
|
]);
|
|
2005
2045
|
fs8.writeFileSync(path8.join(javaDir, "TemplateProvider.java"), templateProviderSource);
|
|
2006
2046
|
fs8.writeFileSync(path8.join(kotlinDir, "MainActivity.kt"), getStandaloneMainActivity(vars));
|
|
2047
|
+
patchAppLogService(path8.join(javaDir, "App.java"));
|
|
2007
2048
|
const appDir = path8.join(rootDir, "app");
|
|
2008
2049
|
const mainDir = path8.join(appDir, "src", "main");
|
|
2009
2050
|
const manifestPath = path8.join(mainDir, "AndroidManifest.xml");
|
|
@@ -2084,7 +2125,7 @@ async function bundleAndDeploy(opts = {}) {
|
|
|
2084
2125
|
const devClientPkg = findDevClientPackage(projectRoot);
|
|
2085
2126
|
const includeDevClient = !release && !!devClientPkg;
|
|
2086
2127
|
const destinationDir = androidAssetsDir;
|
|
2087
|
-
autolink_default();
|
|
2128
|
+
autolink_default({ includeDevClient });
|
|
2088
2129
|
await syncDevClient_default({ includeDevClient });
|
|
2089
2130
|
const bundleExists = fs9.existsSync(lynxBundlePath);
|
|
2090
2131
|
if (!bundleExists) {
|