* Add support for different doc links
* Adding missing e2e test tags
* Auth page not accessible to standard user (admin tests seem sufficient)
* Ensure types are generated for version file
* Update doc links
* Update to remove plugin remove for builtin extensions
* Change the plugin load status back to how it was
* Fix i18n issue
* Fix translation load for built-in extensions
The prefix `_` is a convention to indicate that a parameter is expected, but unused within a function. We make use of `appConfig` in the default export, so we can remove the `_` and supply a default value for `appConfig` if nothing is passed.
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
This allows HMR to trigger when changes are made to Rancher Components and Harvester by omitting the `excludes` argument from `getWatcherIgnored()`. Watch and WatchOptions work to allow Webpack to watch files and recompile whenever they change - I don't see any benefit in excluding Rancher Components and Harvester from this process by default.
As I understand, the `excludes` variable exists to control production builds; this change will only affect development.
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Remove install as storybook start script
* Install Storybook8 with Webpack5
* Correct issue in importing a node style within the SCSS instead of vue config
* Add existing configuration for Webpack
* Convert first component to SFC/MDX new model
* Add remaining plugins, directives and components
* Correct store import in the Rancher Dashboard way
* Complete input migration
* Add buttons
* Correct assets import
* Move foundation
* Fix path for assets import
* Move example assets within the folder
* Migrate Form
* Move first components
* Migrate to proper file naming
* Remove visual tests
* Migrate components
* Remove title for Labeled Select
* Add welcome page
* Bump Storybook to 8.4.2 with auto migration script
* Add MDX support for tables
* Add iframe for rancher icons
* Rename component as modal to avoid confusion
* Enable themes and custom Rancher theme
* Correct MDX markdown errors
* Correct i18n import
* ESLint fiuxes
* Change import of debounce from lodash
* Code cleanup
* Remove unnecessary import about Code Mirror
* Replace old storybook
* Add decorator for Vue routing and fix hash issues for the tabs
* Change Webpack configuration to declarative format
* Add ToC to the documentation
* Fix linting issue
The BLOB code from web-worker is minified, and contains source maps that are then
passed over by webpack - that creates a situation of minified code inside BLOB
inside minified code which confuses some tools, eg.
https://github.com/jantimon/chrome-profile-sourcemap-resolver/pull/4
That could be fixed, but the only reason to do so would be supporting very old
(pre-2013) browsers, so we are better off removing the polyfill altogether.
Signed-off-by: Silvio Moioli <silvio@moioli.net>
Resolves the following warnings
```
(node:212316) [DEP_WEBPACK_DEV_SERVER_HTTPS] DeprecationWarning: 'https' option is deprecated. Please use the 'server' option.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:212316) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
```
Webpack documentation provides enough information for refactoring to use `setupMiddlewares`
https://webpack.js.org/configuration/dev-server/#devserversetupmiddlewares
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Update checkout to v4 and bump Node to 16
* Update GHA workflow migration paths
* Removed named exports from Vue files
* Move code outside of the Vue app element
* Remove @nuxtjs/eslint-config-typescript
* Remove @nuxt/types and @nuxt/typescript-build
* Fix import issue with http-proxy-middleware
* Replace @nuxtjs/axios with axios and axios-retry
* Remove @nuxtjs/webpack-profile
* Fix linting issues after Nuxt webpack removal
* Pin resolution for glob after rebase
* Update yarn.lock after rebase
* Fix issue with rancher-components
* Bump rancher-component GHA config to match rebase changes
* Generate yarn file
* Add dependency
* Remove nuxt global var in app template
* Pin version for babel/plugin-proposal-private-methods
* improve shell api gating
* update logic
* minor update
* populate extensions API version as latest shell version
* remove semver dependency on creators/pkg
* update script
* change
* change
* add default shell API version if there is no annotation in the metadata for gating it
* remove default for shell API in uiplugins + fix creators/pkg init script to read shell version from node_modules
* add mechanism to prevent shell pkg folder check for creators/pkg in our pipelines
* cleanup comment
* bump shell version on master
* Cleanup entry for vue configuration
Rename reserved function terms
Correct extendApp initialization by passing Vue attribute
Avoid reserved name Vue
Set more unique and meaningful file names
Remove deprecated code added with rebase
Add vue instance to mountApp
Add comments and references to TODO issue
Restore function declaration over binding issue
Rename apps and correct issue with the render
Rebase residual cleanup
Remove unnecessary env var related to Nuxt
Remove deprecated confit assignment
Revert render function refactoring
* Fix Dashboard version issue
This explicitly targets `node_modules/vue/dist/vue.js` to ensure that Dashboard is always exposing the UMD builds of Vue to the `window` object (`shell/core/plugins-loader.js`). For more information on different builds that are available to us, see the vue documentation for explanation of different builds [^1]
[^1]: https://v2.vuejs.org/v2/guide/installation#Explanation-of-Different-Builds
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
* Add support for replaying from har file
* Fix merge
* Improvements
* Add export and folder support
* Minor tidy ups
* Fix lint
* Add doc
* Update doc with correct fallback HTTP status code
* Fix typo
* Remove merge to master on PR tests due coverage issue
* Update GI action versions from 2 to 3
* Re-enable HTMl coverage for tests
* Remove deprecated nyc in package configuration from merge conflict; Ignore further folders from coverage
* Change tests checkout and print changed files on test during coverage job
* Add codecov configuration
* Add coverage if instrumented
* Remove changed files steps
* Increase memory for unit test
* Add .vue extension to unit test instrumentation
Add .vue extension to unit test instrumentation
* Remove HTML coverage due 'file:' issue
* Remove HTML report and add .vue files
* Restore GHA fetch to 1 for last commit
- white page errors should not be visible in prod
- these were were enabled in all envs via the port of shell/initialize/client.js after nuxt
- that came from the output of a template
- the template has some features on via debug state when built
- we now disable these features in prod
- Additionally..
- set some process values that were being skipped but still used
- always log uncaught errors in `fetch`s. in theory we should be monitoring $fetchState.error but we never do. this has led to some painful debugging with customers
- caused by EXCLUDE_OPERATOR_PKG defaulting to truthy
- which meant no plugins were loaded by the ui
- which meant button to reload ui given changes to plugins was always shown
- when meant extension e2e test that removed plugin immediately used it to reload without waiting for remove to finish
- Fixes#8979
- Remove clash of `test: /\.md$/,` entries
- The removed entry might be a copy and paste error. Going back to pre-nuxt removeal the `url-loader` was associated with loading images
- https://github.com/rancher/dashboard/blob/v2.7.2/shell/nuxt.config.js#L492
- i'm not sure if we don't need the custom loader now, images do seem to work
- build time env var was not passed through to where it was used in runtime
- resulted in RC builds looking for resources in `/` instead of `/dashboard`
The release version of rancher appears to expect the favicon at the root directory. Dev expected it to be under the public directory. I changed dev to use the root directory as well
https://github.com/rancher/dashboard/issues/8794