Perla 0.6.0

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

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

Future Goals

Including the previous goals the future goals include

  • Autoreload on change
  • HMR
  • Binary Release for users outside .NET

current commands are

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

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 369 4/28/2023
1.0.0-beta-023 322 4/27/2023
1.0.0-beta-022 242 4/26/2023
1.0.0-beta-021 340 4/24/2023
1.0.0-beta-020 391 4/23/2023
1.0.0-beta-018 325 4/15/2023
1.0.0-beta-017 327 4/13/2023
1.0.0-beta-016 401 4/12/2023
1.0.0-beta-015 740 4/8/2023
1.0.0-beta-014 753 4/7/2023
1.0.0-beta-013 1,032 3/27/2023
1.0.0-beta-012 1,042 3/25/2023
1.0.0-beta-011 786 3/25/2023
1.0.0-beta-010 995 3/24/2023
1.0.0-beta-009 820 12/22/2022
1.0.0-beta-008 687 12/14/2022
1.0.0-beta-007 699 12/9/2022
1.0.0-beta-006 613 12/8/2022
1.0.0-beta-005 491 12/7/2022
1.0.0-beta-004 731 12/5/2022
1.0.0-beta-003 624 12/5/2022
1.0.0-beta-002 658 11/30/2022
1.0.0-beta-001 593 11/27/2022
0.24.1 778 9/6/2022
0.24.0 472 9/5/2022
0.23.0 493 8/26/2022
0.22.1 579 5/10/2022
0.22.0 499 5/10/2022
0.21.0 544 4/30/2022
0.20.1 546 2/2/2022
0.20.0 558 1/26/2022
0.19.0 357 1/14/2022
0.18.0 463 12/3/2021
0.17.0 354 11/19/2021
0.16.0 398 11/17/2021
0.15.0 366 11/15/2021
0.14.0 417 10/14/2021
0.13.0 470 10/10/2021
0.12.1 524 10/3/2021
0.11.0 490 10/1/2021
0.10.1 463 9/29/2021
0.9.1 437 9/28/2021
0.8.0 433 9/27/2021
0.7.0 412 9/26/2021
0.6.0 379 9/23/2021
0.5.0 376 9/22/2021
0.4.0 400 9/22/2021