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

Cannot find module '@glimmer/env' when trying to run glint --declaration #698

Open
NullVoxPopuli opened this issue Feb 2, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@NullVoxPopuli
Copy link
Contributor

NullVoxPopuli commented Feb 2, 2024

❯ pnpm glint --declaration
node:internal/modules/cjs/loader:1144
  const err = new Error(message);
              ^

Error: Cannot find module '@glimmer/env'
Require stack:
- <repo>/node_modules/.pnpm/@glimmer+syntax@0.84.3/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js
- <repo>/node_modules/.pnpm/@glimmer+syntax@0.84.3/node_modules/@glimmer/syntax/dist/commonjs/es2017/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (<repo>/node_modules/.pnpm/@glimmer+syntax@0.84.3/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js:8:12)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '<repo>/node_modules/.pnpm/@glimmer+syntax@0.84.3/node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js',
    '<repo>/node_modules/.pnpm/@glimmer+syntax@0.84.3/node_modules/@glimmer/syntax/dist/commonjs/es2017/index.js'
  ]
}
why @glimmer/syntax
Legend: production dependency, optional only, dev only

limber-ui@1.0.0-beta.0 /home/nvp/Development/NullVoxPopuli/limber/packages/app-support/limber-ui/addon

dependencies:
@fortawesome/ember-fontawesome 2.0.0
├─┬ ember-auto-import 2.7.2
│ └─┬ babel-plugin-ember-template-compilation 2.2.1
│   └── @glimmer/syntax 0.84.3
├─┬ ember-cli-htmlbars 6.3.0
│ └─┬ babel-plugin-ember-template-compilation 2.2.1
│   └── @glimmer/syntax 0.84.3
└─┬ ember-source 5.6.0 peer
  ├─┬ @glimmer/compiler 0.85.13
  │ └── @glimmer/syntax 0.85.13
  ├── @glimmer/syntax 0.85.13
  ├─┬ babel-plugin-ember-template-compilation 2.2.1
  │ └── @glimmer/syntax 0.84.3
  └─┬ ember-auto-import 2.7.2
    └─┬ babel-plugin-ember-template-compilation 2.2.1
      └── @glimmer/syntax 0.84.3

devDependencies:
@embroider/addon-dev 4.2.0
└─┬ @embroider/core 3.4.4
  └─┬ babel-plugin-ember-template-compilation 2.2.1
    └── @glimmer/syntax 0.84.3
@glint/core 1.3.0
└── @glimmer/syntax 0.84.3
@glint/environment-ember-loose 1.3.0
├─┬ ember-cli-htmlbars 6.3.0 peer
│ └─┬ babel-plugin-ember-template-compilation 2.2.1
│   └── @glimmer/syntax 0.84.3
└─┬ ember-modifier 4.1.0 peer
  └─┬ ember-source 5.6.0 peer
    ├─┬ @glimmer/compiler 0.85.13
    │ └── @glimmer/syntax 0.85.13
    ├── @glimmer/syntax 0.85.13
    ├─┬ babel-plugin-ember-template-compilation 2.2.1
    │ └── @glimmer/syntax 0.84.3
    └─┬ ember-auto-import 2.7.2
      └─┬ babel-plugin-ember-template-compilation 2.2.1
        └── @glimmer/syntax 0.84.3
@glint/environment-ember-template-imports 1.3.0
└─┬ @glint/environment-ember-loose 1.3.0 peer
  ├─┬ ember-cli-htmlbars 6.3.0 peer
  │ └─┬ babel-plugin-ember-template-compilation 2.2.1
  │   └── @glimmer/syntax 0.84.3
  └─┬ ember-modifier 4.1.0 peer
    └─┬ ember-source 5.6.0 peer
      ├─┬ @glimmer/compiler 0.85.13
      │ └── @glimmer/syntax 0.85.13
      ├── @glimmer/syntax 0.85.13
      ├─┬ babel-plugin-ember-template-compilation 2.2.1
      │ └── @glimmer/syntax 0.84.3
      └─┬ ember-auto-import 2.7.2
        └─┬ babel-plugin-ember-template-compilation 2.2.1
          └── @glimmer/syntax 0.84.3
@nullvoxpopuli/eslint-configs 3.2.2
├─┬ eslint-plugin-ember 12.0.0 peer
│ └─┬ ember-eslint-parser 0.2.5
│   └── @glimmer/syntax 0.85.13
└─┬ prettier-plugin-ember-template-tag 1.1.0
  ├── @glimmer/syntax 0.84.3
  └─┬ ember-cli-htmlbars 6.3.0
    └─┬ babel-plugin-ember-template-compilation 2.2.1
      └── @glimmer/syntax 0.84.3
babel-plugin-ember-template-compilation 2.2.1
└── @glimmer/syntax 0.84.3
ember-async-data 1.0.3
└─┬ ember-source 5.6.0 peer
  ├─┬ @glimmer/compiler 0.85.13
  │ └── @glimmer/syntax 0.85.13
  ├── @glimmer/syntax 0.85.13
  ├─┬ babel-plugin-ember-template-compilation 2.2.1
  │ └── @glimmer/syntax 0.84.3
  └─┬ ember-auto-import 2.7.2
    └─┬ babel-plugin-ember-template-compilation 2.2.1
      └── @glimmer/syntax 0.84.3
ember-cli-htmlbars 6.3.0
└─┬ babel-plugin-ember-template-compilation 2.2.1
  └── @glimmer/syntax 0.84.3
ember-modifier 4.1.0
└─┬ ember-source 5.6.0 peer
  ├─┬ @glimmer/compiler 0.85.13
  │ └── @glimmer/syntax 0.85.13
  ├── @glimmer/syntax 0.85.13
  ├─┬ babel-plugin-ember-template-compilation 2.2.1
  │ └── @glimmer/syntax 0.84.3
  └─┬ ember-auto-import 2.7.2
    └─┬ babel-plugin-ember-template-compilation 2.2.1
      └── @glimmer/syntax 0.84.3
ember-primitives 0.10.4
├─┬ ember-element-helper 0.8.5
│ ├─┬ @embroider/util 1.12.1
│ │ ├─┬ @glint/environment-ember-loose 1.3.0 peer
│ │ │ ├─┬ ember-cli-htmlbars 6.3.0 peer
│ │ │ │ └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ │ │   └── @glimmer/syntax 0.84.3
│ │ │ └─┬ ember-modifier 4.1.0 peer
│ │ │   └─┬ ember-source 5.6.0 peer
│ │ │     ├─┬ @glimmer/compiler 0.85.13
│ │ │     │ └── @glimmer/syntax 0.85.13
│ │ │     ├── @glimmer/syntax 0.85.13
│ │ │     ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ │     │ └── @glimmer/syntax 0.84.3
│ │ │     └─┬ ember-auto-import 2.7.2
│ │ │       └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ │         └── @glimmer/syntax 0.84.3
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
├─┬ ember-modifier 4.1.0 peer
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
├─┬ ember-resources 6.5.1 peer
│ ├─┬ ember-async-data 1.0.3
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
├─┬ ember-source 5.6.0 peer
│ ├─┬ @glimmer/compiler 0.85.13
│ │ └── @glimmer/syntax 0.85.13
│ ├── @glimmer/syntax 0.85.13
│ ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ └── @glimmer/syntax 0.84.3
│ └─┬ ember-auto-import 2.7.2
│   └─┬ babel-plugin-ember-template-compilation 2.2.1
│     └── @glimmer/syntax 0.84.3
├─┬ ember-velcro 2.1.3
│ ├─┬ ember-functions-as-helper-polyfill 2.1.2
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ ├─┬ ember-modifier 4.1.0 peer
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
├─┬ reactiveweb 1.2.0
│ ├─┬ ember-async-data 1.0.3
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ ├─┬ ember-cached-decorator-polyfill 1.0.2
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ ├─┬ ember-resources 6.5.1
│ │ ├─┬ ember-async-data 1.0.3
│ │ │ └─┬ ember-source 5.6.0 peer
│ │ │   ├─┬ @glimmer/compiler 0.85.13
│ │ │   │ └── @glimmer/syntax 0.85.13
│ │ │   ├── @glimmer/syntax 0.85.13
│ │ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ │   │ └── @glimmer/syntax 0.84.3
│ │ │   └─┬ ember-auto-import 2.7.2
│ │ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │ │       └── @glimmer/syntax 0.84.3
│ │ └─┬ ember-source 5.6.0 peer
│ │   ├─┬ @glimmer/compiler 0.85.13
│ │   │ └── @glimmer/syntax 0.85.13
│ │   ├── @glimmer/syntax 0.85.13
│ │   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│ │   │ └── @glimmer/syntax 0.84.3
│ │   └─┬ ember-auto-import 2.7.2
│ │     └─┬ babel-plugin-ember-template-compilation 2.2.1
│ │       └── @glimmer/syntax 0.84.3
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
└─┬ tracked-toolbox 2.0.0
  └─┬ ember-source 5.6.0 peer
    ├─┬ @glimmer/compiler 0.85.13
    │ └── @glimmer/syntax 0.85.13
    ├── @glimmer/syntax 0.85.13
    ├─┬ babel-plugin-ember-template-compilation 2.2.1
    │ └── @glimmer/syntax 0.84.3
    └─┬ ember-auto-import 2.7.2
      └─┬ babel-plugin-ember-template-compilation 2.2.1
        └── @glimmer/syntax 0.84.3
ember-resources 6.5.1
├─┬ ember-async-data 1.0.3
│ └─┬ ember-source 5.6.0 peer
│   ├─┬ @glimmer/compiler 0.85.13
│   │ └── @glimmer/syntax 0.85.13
│   ├── @glimmer/syntax 0.85.13
│   ├─┬ babel-plugin-ember-template-compilation 2.2.1
│   │ └── @glimmer/syntax 0.84.3
│   └─┬ ember-auto-import 2.7.2
│     └─┬ babel-plugin-ember-template-compilation 2.2.1
│       └── @glimmer/syntax 0.84.3
└─┬ ember-source 5.6.0 peer
  ├─┬ @glimmer/compiler 0.85.13
  │ └── @glimmer/syntax 0.85.13
  ├── @glimmer/syntax 0.85.13
  ├─┬ babel-plugin-ember-template-compilation 2.2.1
  │ └── @glimmer/syntax 0.84.3
  └─┬ ember-auto-import 2.7.2
    └─┬ babel-plugin-ember-template-compilation 2.2.1
      └── @glimmer/syntax 0.84.3
ember-source 5.6.0
├─┬ @glimmer/compiler 0.85.13
│ └── @glimmer/syntax 0.85.13
├── @glimmer/syntax 0.85.13
├─┬ babel-plugin-ember-template-compilation 2.2.1
│ └── @glimmer/syntax 0.84.3
└─┬ ember-auto-import 2.7.2
  └─┬ babel-plugin-ember-template-compilation 2.2.1
    └── @glimmer/syntax 0.84.3
ember-template-lint 5.13.0
└─┬ ember-template-recast 6.1.4
  └── @glimmer/syntax 0.84.3
eslint-plugin-ember 12.0.0
└─┬ ember-eslint-parser 0.2.5
  └── @glimmer/syntax 0.85.13
@NullVoxPopuli
Copy link
Contributor Author

Potentially solved by: #696

@NullVoxPopuli NullVoxPopuli added the bug Something isn't working label Feb 2, 2024
@NullVoxPopuli
Copy link
Contributor Author

Figured out a work-around.

There is a bug with older @glimmer (back then it distributed as cjs) that indeed did not include @glimmer/env.

I've resolved this with pnpm's packageExtensions config like this (note the lack of caret ranges):

"pnpm": {
    "packageExtensions": {
      "@glint/core": {
        "dependencies": {
          "@glimmer/syntax": "0.84.3"
        }
      },
      "@glimmer/syntax@0.84.3": {
          "dependencies": {
            "@glimmer/env": "*"
          }
      }
    }
}

I think this issue could be resolved when Glint can get the glimmer deps upgraded in #696

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant