playcanvas / playcanvas/engine

pc.app is null in ESM build

Open
#6,138 5 comments 0 reactions 1 assignee View on GitHub

@marklundin is already working on this.

Since Mar 11, 2024.

area: scripts
Dominant language
JavaScript
Stars
16.8k
Forks
2k
Avg merge
4h 32m
Merged PRs (30d)
222

Description

In UMD build app is added to the pc export which provides pc.app

https://github.com/playcanvas/engine/blob/2a805ddb901c0715deb5d93e4526022be26445f4/src/framework/app-base.js#L97

In the ESM build, app is part of the App-Base module scope and is initialised as part of the app startup. This means that

import { app } from 'playcanvas'
// app === null;

However, importing later it will resolve. This seems error prone and inconsistent with expectations with how imports work. Ideally this should be removed, but may be used by users. There needs to be a solution to migrate away from this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.