Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions formulus-formplayer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@
"start": "react-scripts start",
"sync-interface": "node scripts/sync-interface.js",
"build": "npm run sync-interface && react-scripts build",
"upload:android": "npm run build && node scripts/clean-rn-assets.js && node scripts/copy-to-rn.js",
"build:rn": "npm run build && npm run copy-to-rn",
"clean-rn-assets": "powershell -NoProfile -Command \"Remove-Item -Path '../formulus/android/app/src/main/assets/formplayer_dist' -Recurse -Force -ErrorAction SilentlyContinue; mkdir -Force -Path '../formulus/android/app/src/main/assets/formplayer_dist'\"",
"copy-to-rn": "npm run clean-rn-assets && powershell -NoProfile -Command \"Copy-Item -Path './build/*' -Destination '../formulus/android/app/src/main/assets/formplayer_dist' -Recurse -Force\"",
"clean-rn-assets": "node scripts/clean-rn-assets.js",
"copy-to-rn": "node scripts/copy-to-rn.js",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint src --ext js,jsx,ts,tsx --max-warnings 9999",
Expand Down
21 changes: 21 additions & 0 deletions formulus-formplayer/scripts/clean-rn-assets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const fs = require('fs');
const path = require('path');

const targetDir = path.join(__dirname, '..', '..', 'formulus', 'android', 'app', 'src', 'main', 'assets', 'formplayer_dist');

if (fs.existsSync(targetDir)) {
const files = fs.readdirSync(targetDir);
for (const file of files) {
const filePath = path.join(targetDir, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
fs.rmSync(filePath, { recursive: true, force: true });
} else {
fs.unlinkSync(filePath);
}
}
console.log('✓ Cleaned formplayer_dist directory');
} else {
fs.mkdirSync(targetDir, { recursive: true });
console.log('✓ Created formplayer_dist directory');
}
47 changes: 47 additions & 0 deletions formulus-formplayer/scripts/copy-to-rn.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
const fs = require('fs');
const path = require('path');

const buildDir = path.join(__dirname, '..', 'build');
const targetDir = path.join(__dirname, '..', '..', 'formulus', 'android', 'app', 'src', 'main', 'assets', 'formplayer_dist');

if (!fs.existsSync(targetDir)) {
fs.mkdirSync(targetDir, { recursive: true });
console.log('✓ Created formplayer_dist directory');
}

if (fs.existsSync(targetDir)) {
const files = fs.readdirSync(targetDir);
for (const file of files) {
const filePath = path.join(targetDir, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
fs.rmSync(filePath, { recursive: true, force: true });
} else {
fs.unlinkSync(filePath);
}
}
}

function copyRecursive(src, dest) {
const stat = fs.statSync(src);
if (stat.isDirectory()) {
if (!fs.existsSync(dest)) {
fs.mkdirSync(dest, { recursive: true });
}
const files = fs.readdirSync(src);
for (const file of files) {
copyRecursive(path.join(src, file), path.join(dest, file));
}
} else {
fs.copyFileSync(src, dest);
}
}

if (!fs.existsSync(buildDir)) {
console.error('❌ Build directory does not exist. Run "npm run build" first.');
process.exit(1);
}

console.log('📦 Copying formplayer build to React Native assets...');
copyRecursive(buildDir, targetDir);
console.log('✓ Successfully copied to', targetDir);
Loading