Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yarn workspace support #127

Open
mahcloud opened this issue Oct 24, 2022 · 6 comments
Open

Yarn workspace support #127

mahcloud opened this issue Oct 24, 2022 · 6 comments

Comments

@mahcloud
Copy link

Hi,

I'm very excited to try out this library.
Unfortunately, my app is in a yarn workspace.
Is there a way to configure where it is looking for the owl library?

I'm getting this error when I try to run owl build.

The resource `.../native-app/node_modules/react-native-owl/dist/client/index.app.js` was not found

The build script seems to be looking in the package for node_modules, but the node_modules are at the root of project because they were hoisted via yarn workspaces.

@bc-bane
Copy link

bc-bane commented Nov 14, 2022

If the react native app is in a yarn workspace you can get everything to work by adding react native owl to the no-hoist list in your root package.json.

"workspaces": {
    "nohoist": [
      "**/react-native-owl",
      "**/react-native-owl/**"

    ]
  }

@g-tiwari
Copy link

I am also seeing same issue. Even nohoist didn't help -

    Jest encountered an unexpected token

    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.

    Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.

    By default "node_modules" folder is ignored by transformers.

    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
     • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/configuration
    For information about custom transformations, see:
    https://jestjs.io/docs/code-transformation

    Details:

    <Path_to_My_Workspace>/__tests__/poc.owl.tsx:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import { changeText, longPress, press, reload, scrollTo, scrollToEnd, takeScreenshot, toExist } from 'react-native-owl';
                                                                                      ^^^^^^

    SyntaxError: Cannot use import statement outside a module

      at Runtime.createScriptFromCode (../../../../../node_modules/jest-runtime/build/index.js:1495:14)

Anyone has any success using this with workspaces ?

@mhsfh
Copy link

mhsfh commented Jun 8, 2023

@g-tiwari
I'm facing the same error did you find any solution?

@mahcloud
Copy link
Author

mahcloud commented Jun 8, 2023

@bc-bane and I have not found a solution to this

@g-tiwari
Copy link

@mahcloud Can you provide sandbox link to the solution ?

@mahcloud
Copy link
Author

sorry @g-tiwari I'm saying I don't have a solution. So I don't have anything to sandbox.

We went with Chromatic instead.

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

No branches or pull requests

4 participants