Renamed to finos/morphir-elm. It is published under that name, and new versions come out there.
Versions published as Morgan-Stanley/morphir-elm still install under that name. 5 versions of 5 come from the new location (see their notes).
Rerouted (fork, verified). The original repository is gone. This copy comes from a fork that still has the tag. The Lamdera package server serves a copy recovered from https://github.com/maoo/morphir-elm (a fork).
What we checked: Rebuilt with git archive from commit 51e7ceb666e5 of https://github.com/maoo/morphir-elm (a fork) (zip prefix Morgan-Stanley-morphir-elm-c0a167e/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 a573dab6e577d8aa40585d10959c1dccb7b8f000.
The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.
Details · package.elm-lang.org's zip: https://github.com/Morgan-Stanley/morphir-elm/zipball/2.0.0/
morphir-elm is a set of tools to work with Morphir in Elm. It's dual published as an NPM and an Elm package:
The morphir-elm NPM package provides a CLI to run the tooling.
npm install -g morphir-elmAll the features can be accessed through sub-commands within the morphir-elm command:
morphir-elm [command]Each command has different options which are detailed below:
This command reads Elm sources, translates to Morphir IR and outputs the IR into JSON.
morphir-elm make [options]Important: The command requires a configuration file called morphir.json located in the project
root directory with the following structure:
{
"name": "My.Package",
"sourceDirectory": "src",
"exposedModules": [
"Foo",
"Bar"
]
}My.Package all your module files should either be directly
under that or in submodules.Foo refers to the Elm module My.Package.Foo.--project-dir <path>, -p--output <path>, -oThe Morgan-Stanley/morphir-elm package provides various tools to work with Morphir. It contains the following main components:
elm install Morgan-Stanley/morphir-elmThe goal of the Morphir.SDK module is to provide you the basic building blocks to build your domain model and
business logic. It also serves as a specification for backend developers that describes the minimum set of functionality
each backend implementation should support.
It is generally based on elm/core/1.0.5 and provides most of
the functionality provided there except for some modules that fall outside the scope of business knowledge modeling:
Debug, Platform, Process and Task.
Apart from the modules mentioned above you can use everything that's available in elm/core/1.0.5 without importing
the Morphir SDK. The Elm frontend will simply map those to the corresponding type/function names in the Morphir SDK.
The Morphir SDK also provides some features beyond elm/core/1.0.5. To use those features you have to import the
specific Morphir SDK module. Modules that extends elm/core will implement the same functions so in general you can
use an alias if you want to switch from the elm/core module to the Morphir SDK version. For example if you want to
use extended List functions you can do the below an all existing code should continue to work without changes:
import Morphir.SDK.List as ListThe Morphir.IR module defines a type-safe API to work with Morphir's intermediate representation. The module
structure follows the structure of the IR. Here's a list of concepts in a top-down approach: