microsoft / microsoft/react-native-windows

Automatically Support TypeScript Entry Files When Bundling in Release Build

Open
#7,807 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Build Infrastructure enhancement Workstream: ES Compliance SFI
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

We have the following MSBuild logic in Bundle.props to determine the bundle entry:

    <!-- Entry file of the JS bundle. Defaults to use index.windows.js if it exists, otherwise index.js -->
    <BundleEntryFile Condition="'$(BundleEntryFile)' == '' and Exists('$(BundleCommandWorkingDir)\index.windows.js')">index.windows.js</BundleEntryFile>
    <BundleEntryFile Condition="'$(BundleEntryFile)' == ''">index.js</BundleEntryFile>

This logic means that if you rename your entry to a ts or tsx file, your bundle server will work fine, but release builds will start to fail.

We should be more liberal in entry point extensions to allow for TS, JSX, TSX, etc.

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.

Research direction

Start in Bundle.props, where BundleEntryFile currently selects index.windows.js or index.js. Review the release bundling conditions and extend the entry-file handling for the TypeScript and JSX extensions named in the issue. Confirm completion by running a release build with a TypeScript or TSX entry file.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, release
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.