GithubHelp home page GithubHelp logo

isabella232 / parcel-transformer-riot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from riot/parcel-transformer-riot

0.0 0.0 0.0 708 KB

A parcel plugin for riot.js

License: MIT License

JavaScript 73.54% HTML 13.75% Riot 12.71%

parcel-transformer-riot's Introduction

Build Status NPM version NPM downloads MIT License

The Riot.js official parcel transformer.

Important

  • If you are using Parcel < 2.0.0 please check the this branch
  • If you are using Riot.js < 4.0.0 please check the v3 branch

Using

1. Add the riot parcel transformer to your project.

npm i -D @riotjs/parcel-transformer-riot @riotjs/compiler

2. Configure your .parcelrc file

{
  "extends": "@parcel/config-default",
  "transformers": {
    "*.riot": ["@riotjs/parcel-transformer-riot"]
  }
}

-> You are ready!

import App from './src/App.riot'
import {component} from 'riot'

component(App)(document.querySelector('#root'), {
  message: 'Hello there'
})

Configuration

If you want compile your tags using custom riot compiler options you can create a riot.config.js in the root folder of your project

module.exports = {
  hot: false // set it to true if you are using hmr
  // add here all the other @riotjs/compiler options riot.js.org/compiler
  // template: 'pug' for example
}

If you want to use pug as your template engine, your riot.config.js might look like this

const { registerPreprocessor } = require('@riotjs/compiler')
const { render } = require('pug')

// register the pug preprocessor
registerPreprocessor('template', 'pug', (code, options) => {
  const { file } = options

  return {
    code: render(code, {
      filename: file,
      pretty: true,
      doctype: 'html'
    })
  }
})

module.exports = {
  template: 'pug'
}

If you want to enable hmr via hot option you will need to install also @riotjs/hot-reload

npm i @riotjs/hot-reload -D

parcel-transformer-riot's People

Contributors

gianlucaguarini avatar andruschka avatar dependabot[bot] avatar arika0093 avatar n2geoff avatar rydez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.