Perla 0.14.0

dotnet tool install --global Perla --version 0.14.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Perla --version 0.14.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Perla&version=0.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Perla --version 0.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Perla Dev Server

Check the sample https://github.com/AngelMunoz/perla-sample

Not using .NET? check the releases tab for a binary distribution, no need to install anything, just get the binary on your path and run it.

Install

  • .NET Users
    • dotnet tool install perla
  • Windows Users
    iwr -useb https://gist.githubusercontent.com/AngelMunoz/2f12b5d5d343338a509a216868d2bc2e/raw/3602e5b7f172af2bbf790fb6e303305ec7442213/install-perla.ps1 -OutFile ./install-perla.ps1
    # verify the contents of the script if you want then invoke
    ./install-perla.ps1 -Version # <CurrentVersion>
    

    Once we release a stable version you will be able to omit -Version <CurrentVersion>

  • Unix/MacOS

    Soon

This is an experimental project that aims to replace common and almost obligated nodejs tooling for greenfield projects using some state of the art technologies like

And battle tested technologies like

To allow frontend development without having to install any kind of dependency on your local machine, with the help of import maps we are able to import dependencies directly from the skypack cdn. This apart from removing the need for a local node environment and tools like npm <sup>*</sup> also improves security against npm compromised packages, since imports are handled via cdn the code is executed in the browser's sandbox.

Downsides

This tool assumes you're using standard Html, CSS and Javascript (Fable for F# users), currently there's no plan to support transpilers other than Fable and even then it might need to be refactored out to another tool if needed. That means if you want to use things like typescript/sass/less/pug you would need to pre-compile things first to then allow esbuild and the dev server do the rest.

Status

THis project is in its early stages of development, current goals at this point are:

  • For .NET users, remove npm/node out of the equation.
  • For F# users, seamless fable integration.
  • For .NET users, have a development server, HMR/auto-reload are not yet in the works.
  • For .NET users, Build for production using esbuild.
  • For .NET users, provide a cli dotnet tool
  • Binary Release for users outside .NET
  • Autoreload on change
  • Typescript and Jsx support
  • Json modules

Future Goals

Including the previous goals the future goals include

  • HMR
  • Plugin System

Quick Command View

USAGE: perla [--help] [--version] [<subcommand> [<options>]]

SUBCOMMANDS:

    serve, s <options>    Starts a development server for modern Javascript development
    build, b <options>    Builds the specified JS and CSS resources for production
    init <options>        Creates basic files and directories to start using fds.
    search, se <options>  Searches a package in the skypack API.
    show <options>        Gets the skypack information about a package.
    add <options>         Generates an entry in the import map.
    remove <options>      Removes an entry in the import map.

    Use 'perla <subcommand> --help' for additional information.

OPTIONS:

    --version, -v         Prints out the cli version to the console.
    --help                display this list of options.

<sup>*</sup>: The first releases are aimed at the .NET community via dotnet tools but, if this project turns out to be useful beyond that we will enable binary distributions which should be executable for any environment

Existing tools

If you actually use and like nodejs, then you would be better taking a look at the tools that inspired this repository

These tools have a bigger community and rely on an even bigger ecosystem plus they support plugins via npm so if you're using node stick with them they are a better choice Perla's unbundled development was inspired by both snowpack and vite, CDN dependencies were inspired by snowpack's remote sources development

This package has no dependencies.

Version Downloads Last updated
0.14.0 38 10/14/2021
0.13.0 117 10/10/2021
0.12.1 152 10/3/2021
0.11.0 118 10/1/2021
0.10.1 118 9/29/2021
0.9.1 107 9/28/2021
0.8.0 65 9/27/2021
0.7.0 85 9/26/2021
0.6.0 86 9/23/2021
0.5.0 57 9/22/2021
0.4.0 81 9/22/2021