Comments (6)
Hi Alan, thanks for the issue, I'm a big fan of your work. :)
Incheon is not meant to be packaged independently. It is a library which ultimately gets packaged into
a host game project. There are examples for both browserify and webpack packaging.
Take a look at the boilerplate game repository: https://github.com/namel/incheongame
Or better yet, you're invited to walk through one of the tutorials in the documentation:
http://docs.incheon.gg/develop/index.html
from lance.
@namel ;)
I am not so much talking about packaging as transpiling.
The problem is that using babel, it expects code to be either es5 compatable, or transpiled (which is basically the same thing). Since incheon exports es6 code (class
), and is not transpiled by default when the user require
s it (babel ignores node_modules) babel cannot handle when you do something like:
const GameEngine = require('incheon').GameEngine
class MyGameEngine extends GameEngine { }
This won't compile in a standard babel/webpack setup. It is possible to have babel transpile this package by ignoring it, but this ultimatley puts the burden on the user, which IMO is less than ideal. I would rather have you state that you do not support es5 if that is the case.
I've put together a reproduction repo to better illustrate the problem: https://github.com/GGAlanSmithee/incheon-babel-test
from lance.
What about the option of configuring webpack with babel-loader
? We used this to
get babel/webpack to work together, and extended the GameEngine
class as you described above.
@OpherV got this to work by specifying the webpack babel-loader
in webpack.config.js
Take a look at our spaaace demo repository, and specifically at the webpack.config.js
file:
https://github.com/OpherV/spaaace
from lance.
@namel yeah, looks like you are manually including incheon for transpilation in that project https://github.com/OpherV/spaaace/blob/master/webpack.config.js#L25
This is a real option, and sooner or later I guess we need to move toward es6, but I think you should make this clear in the documentation, want a PR for the docs?
from lance.
would be great
from lance.
@namel #42 (what a magic number) let me know if want anything to be changed.
from lance.
Related Issues (20)
- Add additional exports HOT 1
- Idk what's wrong with starting HOT 6
- add more games to gallery on home page
- Hardcoded Host in NetworkMonitor HOT 4
- playerId vs id: update docs HOT 1
- applySync missing in frameSync strategy
- Player ID is always autogenerated HOT 1
- The ClientEngine.start() promise is not resolved HOT 2
- Script minification causes name mismatch in Serializer.registerClass HOT 2
- My First Game: Pong tutorial is missing imports
- Serializer causes a crash if netScheme has a string HOT 2
- entity component system HOT 1
- Spaaace demo no longer works HOT 1
- Is lance being actively developed? HOT 2
- What exactly is bending? HOT 3
- Add missing debug JSDoc annotations to ServerEngine constructor
- What is the purpose of the Serializer? HOT 1
- Is this project still active? HOT 1
- Make "from scratch" tutorials
- Teleporting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lance.