-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add smoke-tests for types, build, etc #9633
base: main
Are you sure you want to change the base?
Conversation
scripts/test-package-manager.mjs
Outdated
if (!reuseTars) { | ||
await deletePriorBuildArtifacts(); | ||
await deleteTars(); | ||
await $`pnpm prepare`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@runspired somethingy goofy is happening with the types.
I probably did something weird, but I'm consistently getting stuff like:
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
declare module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
/// <reference path="./data-adapter.d.ts" />
/// <reference path="./_app_/data-adapter.d.ts" />
module '@ember-data/debug' {
export { default } from '@ember-data/debug/data-adapter';
}
}
}
}
}
}
}
}
}
}
//# sourceMappingURL=index.d.ts.map
how is the build supposed to happen?
I'm doing:
pnpm install
(in the ci workflow)pnpm prepare
(here)generateTarballs
(inbuildAll
)
which doesn't quite seem like the right incantations.
CI does this, which starts with a cleaner slate than I am:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh! this is caused by bad output in turbo cache
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the transformation of this output needs to either run through turbo, after prior commands have finished (so that caching has the correct non-modified output), or we need to make the declare-module wrapping idempotent (which is the direction i'm leaning)
9cc348f
to
7b0eda0
Compare
fb5e4d5
to
d1de3f5
Compare
.npmrc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without these changes not all node_modules directories have the right bins in node_modules -- for example, @warp-drive/ember did not have glint
, and would fail to build its types
types and tests pass.
…ort the unpublished types, rather than get them automatically (we need to have folks be able to choose between unstable, preview, and stable)
bf68cd4
to
e134254
Compare
Description
Supersedes: #9631
Resolves: #9630
ember-data / warp-drive has enough going on it to warrant testing if new projects in various scenarios will work:
Unblocks:
Notes for the release
fix: tsconfig.json#compilerOptions#types can now use the package.json#exports paths, example:
Notes for review
NPM is not as understanding when it comes to tarballs:
the install-time peer checking here isn't as important as the post-install peer checking -- we don't want npm using the versions from package.json exactly, but the versions installed the specifiers in the package.json -- kinda surprised they have this bug, tbh