* chore: 🤖 import explicit mirage references
* chore: 🤖 add mirage setupMirage helper
* chore: 🤖 working example with application adapter test
* chore: 🤖 use internal setupMirage test helper from api addon
* chore: 🤖 conditionally load mirage
* chore: 🤖 filter mirage folder inclusion in production builds
* chore: 🤖 drop ember-mirage and use our own test helpers
* chore: 🤖 collapse reference to import declaration
* docs: ✏️ add comment better explaining the mirage test env
* chore: 🤖 update configuration and manage mirage-related deps
* fix: 🐛 restore ipc mock and add missing checkOS handler
* chore: 🤖 add comment explaining omitting mirage deps in build
* chore: 🤖 allow mirage.enabled to include deps and handlers
* chore: 🤖 re-enable mirage for core dummy app
* Add missing copyright headers
* chore: 🤖 use embroider macros to conditionally start mirage
* docs: ✏️ update api readme for mirage changes
* chore: 🤖 replace remaining ember-cli-mirage references
* chore: 🤖 add mirage to test builds
* fix: 🐛 ensure that auto mirage start doesn't happen in test env
* chore: 🤖 use const instead of var
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* refactor: 💡 use cleaner logic for excluded api build modules
* fix: 🐛 handle issue where importSync was too eager
This was fixed by bumping the @embroider/macros dependency that includes
a fix to this issue:
https://github.com/embroider-build/embroider/pull/2511
* refactor: 💡 move mirage from addon to app directory
* refactor: 💡 update mirage test helper to be a factory
* chore: 🤖 exclude mirage directory when necessary at build time
* chore: 🤖 add miragejs as admin dev dependency
* refactor: 💡 update reference to startMirage
* chore: 🤖 update local mirage test helper
* chore: 🤖 change import path for mirage on desktop
* chore: 🤖 update imports in tests for startMirage
* chore: 🤖 update startMirage imports for api addon tests
* chore: 🤖 add miragejs dev dep to desktop
* docs: ✏️ update README
* chore: 🤖 set up setupMirage for core tests
* chore: 🤖 fix copyright header
* Add missing copyright headers
---------
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* refactor: 💡 use Hds::Time component
* refactor: 💡 fix data test selector
* refactor: 💡 standardardized date/time format
* refactor: 💡 fix tests and remove date helpers
* fix: 🐛 fixed helper test import
One of the changes that was made was not retrieving all resources for the dropdown filters.
This had an unintended consequence when displaying the selected filters as it's possible for the selected filter to not be in the list of allFilters.
There's two main scenarios this happens (the prerequisite is having more filter options than we display which is 250):
* When filtering down the dropdown filters which means it might not be in the allFilters options. This was fixed by keeping track of all the searched options to be able to display.
* A user uses a query string or bookmarked a URL and goes to it directly. If the option isn't in the initial load, we won't have the actual option. In this case, I changed it to at least just display the ID instead of not showing up at all. Otherwise I'd have to load these selected options separately from the initial load which doesn't seem worth for this edge case.
This commit has a few notable changes:
1. A simple attempt at establishing a pattern for using SELECT statements. This will be useful in the future for joins/subquery support.
2. Expanded usage of searching to be able to pass instead of just a string, an object that lets a consumer choose which columns to search on.
3. Decouple our session recording filters from being loaded from the route model hook which is a departure from our convention. This has the benefit of actually letting the page first load and having the filters load async so the page doesn't wait for the filters to finish. This is also much faster to query for each individual filter option from SQLite rather than returning all data to filter in application code.
* chore: 🤖 remove packageManager field from package.json
* chore: 🤖 migrate yarn resolutions to pnpm overrides
* chore: 🤖 generate pnpm-lock.yml by using: pnpm import yarn.lock
* chore: 🤖 remove yarn.lock file
* chore: 🤖 migrate workspace configuration
* chore: 🤖 remove .yarn and .yarnrc.yml config
* chore: 🤖 update .copyright.hcl to ignore root pnpm files
* chore: 🤖 migrate husky pre-commit hook from yarn to pnpm
* chore: 🤖 migrate package.json scripts from yarn to pnpm
* chore: 🤖 update rose package.json & build to use explicit deps
* chore: 🤖 remove unused cp metadata.json command in pjson script
The cp metadata.json to dist was added in:
d19a251
The addons/rose/metadata.json no longer exists so it can't be copied
* chore: 🤖 migrate electron-app package.json scripts to pnpm
* chore: 🤖 create pnpm workspace for electron-app w/ hoisted deps
* chore: 🤖 migrate electron-app yarn lockfile to pnpm lockfile
Used "pnpm import yarn.lock"
* chore: 🤖 migrate electron-app overrides
node-gyp isn't needed since the fork is used via @electron/node-gyp
see: https://github.com/electron/node-gyp?tab=readme-ov-file#node-gyp---nodejs-native-addon-build-tool
* chore: 🤖 add trusted deps to be built to onlyBuiltDependencies
This is a pnpm feature that increases security. By defining these
dependencies they are being trusted to allow install hooks,
including postinstall. See:
https://pnpm.io/settings#onlybuiltdependencies
* chore: 🤖 add electron-app pnpm files to copyright header ignore
* chore: 🤖 remove yarn references from .*ignore files
* chore: 🤖 migrate --yarn to --pnpm for ember-cli-update.json
This isn't clearly documented but something that is supported
and can be found in other ember apps:
https://github.com/search?q=--pnpm+ember-cli-update.json&type=code
* chore: 🤖 migrate ci and related scripts to use pnpm
The cache is migrated to use the cache supported by
actions/setup-node@v4, an action we are already using. This is the
recommended way by pnpm:
https://pnpm.io/continuous-integration#github-actions
This commit also ensures that all github actions are using
consistent versions of actions/setup-node and pnpm/action-setup
* docs: ✏️ update documentation to use pnpm instead of yarn
* chore: 🤖 use explicit asciinema-player dependency
Because we override styles on asciinema-player we depend on their
styles. What might be a minor non-breaking change in their version could
(and did) break our style expectations in our overrides.
* chore: 🤖 run pnpm install and commit lockfile changes
* chore: 🤖 Remove ember-inflector from being overidden
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2110380711
* chore: 🤖 remove highlight.js from pnpm overrides
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2109847938
* chore: 🤖 remove additional unnecessary files from ignore files
* docs: ✏️ fix pnpm doc links
* chore: 🤖 use corepack to specify packageManager in package.json
* chore: 🤖 let pnpm action in ci use packageManager for version
https://github.com/pnpm/action-setup?tab=readme-ov-file#version
* docs: ✏️ fix broken pnpm website links
* feat: 🎸 create helper
Create `time-remaining` helper to track remaining session time.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* refactor: 💡 Clean up code for time-remaining helper
Moved time remaining helper into `core` addons folder. Cleaned up the
`time-remaining` helper to use the `DurationUnitFormat` service.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* Update session.hbs
removed test implementation
* refactor: 💡 files added for helper
files added for helper
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* Update session.hbs
fix linting
* refactor: 💡 fix uneeded spacing
Fix spacing on hbs file used for testing time-remaining helper
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* refactor: 💡 refactor time-remaining helper
Cleaned up code that was returning a string if `differenceInSeconds` was
less than or equal to zero. Code is now conditionally checking in the
`differenceInSeconds` variable if the `difference` is greater than zero.
If it is not then it will return zero and let the `DurationUnitFormat`
handle the rest.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* refactor: 💡 fix failing test
Fix failing `time-remaining` test
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
* chore: 🤖 Upgrade `addons/core` to Ember 4.12.2
Upgrade `addons/core` to Ember 4.12.2
✅ Closes: ICU-11341
* refactor: 💡 testing updating plugin-proposal-decorators version
Update `@babel/plugin-proposal-decorators` to latest version.
* refactor: 💡 testing legacy plugin-proposa-decorators version
Testin `legacy` version for `plugin-proposal-decorators` plugin
* refactor: 💡 testing plugin-proposal-decorators
Testing `@babel/plugin-proposal-decorators`
* refactor: 💡 Revert @babel/exlint-parser to previous version
Revert `@babel/eslint-parser` to use version 2018 EcmaScript version
until further research is done on latest versions
* Update package.json
put @babel/core back into `devDependencies`
* refactor: 💡 testing linging changes
Pushed ember-tempalate-lint, prettier, and ember template lint plugin
for prettier to latest versions to test why CI builds are not passing.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11341