3

GitHub - AngelMunoz/Perla: A Node'less dev tool for modern and evergreen Fronten...

 2 years ago
source link: https://github.com/AngelMunoz/Perla
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

*: 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK