daml/templates
Gary Verhaegen c1559357f6
clean-up gsg README (#10641)
The current README dates back to when `create-daml-app` was its own
repo, and seems mostly written from the perspective of being the default
home page for the project. These days, `create-daml-app` serves two
purposes:

1. As the core starting point for the Getting Started Guide, we can
   assume people who are totally new to Daml will be following the
   getting started guide. How else would they even know about this
   template? In that case, I think it's fair to assume the user will *not*
   be looking to the README for guidance. Therefore, repeating the
   documentation here seems a bit pointless.
2. As a template to quickstart the creation of a "custom" app that is
   not the GSG. For that use-case, the README is the place where people
   would look for information, but at that point the information they're
   looking for are more along the lines of quick refreshers of what
   commands to run than explanations on how to use the app as Alice and
   Bob.

CHANGELOG_BEGIN
CHANGELOG_END
2021-08-23 10:59:35 +02:00
..
copy-trigger rewrite trigger docs to follow gsg (#10509) 2021-08-17 13:28:07 +00:00
create-daml-app clean-up gsg README (#10641) 2021-08-23 10:59:35 +02:00
create-daml-app-test-resources Upgrade jest to the latest version (#10107) 2021-06-24 11:16:29 +00:00
empty-skeleton language: add an empty template for the daml assistant. (#6102) 2020-05-26 15:27:10 +02:00
quickstart-java Migrate leftover scenario in quickstart to DAML Script (#7338) 2020-09-08 13:15:45 +02:00
quickstart-scala Migrate leftover scenario in quickstart to DAML Script (#7338) 2020-09-08 13:15:45 +02:00
skeleton Add docs link to skeleton daml.yaml template (#8420) 2021-01-06 20:44:07 +01:00
BUILD.bazel rewrite trigger docs to follow gsg (#10509) 2021-08-17 13:28:07 +00:00
default-dlint.yaml fix template dot-files (#10342) 2021-07-21 11:20:33 +02:00
default-gitattributes Apply new logo to create-daml-app template (#9105) 2021-03-12 13:20:31 +01:00
default-gitignore add gitignores to templates (#2159) 2019-07-16 14:59:08 +01:00
gsg-trigger.patch fix gsg-trigger template (#10611) 2021-08-18 14:49:30 +02:00
NO_AUTO_COPYRIGHT fix template dot-files (#10342) 2021-07-21 11:20:33 +02:00
README.txt Daml case and logo (#8433) 2021-01-08 12:50:15 +00:00

These are template projects for `daml new`.

Testing the create-daml-app template
====================================

While automated integration tests for the create-daml-app template are being built,
we have the following manual testing procedure.
Note that this is for testing against the head of the daml repo.
For testing against a released SDK, you can skip past the package.json step and use
`daml` instead of `daml-head` after installing the released version.


First, build the SDK from head using the `daml-sdk-head` command.
This gives an executable Daml assistant called `daml-head` in your path.

Next, instantiate the `create-daml-app` template as follows:

```
daml-head new create-daml-app --template create-daml-app
cd create-daml-app
```

Crucially, you'll need to add a package.json file at the root of the project for testing
(this is not required when using the released SDK).
It should look as follows, with the dummy paths here replaced by relative paths to locally
built TypeScript libraries.
(These need to be built from head using Bazel:
```
bazel build //language-support/ts/daml-types
bazel build //language-support/ts/daml-ledger
bazel build //language-support/ts/daml-react```)

package.json:
{
    "resolutions": {
        "@daml/types": "file:path/to/daml-types/npm_package",
        "@daml/ledger": "file:path/to/daml-ledger/npm_package",
        "@daml/react": "file:path/to/daml-react/npm_package"
    },
    "private": true,
    "workspaces": [
        "daml.js",
        "ui"
    ]
}

Now you can continue to build and run the project as described in create-daml-app/README.md,
using `daml-head` instead of `daml`.
Specifically, you should run the following in the root directory:
```
daml-head build
daml-head codegen js .daml/dist/create-daml-app-0.1.0.dar -o daml.js
daml-head start
```

Then in another terminal, navigate to `create-daml-app/ui/` and run:
```
yarn install
yarn start
```
And check that the app works.

Finally, terminate both the `daml start` and `yarn start` processes and run
`yarn test` from the `ui` directory. All tests should pass.