The goal of this exercise was for me to investigate/discover how hard/easy it would be to start using GraphQL.
Lets create an Apollo Server with NodeJS so we can play with GraphQL. The server will distribute data retrieved from the nintendo eshop (cause why not
mkdir graphql-server-example cd graphql-server-example
npm init --yes
npm install apollo-server-express express
Copy/paste the following into an
node index.js and you’ll have access to GraphQL Playground at
Lets define our types now. So we need to add a type to our
And we need to change our Query to return a list of games:
For this to work we obviously need to do a http request in order to get all titles.
That’s when we need to define a
datasource (doc here).
npm install apollo-datasource-rest
Now go back to the main file to specify it in the ApolloServer constructor:
And now you can get the list of games:
If you want more GraphQL example, look at the SpaceX tutorial which uses a REST API and a SqlLite DB.
Quite simple answer, I needed a calendar that could be customized easily for multiple small projects.
This component handles the display of the calendar, and you can give it a custom element for the cells and/or the title (meaning name of the days). You could also don’t use this custom component and just display the date (for a date picker for example - see below).
The main callback is
onDateSelected which will be called - as you would guess - when a cell has been clicked with the date as parameter, so you can do anything, like displaying a modal to create lets say an event.
More information on the documentation.
In this post, I’m not going to talk about npm (except for the initialisation part), but about how to code your module with Haxe.
First thing to do is to create our npm project.
npm init --yes
--yes because I’m lazy and I don’t want to enter the default value for each prompt.
My default package.json file looks like:
files parameter will tell npm which file/directory to import while installing the module. I only specify the dist directory, because for a production usage, the Haxe sources are not needed. But still, if you want to publish everything, just forget about the
My project looks like:
- test-node-package - dist - index.js - src - Main.hx - package.json - build.hxml
Now that we have our project setup, we can start working on our module.
Let’s say we want to do the following in another project:
In Haxe you will have to:
You will probably need to use the nodejs lib, so don’t forget to add it in your build.hxml:
I’ve changed the event handling in order to use msignal instead of passing a function down to the right component.
I’ve created an History/HistoryItem component to get a cleaner code.
To test it, just checkout the repo, install the dependancies:
And build the app.
I’m prototyping a lot for the Pico-8 console with haxe (using the hxpico8 library), so in order to help my productivity, I’ve built some tools.
The first aim was to initialize a new project quickly so you don’t lose time and you can start coding right away.
Once the project is built, the tool will take care of the compilation/deployment. Because I’m using haxe, I can’t code directly into the pico8 console and test right away. So the tool will do it for you by:
Once that’s done, you just have to reload your game in the Pico8 console, and test it.
For more information, please take a look at the github repository.