Packages

Background

Given a file named "foo/pen.json" with:

{
  "type": "library",
  "dependencies": {}
}

And a file named "foo/Foo.pen" with:

type Foo = number

Foo = \() number {
  42
}

And a file named "foo/Foo/Foo.pen" with:

Foo = \() number {
  42
}

And a directory named "bar"

And I cd to "bar"

And a file named "pen.json" with:

{
  "type": "library",
  "dependencies": {
    "Foo": "../foo"
  }
}

Import a function from a module

Given a file named "Bar.pen" with:

import Foo'Foo

Bar = \() number {
  Foo'Foo()
}

When I run pen build

Then the exit status should be 0.

Import a type from a module

Given a file named "Bar.pen" with:

import Foo'Foo

type Bar = Foo'Foo

When I run pen build

Then the exit status should be 0.

Import a function from a nested module

Given a file named "Bar.pen" with:

import Foo'Foo'Foo

Bar = \() number {
  Foo'Foo()
}

When I run pen build

Then the exit status should be 0.