Skip to content
This repository has been archived by the owner on Mar 5, 2023. It is now read-only.

Typescript path aliases cannot be used #23

Open
danielkcz opened this issue Sep 12, 2020 · 2 comments
Open

Typescript path aliases cannot be used #23

danielkcz opened this issue Sep 12, 2020 · 2 comments

Comments

@danielkcz
Copy link

danielkcz commented Sep 12, 2020

I am using path aliases quite heavily. An example of my tsconfig.json.

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "~machinery/graphql": ["generated/machinerygraphql"],
      "~machinery/*": ["*"],
      "~tools/*": ["../../tools/src/*"]
    },
  },
}

Then in the code I can do eg. import { getNow } from '~tools/timing'. Works like a charm with other tooling (after some hassle).

However, running xstate-codegen I am getting Error: Cannot find module '~tools/timing'.

I suppose based on the #21 (comment) it should be solved when transition is done?

@mattpocock
Copy link
Owner

This makes sense why this wouldn't work, rollup doesn't know about your aliases. Another reason why the transition mentioned in #21 makes sense.

As with that comment, a workaround is to extract the machines into their own file which doesn't use aliases. Is that workable for you?

@danielkcz
Copy link
Author

workaround is to extract the machines into their own file which doesn't use aliases. Is that workable for you?

Not really, because those imported functions are an inherent part of the machine. I am even used to splitting everything like this and the main bootMachine.ts does not have any aliased imports.

image

It's alright, I will wait for the transition. You are doing a great thing here. Looking forward to a moment when all these nasty edge cases are figured out.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants