mizchi / Uniroll
Opinionated universal frontend bundler in browser
Stars: ✭ 84
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
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
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
Idiolisp
A statically typed functional programming language
Stars: ✭ 78 (-7.14%)
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
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
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 newrollup-plugin-virtual-fs
- Use
https://esm.sh
v2
- Use
typescript
compiler instead of@babel/core
and dorp babel plugins. - No more
useInMemory: true
option. Just takefs
ormemfs
. - Drop
package.json
reading. Useimportmaps
WICG/import-maps: How to control the behavior of JavaScript imports
TODO
- Documentation
- CSS Loader / Optimizer
- Svelte usages
- include tslib
LICENSE
MIT
- Kotaro Chikuba ~ @mizchi
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].