1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-26 17:13:35 +03:00
juvix/include/package/PackageDescription/Basic.juvix
Paul Cadman 7b5211664e
Add PackageDescription.Basic module Package variant (#2509)
This PR adds the `PackageDescription.Basic` module, available to
Package.juvix files.

```
module Package;

import PackageDescription.Basic open;

package : Package := basicPackage;
```

The `PackageDescription.Basic` module provides a Package type that is
translated to a Juvix Package with all default arguments. It is not
possible to customize a basic package.

A basic package does not depend on the standard library, so loads much
more quickly.

Additionally this PR:
* Adds `juvix init --basic/-b` option to generate a basic Package.juvix.
* Migrates Package.juvix files that only use default arguments, or only
customise the name field, to basic Package files.

* Closes https://github.com/anoma/juvix/issues/2508
2023-11-13 17:36:18 +00:00

16 lines
440 B
Plaintext

module PackageDescription.Basic;
--- A ;Package; defines the configuration for a Juvix package
type Package :=
--- A package with the following settings:
---
--- name: "my-project"
--- version: 0.0.0
--- dependencies: The default standard library
--- main: nothing
--- buildDir: nothing
---
--- Use this in situations where you don't want the package configuration file
--- to use the standard library.
basicPackage;