mirror of https://github.com/rancher/dashboard.git
Update tsconfig paths and add `vue-shim.d.ts`
Update paths in `shell/tsconfig.paths.json` to include "@components/*" alias that maps to "../pkg/rancher-components/src/components/*". Typescript was unable to properly locate components using the `@components` alias because this path was not defined. Add declarations to support our i18n plugin to `shell/types/vue-shim.d.ts` so that `this.t()` and the `t` component can be recognized in components utilizing `defineComponent`. Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
This commit is contained in:
parent
610b826319
commit
455fd39c58
|
|
@ -12,7 +12,10 @@
|
||||||
],
|
],
|
||||||
"@pkg/*": [
|
"@pkg/*": [
|
||||||
"../shell/pkg/*"
|
"../shell/pkg/*"
|
||||||
|
],
|
||||||
|
"@components/*": [
|
||||||
|
"../pkg/rancher-components/src/components/*"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
import Vue, { ComponentCustomProperties } from 'vue';
|
||||||
|
declare module '*.vue' {
|
||||||
|
export default Vue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is required to keep typescript from complaining. It is required for
|
||||||
|
// our i18n plugin. For more info see:
|
||||||
|
// https://v2.vuejs.org/v2/guide/typescript.html?redirect=true#Augmenting-Types-for-Use-with-Plugins
|
||||||
|
declare module 'vue/types/vue' {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
interface Vue {
|
||||||
|
/**
|
||||||
|
* Lookup a given string with the given arguments
|
||||||
|
* @param raw if set, do not do HTML escaping.
|
||||||
|
*/
|
||||||
|
t: {
|
||||||
|
(key: string, args?: Record<string, any>, raw?: boolean): string;
|
||||||
|
(options: { k: string; raw?: boolean; tag?: string | Record<string, any>; escapehtml?: boolean }): string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '@vue/runtime-core' {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
interface Vue {
|
||||||
|
t: {
|
||||||
|
(key: string, args?: Record<string, any>, raw?: boolean): string;
|
||||||
|
(options: { k: string; raw?: boolean; tag?: string | Record<string, any>; escapehtml?: boolean }): string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
interface ComponentCustomProperties {
|
||||||
|
$t: {
|
||||||
|
(key: string, args?: Record<string, any>, raw?: boolean): string;
|
||||||
|
(options: { k: string; raw?: boolean; tag?: string | Record<string, any>; escapehtml?: boolean }): string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'js-yaml';
|
||||||
Loading…
Reference in New Issue