mirror of
https://github.com/kusti8/proton-native.git
synced 2026-05-15 14:15:50 -06:00
* Add initial test structure and some tests for Window * Start on rewriting registerComponent * Add View support * Add flexbox support, still need to test more * Add styling and better props management * Add nested text support * Fix text measurement and qt hogging layout styles * Font size must be in px, so convert if it isn't * Add stylesheet * Various changes, start adding tests * Try out travis CI * Remove xwd package * Install qt5 * Install correct moc * Add g++ 5 * Add xwd and imagemagick * Yoga layout doesn't support v12 right now * Add touchablewithoutfeedback * Add opacity. Need to investigate seg fault * Fix build errors, unsupport trusty * Force xenial version * Add touchablehighlight. Start button * Add support for image require * Start on image * Add image resizing and TextInput * Fix button view * Quit loop when all windows closed * Fix require not working with jest * Fix quit deleting still in use pointers * Disable caching * Depend on stable node-qt-napi * Copy docs, start examples * Many bug fixes, get cat example to work * Fix percent issue and start more documentation * Start docs * Finish docs * Fix App appendChild with comments * Abstract QT bindings * Add calculator example; try to get devtools working * Update react-devtools * Add hot reloading support * Add hot reloading to examples, fix reloading bugs * Update documentation on v2 * Add more examples to v2 changes * Change readme for v2 * Remove packaging until it works * Add prepack instead * Use node-qt-napi up * 2.0.1 * Convert everything to typescript * Add note on TS * Update readme with new images * Add comparison to others in docs * Add packaging instructions * Fix windows packaging * Create FUNDING.yml * Update v2_changes.md * Create LICENSE * Add wx backend option * Add more wx components * Add wx backend notes * Add note on mac wxwidgets libuv bug * Add note on Macs with libuv bug * Use npx by default * Bump version for wx backend * V2 small code improvements (#240) * slightly improved import * better type defs * merged append and insert as they pretty same * Run prettier * Add issue templates (#241) * About page typo (#216) * Update quickstart.md (#223) * Update README.md (#229) * Create FUNDING.yml * Add issue templates * Update README.md Co-authored-by: Yevhen Hraivoronskyi <evhenious@gmail.com>
1.5 KiB
1.5 KiB
Packaging
Currently, the easiest way to package a Proton Native v2 application is to use nexe.
This will create a binary for your platform. Unfortunately due to how nexe works,
you will have to distribute a small folder next to that binary. This contains the
Qt libraries, as well as the Node.js bindings for Qt.
Creating the binary
npm run build # Transpile our code. If you have any extra files other than
# app.js and index.js, make sure they are included in the build
# script in package.json, so that they get transpiled also.
mkdir out
npx nexe bin/index.js -o out/my-app # Create our binary
Distributing
To distribute, we need to create a folder structure with our bindings and Qt libraries. Here's how your app should be distributed:
- my-app # Binary
- node_modules # A folder named node_modules alongside
- node-qt-napi # We only need to include this package, not any others
- bindings # The bindings folder is the only required folder
- ...
Linux and Mac
cd project-root # We're in the project root
mkdir -p out/node_modules/node-qt-napi # Create our directory structure
cp -r node_modules/node-qt-napi/bindings out/node_modules/node-qt-napi/ # Copy our bindings folder over
Windows
cd project-root # We're in the project root
mkdir out\node_modules\node-qt-napi
xcopy node_modules\node-qt-napi\bindings out\node_modules\node-qt-napi\bindings\ /s /e