All Projects → chialab → rna

chialab / rna

Licence: MIT license
🚀 A bundler, a server and a test runner for modern modules and applications.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to rna

Carton
📦 Watcher, bundler, and test runner for your SwiftWasm apps
Stars: ✭ 171 (+92.13%)
Mutual labels:  bundler, test-runner
breakcheck
Backwards compatibility linter for Go.
Stars: ✭ 66 (-25.84%)
Mutual labels:  linter
TSLint.MSBuild
[Deprecated] An MSBuild task for running TSLint.
Stars: ✭ 13 (-85.39%)
Mutual labels:  linter
linter-pylama
Lint python in the Atom on the fly, using pylama
Stars: ✭ 22 (-75.28%)
Mutual labels:  linter
raincoat
Raincoat has you covered when you can't stay DRY
Stars: ✭ 27 (-69.66%)
Mutual labels:  linter
action-rubocop
Run rubocop with reviewdog 🐶
Stars: ✭ 83 (-6.74%)
Mutual labels:  linter
SublimeLinter-contrib-markdownlint
A Sublime Text Linter for Markdown/CommonMark files.
Stars: ✭ 29 (-67.42%)
Mutual labels:  linter
flake8-simplify
❄ A flake8 plugin that helps you to simplify code
Stars: ✭ 97 (+8.99%)
Mutual labels:  linter
jetrockets-standard
Standard RuboCop configuration for JetRockets with cookies
Stars: ✭ 14 (-84.27%)
Mutual labels:  linter
webpack tutorial
JavaScript Module bundler, Webpack2 from scratch
Stars: ✭ 13 (-85.39%)
Mutual labels:  bundler
rombundler
A tiny libretro frontend to release homebrews as executables
Stars: ✭ 49 (-44.94%)
Mutual labels:  bundler
bemlinter
A cli tool to lint bem component isolation in CSS / SCSS files
Stars: ✭ 15 (-83.15%)
Mutual labels:  linter
flake8-aaa
A Flake8 plugin that checks Python tests follow the Arrange-Act-Assert pattern
Stars: ✭ 51 (-42.7%)
Mutual labels:  linter
litho-lint-rules
Lint rules for Litho by Facebook http://fblitho.com/
Stars: ✭ 14 (-84.27%)
Mutual labels:  linter
bundle-diff
Bundler plugin for showing gem diffs
Stars: ✭ 42 (-52.81%)
Mutual labels:  bundler
vscode-stylelint-plus
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint, support auto fix on save.
Stars: ✭ 32 (-64.04%)
Mutual labels:  linter
pymarkdown
No description or website provided.
Stars: ✭ 22 (-75.28%)
Mutual labels:  linter
bpmnlint
Validate BPMN diagrams based on configurable lint rules.
Stars: ✭ 82 (-7.87%)
Mutual labels:  linter
folderslint
📁 Directory structure linter for JavaScript projects
Stars: ✭ 131 (+47.19%)
Mutual labels:  linter
staticcheck-action
Staticcheck's official GitHub Action
Stars: ✭ 47 (-47.19%)
Mutual labels:  linter

RNA logo


RNA is a build framework

We built RNA to be pluggable and to be interoperable with other build systems. A lot of esbuild and postcss plugins are distribuited as standalone packages in order to be reused outside the RNA opinionated ecosystem. We also designed a micro-sdk for esbuild plugin authors that handles transform pipelines and emits chunks or files.

RNA is a bundler

RNA bundler is heavily based on esbuild, an extremely fast JavaScript bundler with some pre-configured addons. It can bundle and optimize JavaScript, TypeScript, JSX, CSS and HTML and collect referenced assets just using languages features.

The bundler is designed for modern browsers, but it can transpile code for IE11 and other legacy browsers with Babel and PostCSS plugins.

RNA is a dev server

Build plugins are also available for the Web Dev Server. Since both WDS and RNA aim to use standard syntax and practises in web projects, you can run a local server with hot module replacement and CSS livereload without have to bundle your web app first or to re-run a partial build for each change. Files loaded via ESM will pass through a little esbuild transpilation in order to support TypeScript, CommonJS modules and node resolution, making a great difference in developer experience. The dev server can be used also for PHP with an Encore-like approach.

RNA is a browser and node test runner

Built on the Web Dev Server, a configured instance of the Web Test Runner is also available for browsers. It comes with coverage and on-the-fly legacy browsers support.

Since RNA aims to support both browser and Node modules, you can test your modules in Node environments using the RNA test runner based on Mocha. Coverage is also available thanks to the v8 coverage tool.

RNA is a cli

Quick usage

$ npm i -D \
    @chialab/rna \
    @chialab/rna-bundler \
    @chialab/rna-dev-server \
    @chialab/rna-browser-test-runner

package.json

{
    "scripts": {
        "start": "rna serve src --port 3000",
        "build": "rna build src/index.html --output public",
        "test": "rna test:browser 'test/**/*.spec'"
    }
}

Tutorials


License

RNA is released under the MIT license.

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].