-
Notifications
You must be signed in to change notification settings - Fork 1
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
Migrate to v2 addon format #50
Conversation
# always run CI for tags | ||
tags: | ||
- '*' | ||
- main |
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.
👍
@@ -1,6 +1,6 @@ | |||
The MIT License (MIT) | |||
|
|||
Copyright (c) 2019 | |||
Copyright (c) 2023 |
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.
lol time flies
], | ||
"scripts": { | ||
"build": "rollup --config", | ||
"lint": "concurrently 'npm:lint:*(!fix)' --names 'lint:'", |
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 neat I was not familiar with concurrently
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.
Tbh I find the intermingled output a little rocky sometimes, but it's better than having to spin up separate shells and (more importantly) it's what the blueprint does by default, so I went with it
This is the first of what will likely be a sequence of breaking-change PRs leading up to
ember-exclaim@2.0
. The goal is to be as un-disruptive as possible in what we actually break, while still taking opportunities to modernize the codebase and improve overall DX/performance.Notable breaking changes in this PR:
ember-auto-import
@2 in the consuming package, as we're now a v2 addonNote that the general structure for v2 addons is a monorepo with one workspace for the addon itself and another for a test application (what used to be the "dummy app"). The addon is "just" an npm package that uses Rollup for its build process, while the test app is a standard Ember application with none of the weirdness associated with the hybrid
EmberAddon
/dummy application setup from v1 addons.This PR also introduces a third
playground-app
workspace, which contains the stuff we deploy to GitHub pages to demo Exclaim. One nice side effect of the v2 setup is we don't have to force our tests and docs/demos/etc to coexist in a single application.I've done my best to break things out by commit, but unfortunately the first one in particular is large and a bit entangled.
assert.equal
toassert.strictEqual
in tests—this shouldn't have had to be part of this commit, but ended up being difficult to extract after the fact@ember/string
that moved to@ember/template
a long long time agotest-app
workspacetest-app
into a separateplayground-app
workspace so that we don't need to maintain dependencies (and juggle ember-try scenarios) for both things togetherember-ace
v3, which is much easier to use in modern apps since it cleans up use of some old Ember APIs and is itself a v2 addon that makes use of standard bundler features now instead of customember-cli-build.js
configuration