expo / expo/snack

Module Namespacing Support for Packages

Open
#161 10 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
510
Forks
178
Avg merge
5h 7m
Merged PRs (30d)
5

Description

### Summary

When installing a package that uses module namespacing (`export * as {moduleName} from './{moduleName}`), Expo's default configuration throws an error when compiling for web and iOS. This is an important tool for structuring TypeScript code, so I'd expect it to work out of the box.

### Managed or bare workflow? If you have `ios/` or `android/` directories in your project, the answer is bare!

bare

### What platform(s) does this occur on?

iOS, Web

### SDK Version (managed workflow only)

4.5.2

### Environment

MacOS, Node v14.15.5.

### Reproducible demo or steps to reproduce from a blank project

https://snack.expo.io/kSlfJiSnR

Steps to reproduce:
- `npm install @dfinity/agent`
- Somewhere in the code - `import { HttpAgent } from "@dfinity/agent";`

Contributor guide

Open the contributing guide

Research direction

Start with the linked Snack reproduction and the reported import from @dfinity/agent, then inspect Expo Snack’s default compilation configuration for web and iOS. The work is done when a bare project using the module-namespaced package compiles successfully on both reported platforms without the configuration error.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
build-system, mobile-dev, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.