GithubHelp home page GithubHelp logo

emberjs / ember-test-waiters Goto Github PK

View Code? Open in Web Editor NEW
27.0 13.0 15.0 2.75 MB

An Ember addon to allow @ember/test-helpers to manage asynchronous operations

License: MIT License

JavaScript 24.72% HTML 7.44% TypeScript 66.71% Handlebars 0.67% CSS 0.46%
hacktoberfest

ember-test-waiters's People

Contributors

bendemboski avatar bertdeblock avatar bobisjan avatar brendenpalmer avatar chancancode avatar dependabot-preview[bot] avatar dependabot[bot] avatar ef4 avatar ember-tomster avatar kategengler avatar lolmaus avatar lukemelia avatar nullvoxpopuli avatar rwjblue avatar sandstrom avatar sandydoo avatar scalvert avatar stefanpenner avatar xg-wang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ember-test-waiters's Issues

Glimmer Standalone

I'm building an addon/lib to use in Ember and Glimmer standalone (No Ember). The project is for fetching data, so having built-in support for waiting when network requests are done is essential.

Looking at the code, this project doesn't seem too reliable in Ember itself. So what would it take to make it compatible with Glimmer?

@waitFor label

@waitFor('my-label')
async doSomething() {}

Errors with

wait-for.js:38 Uncaught (in promise) TypeError: fn.call is not a function
    at wait-for.js:38
    at index.js:15
    at Array.reduce (<anonymous>)
    at _applyDecoratedDescriptor (index.js:15)
    at Module.callback (index.js:122)
    at Module.exports (loader.js:106)
    at requireModule (loader.js:27)
    at Class._extractDefaultExport (index.js:463)
    at Class.resolveOther (index.js:123)
    at Class.resolve (index.js:186)

Build error with embroider

Trying to set up embroider - I ran into this build issue:

Build Error (PackagerRunner) in ../../node_modules/@ember/test-waiters/index.ts

Module parse failed: Unexpected token (1:7)
File was processed with these loaders:
 * ...node_modules/@embroider/babel-loader-8/index.js
You may need an additional loader to handle the result of these loaders.
> export type { WaiterName, Token, Primitive, Waiter, TestWaiter, TestWaiterDebugInfo, PendingWaiterState } from './types';

Is this maybe because of the main field pointing to the index.ts instead of index.js?

https://github.com/emberjs/ember-test-waiters/blob/master/package.json#L14

https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#including-declarations-in-your-npm-package

Quest: Prep for v4: V2 Addon conversion

NOTE: the main branch will not be releasable during this time, because we need to complete the plan, so that there is minimal/zero disruption to folks' test suites.

In order of blockers:

  • create v3 branch from this commit -- done: https://github.com/emberjs/ember-test-waiters/tree/v3
    • release another v3 version, since the types fix is still unreleased.
      we should keep changes on this branch to the bare minimum, as we don't want to need to sync back to main unless we really have to.
      NOTE that the v3 branch is a snapshot of what this repo looked like before everything is this quest issues started happening
  • #454
  • #453
  • #452

Can happen in any order

  • extract test-app(s)
    • create boilerplate for all test apps at once, so the following has more reasonable diffs
      #460
    • extract tests from addon to their own test-app
      #463
    • separate test-app for ember-concurrency@v3 (it has babel transforms, and the types are different)
      #465
    • separate test-app for ember-concurrency@v2 (it requires ember-concurrency-ts, which uses a version of ComputedProperty which is different from the built-in types)
      #464
    • separate test-app with ember-fetch@v8
    • ensure all test-apps are type-checked
  • implement solution for force-highlander
    • implement in main branch -- already implemented a long time ago via getGlobal and storing the WAITERS on globalThis.
  • convert @ember/test-waiters to a native package
    • cleanup tasks
      • move duplicate WAITER_NAME handling to be based off the WAITERS' keys. (allows deleting code)
      • move the noop waiter to be a constant, rather than being initialized for every occurrence.
      • remove @ts-ignore from the test-apps
      • add support for native fetch -- coordinate with ember-cli/ember-fetch#738
  • update README so that folks can discover how to best ensure only one copy of @ember/test-waiters is present across all their dependencies (which won't be required for the waiter system to work, but will be required to get improvements across the whole dep graph)
    • add notes for addon authors to utilize peerDependencies with @ember/test-waiters (with permissive range, which would be allowed post-globalThis usage) with state held on globalThis, we don't need peerDependencies, we can allow duplicates of test-waiters. Using dependencies instead of peerDependencies can help make installation experience smoother for folks, however everyone should end up having @ember/test-waiters declared in their apps anyway.
    • note that peers however help with install time and debugging but won't be necessary for things to work.
  • release new version of ember-test-waiters that re-exports everything from @ember/test-waiters
    this is needed because some super old projects import from ember-test-waiters, and if someone is using v4 of test waiters, yet part of their dep graph uses the super old ember-test-waiters, we may want to do this to allow users control over which @ember/test-waiters their deep dep of ember-test-waiters is using.
    We may also want to "wait and see" if this problem even exists.
  • review changes for changelog
  • release v4

TypeScript: regular promises not compatible with RSVP?

Tried upgrading to 2.0.0 again, but am getting these type errors:

app/services/toast.ts:28:20 - error TS2345: Argument of type 'Promise<unknown>' is not assignable to parameter of type 'import("C:/Users/Preston/Documents/Development/NullVoxPopuli/emberclear/packages/frontend/node_modules/@types/rsvp/index").Promise<unknown>'.
  Property 'new' is missing in type 'Promise<unknown>' but required in type 'import("C:/Users/Preston/Documents/Development/NullVoxPopuli/emberclear/packages/frontend/node_modules/@types/rsvp/index").Promise<unknown>'.

28     waitForPromise(createToast(status, message, options));
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  node_modules/@types/rsvp/index.d.ts:103:9
    103         new<T>(
                ~~~
    'new' is declared here.

whether or not I have @types/rsvp installed myself seems to not matter.

I'm not sure why I'm getting an RSVP error now? unless ember-test-waiters uses TS and is using an old version of @types/rsvp? ๐Ÿค”

Missing type definitions for `@ember/test-waiters`

I just upgraded and switched my waitForPromise import from @ember/test-helpers and now I have a bunch of type errors.
image

Is there a type package somewhere? or are the plans for this package to include its own types?

Enable Dependabot

As the title suggests, we should enable Dependabot to manage dependency upgrades.

release major version

I'm making a series of changes required to get canary passing, such as matching @ember/test-helpers's supported node versions that are technically breaking and require a major version.

These changes will be landing over the next day or so, but I would like to hold off releasing until sunday or monday so I personally have time to deal with the release if something goes wrong.

WDYT @rwjblue / @scalvert

extra files published

x package/.prettierrc.js
x package/config/environment.js
x package/vendor/shims/qunit.js
x package/tsconfig.json
x package/.github/workflows/ci-build.yml
x package/.github/dependabot.yml

Runloop compatible `waitFor` type

Is it feasible to provide a type for waitFor that is compatible with Ember's runloop functions?

Looking to do something like:

schedule('afterRender', waitFor(async () => { โ€ฆ }))

However this currently throws a type error:

Argument of type 'Function' is not assignable to parameter of type 'AnyFn'.
  Type 'Function' provides no match for the signature '(...args: any[]): unknown'. ts(2345)

Adding this function override appears to minimally be enough to clear up the issue:

export default function waitFor(fn: AsyncFunction<any[], any>, label?: string): (...args: any[]) => unknown;

A possibly more robust solution:

export default function waitFor(fn: AsyncFunction<unknown[], unknown>, label?: string): (...args: unknown[]) => unknown;

Determine whether we need to track when `endAsync` is called more than once.

We currently only error if endAsync is called without calling a beginAsync in the TestWaiter class. It may be the case that we find we need more fine grained error messaging for two scenarios:

  1. endAsync is called before beginAsync is called, thus not registering the waiter item (implemented)
  2. endAsync is called more than once for the same waiter item (not implemented).

Create a legacy waiter when @ember/test-helper version is < 1.5.0

When an addon uses ember-test-waiters it wants to ensure that consuming applications get "proper waiting" semantics, however at the moment when the consuming application is using @ember/test-helper < 1.5.0 the ember-test-waiter registered waiters have no effect!!

A simple but effective solution here would be to detect if we are using an older @ember/test-helper and register a "legacy" test waiter. Something like:

import { gte } from 'ember-compatibility-helpers';

if (Ember.Test && !gte('@ember/test-helper', '1.6.0')) {
  Ember.Test.registerWaiter(hasPendingWaiters());
}

forceHighlanderAddon is not safe under embroider

Because embroider respects node_modules resolution rules, it's not OK to null out one copy of this package and assume that another copy will serve instead. Not every consumer of the nulled-out copy is guaranteed to be able to resolve the remaining copy.

This comes up particularly in monorepos, where the copy that is nulled-out may be at the monorepo root and the winning copy can be down inside one workspace.

If it's important that only one copy of test-waiter exists, then it should be a peerDep of each package that uses it, all the way up the dependency tree to the application, which should install it.

Alternatively, every copy needs to end up with working code. Instead of nulling out the losing copies, they should delegate to the winning copy to emit some code that will properly connect them with the winning copy.

Allow stripping from production builds

Hi,

I saw that ember-test-waiters it always included in our production build.
This seems weird as one wouldn't expect test-waiters in an app that isn't build for testing.

Our app was using [email protected] and I've also tried to manually resolve to 1.2.0 but it didn't change the resulting payload.

Would it be ok to strip ember-test-waiters in all production builds or provide an option to make it configurable?

I could open a PR that adds a funnel that excludes everything from the addon tree if enabled.

API should merge with @ember/test-helpers

Hi @rwjblue , I have quick but important question. Why do we need this package separately?

Since this package is a hard dependency to @ember/test-helpers, can we merge this to @ember/test-helpers and provide the API & functionality there?

@Waitfor does not work as promised

I'm using import { waitFor } from '@ember/test-waiters'; in the action inside component:

@action
@waitFor
 setListenersToAnimate(element: HTMLElement): void {
    this.elementToAnimate = element;

    document.addEventListener('scroll', this.canAnimateCheck);
    window.addEventListener('resize', this.canAnimateCheck);

    this.canAnimateCheck();
  }

But I'm receiving this error on tests:

image

TS Files appear to be published

It appears this projects TS files are being publish, I am under the impression that we want to publish the build js + d.ts but not the ts. Has this change or...

Reproduction:

stefanpenner@stefan /t/foo [23|1]> curl (npm info @ember/test-waiters --json | jq -r '.dist.tarball') | tar xvz -
x package/.prettierrc.js
x package/config/environment.js
x package/node-tests/force-highlander-addon-test.js
x package/force-highlander-addon.js
x package/index.js
x package/vendor/shims/qunit.js
x package/package.json
x package/tsconfig.json
x package/CHANGELOG.md
x package/LICENSE.md
x package/README.md
x package/RELEASE.md
x package/build-waiter.d.ts
x package/addon/@ember/test-waiters/build-waiter.ts
x package/types/custom-ember-debug.d.ts
x package/types/global.d.ts
x package/index.d.ts
x package/types/dummy/index.d.ts
x package/types/index.d.ts
x package/types/qunit/index.d.ts
x package/addon/@ember/test-waiters/index.ts
x package/addon/@ember/test-waiters/types/index.ts
x package/addon/ember-test-waiters/index.ts
x package/token.d.ts
x package/addon/@ember/test-waiters/token.ts
x package/wait-for-promise.d.ts
x package/addon/@ember/test-waiters/wait-for-promise.ts
x package/wait-for.d.ts
x package/addon/@ember/test-waiters/wait-for.ts
x package/waiter-manager.d.ts
x package/addon/@ember/test-waiters/waiter-manager.ts
x package/.github/workflows/ci-build.yml
x package/.github/dependabot.yml

Breaks with Ember 3.16+?

Previously reported (with some exploration / discovery) here: bendemboski/ember-concurrency-test-waiter#15

I know this lib recently had a breaking change, but since I'm not directly using ember-test-waiters, the breaking was surprising to me.

C.I. run: https://github.com/NullVoxPopuli/emberclear/pull/558/checks?check_run_id=476263612
Error:

not ok 1 Chrome 80.0 - [191 ms] - Acceptance | Settings | Relays > when logged in: the default relays are rendered
    ---
        actual: >
            null
        stack: >
            TypeError: Cannot read property 'TestWaiter' of undefined
                at Object.get [as TestWaiter] (https://0.0.0.0:7357/assets/vendor.js:101768:21)
                at reset (https://0.0.0.0:7357/assets/vendor.js:91619:45)

Project Search:
image


Debugging further,
running locally, (in firefox):
image
the error is that _types is undefined?

image

Debugging the stack trace:
image

looks like that is in ember-app-scheduler/scheduler?
never heard of this package.

Near the top of vendor.js, (maybe in requirejs?),
image

Hypothesis / Question:

  • are there TS types leaking into the build output?

waitFor:

The Error

error TS1236: The return type of a property decorator function must be either 'void' or 'any'.
  Unable to resolve signature of property decorator when called as an expression.

32   @waitFor
     ~~~~~~~~
error TS2769: No overload matches this call.
  Overload 1 of 3, '(fn: AsyncFunction<any[], any>, label?: string | undefined): Function', gave the following error.
    Argument of type 'MyComponentClass' is not assignable to parameter of type 'AsyncFunction<any[], any>'.
      Type 'MyComponentClass' provides no match for the signature '(...args: any[]): Promise<any>'.
  Overload 2 of 3, '(fn: CoroutineFunction<any[], any>, label?: string | undefined): CoroutineFunction<any[], any>', gave the following error.
    Argument of type 'MyComponentClass' is not assignable to parameter of type 'CoroutineFunction<any[], any>'.
      Type 'MyComponentClass' provides no match for the signature '(...args: any[]): CoroutineGenerator<any>'.

32   @waitFor
      ~~~~~~~


Found 2 errors.

This is an code that looks like:

  @task
  @waitFor
  myTask = taskFor(async () => {
   // ...

using:

  • ember-concurrency-ts
  • ember-concurrency-async
  • ember-concurrency-decorators
  • ember-concurrency @ v1.x

I believe the fix would be to make this change:

  export default function waitFor(
    target: object,
    _key: string,
    descriptor: PropertyDescriptor,
    label?: string
- ): PropertyDescriptor;
+ ): any;

This is with TypeScript 4.1.2

I've worked around this via:

import { waitFor as _waitFor } from '@ember/test-waiters';

export const waitFor = (_waitFor as unknown) as PropertyDecorator;

Add tests for production builds.

I'd specifically like to add a smoke test using ember s --prod and puppeteer (aka not ember test) that confirms things "work" when an addon / app depends on ember-test-waiters that it does not error.

maybe an embroider compatibility issue? can't find module

Over on this branch: NullVoxPopuli/emberclear#922
CI Log: (shows a different error related to broccoli-persistent-filter, so nothing useful there)

But locally, I got this this error:

Build Error (PackagerRunner)

Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'


Stack Trace and Error Report: /tmp/error.dump.7513682a37c80366568ac0ad779c60e4.log

At first, I was confused about why ember-test-waiters would be imported from an app file, but then looking at the file, I see that I'm doing

import { waitForPromise } from '@ember/test-waiters';

which makes sense. (also reminded myself what ember-test-waiters was even for, cause it's been a while since I've done a lot with this project)

within the error dump
=================================================================================

ENV Summary:

  TIME: Sat Jun 06 2020 22:59:10 GMT-0400 (Eastern Daylight Time)
  TITLE: ember
  ARGV:
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/bin/node
  - /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/.bin/ember
  - serve
  - -p
  - 4201
  EXEC_PATH: /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/bin/node
  TMPDIR: /tmp
  SHELL: /bin/bash
  PATH:
  - /tmp/yarn--1591498689832-0.1412731329260819
  - /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/emberclear/node_modules/.bin
  - /home/lprestonsegoiii/.config/yarn/link/node_modules/.bin
  - /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/.bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/libexec/lib/node_modules/npm/bin/node-gyp-bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/lib/node_modules/npm/bin/node-gyp-bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/bin/node_modules/npm/bin/node-gyp-bin
  - /tmp/yarn--1591498689486-0.8795073939338094
  - /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/emberclear/node_modules/.bin
  - /home/lprestonsegoiii/.config/yarn/link/node_modules/.bin
  - /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/.bin
  - /home/lprestonsegoiii/.yarn/bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/libexec/lib/node_modules/npm/bin/node-gyp-bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/lib/node_modules/npm/bin/node-gyp-bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/bin/node_modules/npm/bin/node-gyp-bin
  - /home/lprestonsegoiii/.volta/tools/image/yarn/1.22.4/bin
  - /home/lprestonsegoiii/.volta/tools/image/node/14.4.0/bin
  - /home/lprestonsegoiii/.pythons/Python-3.6.3/bin
  - /home/lprestonsegoiii/.cargo/bin
  - /home/lprestonsegoiii/Applications
  - /home/lprestonsegoiii/apps/phantomjs/bin
  - /home/lprestonsegoiii/scripts/system-utils
  - /home/lprestonsegoiii/scripts/git
  - /home/lprestonsegoiii/scripts/rails
  - /home/lprestonsegoiii/scripts
  - /home/lprestonsegoiii/.cargo/bin
  - /usr/local/sbin
  - /usr/local/bin
  - /usr/sbin
  - /usr/bin
  - /sbin
  - /bin
  - /usr/games
  - /usr/local/games
  - /snap/bin
  - /home/lprestonsegoiii/.fzf/bin
  - /home/lprestonsegoiii/.rvm/bin
  PLATFORM: linux x64
  FREEMEM: 333049856
  TOTALMEM: 8226172928
  UPTIME: 635092
  LOADAVG: 2.6318359375,2.02685546875,1.54248046875
  CPUS:
  - Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz - 2271
  - Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz - 2415
  - Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz - 2446
  - Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz - 2599
  ENDIANNESS: LE
  VERSIONS:
  - ares: 1.16.0
  - brotli: 1.0.7
  - cldr: 37.0
  - icu: 67.1
  - llhttp: 2.0.4
  - modules: 83
  - napi: 6
  - nghttp2: 1.41.0
  - node: 14.4.0
  - openssl: 1.1.1g
  - tz: 2019c
  - unicode: 13.0
  - uv: 1.37.0
  - v8: 8.1.307.31-node.33
  - zlib: 1.2.11

ERROR Summary:

  - broccoliBuilderErrorStack: ModuleNotFoundError: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/Compilation.js:925:10
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:401:22
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:130:21
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:224:22
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/neo-async/async.js:2830:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/neo-async/async.js:6877:13
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:214:25
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:213:14
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:27:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:28:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:30:40
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/forEachBail.js:30:14
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:27:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js:27:15
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:85:15
    at processTicksAndRejections (internal/process/task_queues.js:79:11)

  - code: [undefined]
  - codeFrame: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
  - errorMessage: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
        at PackagerRunner (@embroider/webpack)
-~- created here: -~-
    at new Plugin (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/core/node_modules/broccoli-plugin/dist/index.js:45:31)
    at new PackagerRunner (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/core/src/to-broccoli-plugin.js:10:13)
    at defaultPipeline (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/compat/src/default-pipeline.js:36:12)
    at module.exports (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/emberclear/ember-cli-build.js:118:12)
    at Builder.readBuildFile (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:49:14)
    at Builder.setupBroccoliBuilder (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:63:22)
    at new Builder (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:29:10)
    at ServeTask.run (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/tasks/serve.js:49:7)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/command.js:238:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

-~- (end) -~-
  - errorType: Build Error
  - location:
    - column: [undefined]
    - file: [undefined]
    - line: [undefined]
    - treeDir: [undefined]
  - message: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
        at PackagerRunner (@embroider/webpack)
-~- created here: -~-
    at new Plugin (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/core/node_modules/broccoli-plugin/dist/index.js:45:31)
    at new PackagerRunner (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/core/src/to-broccoli-plugin.js:10:13)
    at defaultPipeline (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/@embroider/compat/src/default-pipeline.js:36:12)
    at module.exports (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/emberclear/ember-cli-build.js:118:12)
    at Builder.readBuildFile (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:49:14)
    at Builder.setupBroccoliBuilder (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:63:22)
    at new Builder (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/builder.js:29:10)
    at ServeTask.run (/home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/tasks/serve.js:49:7)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/ember-cli/lib/models/command.js:238:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

-~- (end) -~-
  - name: Error
  - nodeAnnotation: @embroider/webpack
  - nodeName: PackagerRunner
  - originalErrorMessage: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
  - stack: ModuleNotFoundError: Module not found: Error: Can't resolve 'ember-test-waiters/@ember/test-waiters/index.ts' in '/tmp/embroider/1fa051/emberclear/components/pod/chat/chat-entry'
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/Compilation.js:925:10
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:401:22
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:130:21
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:224:22
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/neo-async/async.js:2830:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/neo-async/async.js:6877:13
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/webpack/lib/NormalModuleFactory.js:214:25
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:213:14
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:27:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:28:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:30:40
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/forEachBail.js:30:14
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:27:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:16:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    at eval (<anonymous>:15:1)
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js:27:15
    at /home/lprestonsegoiii/Development/NullVoxPopuli/emberclear/client/web/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:85:15
    at processTicksAndRejections (internal/process/task_queues.js:79:11)


=================================================================================

This is with the alpha version of ember-cli-typescript and embroider 0.19.0

Also maybe cc @chriskrycho & @ef4 ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.