Skip to content

Commit a06173f

Browse files
committed
feat: Typescript migration
1 parent 0b569db commit a06173f

10 files changed

+55
-48
lines changed

Diff for: config/default.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
},
1414
"defaultStoreCode": "",
1515
"storeViews": {
16-
"multistore": false,
16+
"multistore": true,
1717
"mapStoreUrlsFor": ["de", "it"],
1818
"de": {
1919
"storeCode": "de",
20-
"disabled": true,
20+
"disabled": false,
2121
"storeId": 3,
2222
"name": "German Store",
2323
"url": "/de",
@@ -44,7 +44,7 @@
4444
},
4545
"it": {
4646
"storeCode": "it",
47-
"disabled": true,
47+
"disabled": false,
4848
"storeId": 4,
4949
"name": "Italian Store",
5050
"url": "/it",
@@ -198,12 +198,12 @@
198198
"calculateServerSide": true
199199
},
200200
"i18n": {
201-
"defaultCountry": "US",
202-
"defaultLanguage": "EN",
201+
"defaultCountry": "FR",
202+
"defaultLanguage": "FR",
203203
"availableLocale": ["en-US","de-DE","fr-FR","es-ES","nl-NL", "jp-JP", "ru-RU", "it-IT", "pt-BR", "pl-PL"],
204-
"defaultLocale": "en-US",
205-
"currencyCode": "USD",
206-
"currencySign": "$",
204+
"defaultLocale": "fr-FR",
205+
"currencyCode": "EUR",
206+
"currencySign": "",
207207
"dateFormat": "HH:mm D/M/YYYY",
208208
"fullCountryName": "United States",
209209
"fullLanguageName": "English"

Diff for: core/app.js renamed to core/app.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,20 @@ import EventBus from '@vue-storefront/core/plugins/event-bus'
1212
import { registerTheme, plugins, mixins, filters } from '@vue-storefront/core/lib/themes'
1313
import registerExtensions from '@vue-storefront/core/lib/extensions'
1414
import i18n from '@vue-storefront/core/lib/i18n'
15-
import shippingMethods from '@vue-storefront/core/resource/shipping_methods.json'
1615

1716
import store from '@vue-storefront/store'
1817
import coreModules from '@vue-storefront/store/modules'
1918
import { prepareStoreView } from '@vue-storefront/store/lib/multistore'
2019

21-
import App from 'theme/App'
20+
import App from 'theme/App.vue'
2221
import themeModules from 'theme/store'
2322
import themeExtensionEntryPoints from 'theme/extensions'
2423
import extensionEntryPoints from 'src/extensions'
2524

25+
const shippingMethods = require('@vue-storefront/core/resource/shipping_methods.json')
26+
27+
declare var global: any
28+
2629
if (!global.$VS) global.$VS = {}
2730

2831
global.$VS.version = '1.2'
@@ -59,7 +62,7 @@ Object.keys(filtersObject).forEach(key => {
5962
Vue.filter(key, filtersObject[key])
6063
})
6164

62-
export function createApp () {
65+
export function createApp (): { app: Vue, router: any, store: any } {
6366
sync(store, router)
6467
const app = new Vue({
6568
router,

Diff for: core/build/webpack.base.config.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ module.exports = {
4444
],
4545
devtool: 'source-map',
4646
entry: {
47-
app: './core/client-entry.js'
47+
app: './core/client-entry.ts'
4848
},
4949
output: {
5050
path: path.resolve(__dirname, '../../dist'),
@@ -109,7 +109,7 @@ module.exports = {
109109
{
110110
test: /\.js$/,
111111
loader: 'babel-loader',
112-
exclude: /node_modules\/(?!@vue-storefront)/
112+
include: ['@vue-storefront']
113113
},
114114
{
115115
test: /\.(png|jpg|gif|svg)$/,

Diff for: core/build/webpack.server.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const VueSSRPlugin = require('vue-ssr-webpack-plugin')
66
module.exports = merge(base, {
77
mode: 'development',
88
target: 'node',
9-
entry: './core/server-entry.js',
9+
entry: './core/server-entry.ts',
1010
output: {
1111
filename: 'server-bundle.js',
1212
libraryTarget: 'commonjs2'

Diff for: core/client-entry.js renamed to core/client-entry.ts

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import { prepareStoreView, storeCodeFromRoute, currentStoreView } from '@vue-sto
1414

1515
require('@vue-storefront/core/service-worker-registration') // register the service worker
1616

17+
declare var global: any
18+
declare var window: any
19+
1720
const { app, router, store } = createApp()
1821
global.$VS.isSSR = false
1922

Diff for: core/lib/i18n.js renamed to core/lib/i18n.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,20 @@ const i18n = new VueI18n({
1212

1313
i18n.setLocaleMessage('en-US', require('../resource/i18n/en-US.json'))
1414

15+
declare var global: any
16+
1517
if (!global.$VS) {
1618
global.$VS = { i18n: i18n }
1719
} else {
1820
global.$VS.i18n = i18n
1921
}
2022

21-
function setI18nLanguage (lang) {
23+
function setI18nLanguage (lang: string): string {
2224
i18n.locale = lang
2325
return lang
2426
}
2527

26-
export function loadLanguageAsync (lang) {
28+
export function loadLanguageAsync (lang: string): Promise<string> {
2729
if (i18n.locale !== lang) {
2830
if (!loadedLanguages.includes(lang)) {
2931
return import(/* webpackChunkName: "lang-[request]" */ `../resource/i18n/${lang}.json`).then(msgs => {

Diff for: core/server-entry.js renamed to core/server-entry.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { createApp } from '@vue-storefront/core/app'
55
import { HttpError } from '@vue-storefront/core/lib/exceptions'
66
import { prepareStoreView, storeCodeFromRoute } from '@vue-storefront/store/lib/multistore'
77

8+
declare var global: any
9+
810
global.$VS.isSSR = true
911

1012
function _commonErrorHandler (err, reject) {
@@ -34,7 +36,8 @@ function _ssrHydrateSubcomponents (components, store, router, resolve, reject, a
3436
export default context => {
3537
return new Promise((resolve, reject) => {
3638
const { app, router, store } = createApp()
37-
const meta = app.$meta()
39+
40+
const meta = (app as any).$meta()
3841
router.push(context.url)
3942
context.meta = meta
4043
router.onReady(() => {

Diff for: vue.d.ts renamed to shims.d.ts

File renamed without changes.

Diff for: tsconfig.json

+23-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,35 @@
11
{
22
"compilerOptions": {
33
"target": "es5",
4-
"lib": ["es2017", "dom"],
5-
"module": "commonjs",
6-
"moduleResolution": "node",
4+
"module": "esnext",
75
"strict": false,
86
"allowJs": true,
7+
"importHelpers": true,
8+
"moduleResolution": "node",
99
"experimentalDecorators": true,
1010
"emitDecoratorMetadata": true,
11-
"baseUrl": "./",
12-
"types": ["reflect-metadata"],
11+
"esModuleInterop": true,
12+
"sourceMap": true,
13+
"baseUrl": ".",
14+
"types": [
15+
"reflect-metadata",
16+
"node"
17+
],
1318
"paths": {
1419
"core/*": ["core/*"],
1520
"theme/*": ["src/themes/default/*"], //needs testing with non-default theme!
16-
}
21+
},
22+
"lib": ["es2017", "dom"]
1723
},
18-
"files": ["vue.d.ts"]
24+
"files": ["shims.d.ts"],
25+
"include": [
26+
"src/**/*.ts",
27+
"src/**/*.vue",
28+
"core/**/*.ts",
29+
"core/**/*.vue",
30+
"tests/**/*.ts"
31+
],
32+
"exclude": [
33+
"node_modules"
34+
]
1935
}

Diff for: yarn.lock

+4-24
Original file line numberDiff line numberDiff line change
@@ -5753,26 +5753,6 @@ lodash-es@^4.17.10:
57535753
version "4.17.10"
57545754
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05"
57555755

5756-
lodash._baseassign@^3.0.0:
5757-
version "3.2.0"
5758-
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
5759-
dependencies:
5760-
lodash._basecopy "^3.0.0"
5761-
lodash.keys "^3.0.0"
5762-
5763-
lodash._basecopy@^3.0.0:
5764-
version "3.0.1"
5765-
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
5766-
5767-
lodash._basecreate@^3.0.0, lodash._getnative@^3.0.0:
5768-
name lodash._basecreate
5769-
version "3.9.1"
5770-
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
5771-
5772-
lodash._isiterateecall@^3.0.0:
5773-
version "3.0.9"
5774-
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
5775-
57765756
lodash._reinterpolate@~3.0.0:
57775757
version "3.0.0"
57785758
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -7692,10 +7672,6 @@ redent@^2.0.0:
76927672
indent-string "^3.0.0"
76937673
strip-indent "^2.0.0"
76947674

7695-
reflect-metadata@^0.1.12:
7696-
version "0.1.12"
7697-
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2"
7698-
76997675
redis-commands@^1.2.0:
77007676
version "1.3.5"
77017677
resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.3.5.tgz#4495889414f1e886261180b1442e7295602d83a2"
@@ -7712,6 +7688,10 @@ redis@^2.7.1:
77127688
redis-commands "^1.2.0"
77137689
redis-parser "^2.6.0"
77147690

7691+
reflect-metadata@^0.1.12:
7692+
version "0.1.12"
7693+
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2"
7694+
77157695
regenerate@^1.2.1:
77167696
version "1.4.0"
77177697
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"

0 commit comments

Comments
 (0)