joy

package module
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2017 License: GPL-3.0 Imports: 0 Imported by: 0

README

joy compiler

Translate idiomatic Go into concise Javascript that works in every browser. Use Go's type system and world-class tooling to build large web applications with confidence.

Visit mat.tm/joy to learn more about Joy.


Getting Started     ·    Examples     ·    Using the CLI

Contributing    ·    FAQ    ·    More Links

Joy API    ·    DOM API (coming soon!)    ·    Virtual DOM API (coming soon!)


Getting Started

1. Install Joy:

curl -sfL https://raw.githubusercontent.com/matthewmueller/joy/master/install.sh | sh

Note: you can also download from the releases tab.

2. Create a main.go file with the following code:

package main

func main() {
  println("hi world!")
}

3. Run the code in a real browser:

joy run main.go

4. See the compiled Javascript:

joy main.go

Examples

Visit https://mat.tm/joy/#examples or peruse the test suite.

Using the CLI

Compile Go into Javascript:

joy <main.go>

Compile and run the Go code in headless chrome:

joy run <main.go>

Build a development version of the code:

joy build --dev <main.go>...

Build a production version of the code (coming soon!):

joy build <main.go>...

Start a development server with livereload:

joy serve <main.go>...

Run joy help for additional details.

Contributing

So happy to hear you're interested in contributing! Here's a quick rundown of how to get setup:

Setup

  1. Make sure you have the Go environment setup on your computer. There are quite a few better resources online on how to do that

  2. go get -u -v github.com/matthewmueller/joy/... to install the compiler from source

  3. go test -v to run all the tests

Links and tips:

If you have any further questions, open an issue or reach out to me on twitter.

FAQ

Visit https://mat.tm/joy/#faq to view the FAQ.

  • Run joy help to see what else Joy can do for you
  • Visit mat.tm/joy to read more about Joy's origins
  • Chat with us in #joy-compiler on Slack at gophers.slack.com
  • Star github.com/matthewmueller/joy to follow the development
  • Follow twitter.com/mattmueller for project updates

Documentation

Overview

Package joy is a compiler that translates idiomatic Go into concise Javascript that works in every browser. Use Go's type system and world-class tooling to build large web applications with confidence.

Directories

Path Synopsis
_examples
api
run
Package run compiles your Go file and runs it on headless chrome This is the programmatic API to running Joy.
Package run compiles your Go file and runs it on headless chrome This is the programmatic API to running Joy.
test
Package test is coming soon
Package test is coming soon
cmd
joy
internal
_dom/override
Package override TODO
Package override TODO
cli
compiler
Package compiler is the entrypoint to Joy's compiler It follows the steps outlined in: https://mat.tm/joy/#how
Package compiler is the entrypoint to Joy's compiler It follows the steps outlined in: https://mat.tm/joy/#how
env
gen
mains
Package mains returns absolute file paths to the packages that are "main" packages, from the list of packages given.
Package mains returns absolute file paths to the packages that are "main" packages, from the list of packages given.
stats
Package stats provides CLI analytics.
Package stats provides CLI analytics.
std
fmt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL