All Projects → mizchi → Uniroll

mizchi / Uniroll

Opinionated universal frontend bundler in browser

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Uniroll

Cjstoesm
A tool that can transform CommonJS to ESM
Stars: ✭ 109 (+29.76%)
Mutual labels:  rollup, compiler
Denopack
The bundling and minification toolset, made for Deno
Stars: ✭ 81 (-3.57%)
Mutual labels:  rollup
Mini Interpreter
A Simple Scripting Language
Stars: ✭ 72 (-14.29%)
Mutual labels:  compiler
Rubyx
RubyX compiles ruby to binary (in ruby), hoping to be that X times faster
Stars: ✭ 78 (-7.14%)
Mutual labels:  compiler
Ts Transform Css Modules
Extract css class names from required css module files for TypeScript
Stars: ✭ 75 (-10.71%)
Mutual labels:  compiler
Fennel
Lua Lisp Language
Stars: ✭ 1,225 (+1358.33%)
Mutual labels:  compiler
Online Compiler
This is an online compiler that can compile and run C\C++ And Java Program. This online compiler is a part of my 5th semester project "RUET Online Judge" . Developed By Ashadullah Shawon
Stars: ✭ 71 (-15.48%)
Mutual labels:  compiler
Forkphorus
JavaScript compiler for Scratch 3, 2, and 1 projects.
Stars: ✭ 83 (-1.19%)
Mutual labels:  compiler
Jsdoctest
Run jsdoc examples as doctests.
Stars: ✭ 80 (-4.76%)
Mutual labels:  compiler
Idiolisp
A statically typed functional programming language
Stars: ✭ 78 (-7.14%)
Mutual labels:  compiler
Yapypy
Yet another Python Python
Stars: ✭ 77 (-8.33%)
Mutual labels:  compiler
Template.js
A javascript template engine, simple, easy & extras, support webpack, rollup, parcel, browserify, fis and gulp
Stars: ✭ 1,201 (+1329.76%)
Mutual labels:  rollup
Alias Hq
The end-to-end solution for configuring, refactoring, maintaining and using path aliases
Stars: ✭ 77 (-8.33%)
Mutual labels:  rollup
Electron Vue Vite
Electron、vue3、vite2、ant-design-vue2 整合
Stars: ✭ 72 (-14.29%)
Mutual labels:  rollup
Spvgentwo
SpvGenTwo is a SPIR-V building and parsing library written in plain C++17 without any dependencies. No STL or other 3rd-Party library needed.
Stars: ✭ 74 (-11.9%)
Mutual labels:  compiler
Lens
Language for Embeddable .NET Scripting
Stars: ✭ 71 (-15.48%)
Mutual labels:  compiler
Delta
Programming language focused on performance and productivity
Stars: ✭ 77 (-8.33%)
Mutual labels:  compiler
Tiger
Tiger Compiler from "Modern Compiler Implementation in ML" by Andrew W. Appel
Stars: ✭ 77 (-8.33%)
Mutual labels:  compiler
Zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Stars: ✭ 11,555 (+13655.95%)
Mutual labels:  compiler
Typhon
Snakes on rbx-head. A Python implementation for the Rubinius VM
Stars: ✭ 82 (-2.38%)
Mutual labels:  compiler

uniroll

Opinionated frontend compiler in browser.

  • Bundle in browser for rapid prototyping
  • Resolve modules by https://esm.sh
  • Transpile typescript

How it works

  • Create virtual fs by rollup-plugin-virtual-fs
  • Load npm modules via rollup-plugin-http-resolve
  • Compile with typescript
  • Compile with rollup

Run in browser

npm install uniroll typescript rollup --save
import { bundle } from "uniroll";
const files = {
  "/foo.tsx": "export default 1",
  "/index.tsx": "import foo from 'foo';\nconsole.log('hello', foo)",
};
const bundled = await bundle({
  files,
  input: "/index.tsx",
});
const out = await bundled.generate({ format: "esm" });
console.log(out.output[0]);

CLI

Run compiler with same logics.

$ npm install uniroll-tools -g
$ uniroll foo.js -o out.js

TODO: Options Documentation

How to develop

# If you are not on MacOS try running `yarn --ignore-platform` instead of `yarn install`.
yarn install
yarn build
yarn test

How to build your uniroll

yarn add uniroll typescript rollup
# If you want to use uniroll-svelte, add svelte

Add this wepback rules

module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.js$/,
        include: /pluginutils/, // for @rollup/pluginutils
        type: "javascript/auto",
      },
    ],
  },
};

ChangeLog

v3

  • Drop rollup-plugin-memfs and add new rollup-plugin-virtual-fs
  • Use https://esm.sh

v2

TODO

  • Documentation
  • CSS Loader / Optimizer
  • Svelte usages
  • include tslib

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].