piskel
piskel copied to clipboard
fix(build): update deps, karma and nw config
Fixes: #973, #1047 Closes: #1013, #1041
Changes
- Allow installation of
node_modules
on Node 14 and above11e0066
- Switch to Chromium Headless with Karma to successfully run tests
9bbc9d2
- ~Use a fork of grunt nw plugin to get desktop builds working
bb4c4fe
~ - Replace
build
andbuild:mac
commands withdesktop:run
anddesktop:build
(for all platforms except osx32).
Build Instructions
- Using your package manager of choice,
desktop:run
to run the desktop app directly. -
desktop:build
to build applications for all platforms exceptosx32
.
I'll be making a bunch of fixes in this branch and release them at https://ayushmxn.github.io/piskel
Things yet to be done
- Update IndexedDB implementation to get tests passing again
- Rewrite CLI using
yargs
- Update code until possible to remove Phantom dependency
If you're able to, I'd urge you to use Aseprite instead.
Thanks for your work on this!
The build system now works.
However, the current build for macOS is broken due to problems with old NW.js on latest macOS. So I needed to make one more change, to increase the version of nwjs:
macos : {
options: {
downloadUrl: 'https://dl.nwjs.io/',
osx64: true,
version : "0.63.1",
build_dir: './dest/desktop/',
flavor: "normal",
},
src: ['./dest/prod/**/*', "./package.json", "!./dest/desktop/"]
},
Thanks for your work on this!
The build system now works.
However, the current build for macOS is broken due to problems with old NW.js on latest macOS. So I needed to make one more change, to increase the version of nwjs:
macos : { options: { downloadUrl: 'https://dl.nwjs.io/', osx64: true, version : "0.63.1", build_dir: './dest/desktop/', flavor: "normal", }, src: ['./dest/prod/**/*', "./package.json", "!./dest/desktop/"] },
Good to know! I don't use Macs which is probably why I missed this. I'll make the change later today.
I'd like to make some changes for quality of life improvements, such as a preference to switch off warning messages and different defaults depending in the filename.
I am familiar with JavaScript, but what is the main thing I will need to read up on to be able to edit work with this codebase?
I'm not sure what could act as a good reference. From what I've seen, the codebase is pretty old - there's a polyfill for Promises and the underlying browser APIs have also changed. It looks like the maintainer is not active anymore so making my changes on a forked version.
@gingerbeardman If you're looking for something production ready, this is not it. It'll probably take me 1-2 months to get everything working.
Hey no worries! I'm not in a rush and I'm happy enough with my butchered version for now.
My current issue: on the import dialog I'm setting sprite sheet frame size w/h from values in the filename (eg. image-table-16-32.png
), which works just fine, but I can't get the grid to update/display without user input (eg. tabbing to another field).
Is there anywhere we can chat about these things? This issue seems to not be the best place. @ayushmxn
@ayushmxn i've contacted you on https://gitter.im
@bcharbonnier Could you add @ayushmxn as a maintainer? I'm trying to package piskel as a Flatpak and this PR is basically essential for it. Without the PR I would have to package his version, which is weird
Well this was mighty unfortunate.
Closed the PR since didn't look like it was going to be merged so forked the repo and maintaining my own version here: https://github.com/pahuch/piskel
Hello, just wondering if these fixes for the build process issues are still working or if its something I'm doing wrong or if there's another repo with a working version of it somewhere? However, if not, that is all good and thank you for your time.
@NiasuK You can apply the patches in this PR and test it out - will probably have to update bunch of deps again. I used to maintain a fork but deleted it a while ago - moved on to other things.