Perla 0.15.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Perla --version 0.15.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.15.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Perla&version=0.15.0
nuke :add-package Perla --version 0.15.0

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

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.0.0-beta-024 262 4/28/2023
1.0.0-beta-023 217 4/27/2023
1.0.0-beta-022 171 4/26/2023
1.0.0-beta-021 243 4/24/2023
1.0.0-beta-020 285 4/23/2023
1.0.0-beta-018 236 4/15/2023
1.0.0-beta-017 216 4/13/2023
1.0.0-beta-016 307 4/12/2023
1.0.0-beta-015 514 4/8/2023
1.0.0-beta-014 530 4/7/2023
1.0.0-beta-013 763 3/27/2023
1.0.0-beta-012 782 3/25/2023
1.0.0-beta-011 581 3/25/2023
1.0.0-beta-010 740 3/24/2023
1.0.0-beta-009 573 12/22/2022
1.0.0-beta-008 428 12/14/2022
1.0.0-beta-007 506 12/9/2022
1.0.0-beta-006 345 12/8/2022
1.0.0-beta-005 259 12/7/2022
1.0.0-beta-004 522 12/5/2022
1.0.0-beta-003 393 12/5/2022
1.0.0-beta-002 441 11/30/2022
1.0.0-beta-001 368 11/27/2022
0.24.1 654 9/6/2022
0.24.0 400 9/5/2022
0.23.0 422 8/26/2022
0.22.1 509 5/10/2022
0.22.0 431 5/10/2022
0.21.0 456 4/30/2022
0.20.1 464 2/2/2022
0.20.0 476 1/26/2022
0.19.0 272 1/14/2022
0.18.0 382 12/3/2021
0.17.0 284 11/19/2021
0.16.0 321 11/17/2021
0.15.0 284 11/15/2021
0.14.0 342 10/14/2021
0.13.0 387 10/10/2021
0.12.1 437 10/3/2021
0.11.0 402 10/1/2021
0.10.1 381 9/29/2021
0.9.1 358 9/28/2021
0.8.0 342 9/27/2021
0.7.0 327 9/26/2021
0.6.0 308 9/23/2021
0.5.0 282 9/22/2021
0.4.0 325 9/22/2021