feat: add typescript

UI.notification-modules-changes
Saeid 4 years ago
parent f6a385a059
commit 308ce00b31

117
package-lock.json generated

@ -4007,6 +4007,59 @@
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"enhanced-resolve": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
"integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"memory-fs": "^0.5.0",
"tapable": "^1.0.0"
},
"dependencies": {
"memory-fs": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
"integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
"dev": true,
"requires": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"entities": { "entities": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
@ -11665,6 +11718,64 @@
"tslib": "^1.9.3" "tslib": "^1.9.3"
} }
}, },
"ts-loader": {
"version": "8.0.11",
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.11.tgz",
"integrity": "sha512-06X+mWA2JXoXJHYAesUUL4mHFYhnmyoCdQVMXofXF552Lzd4wNwSGg7unJpttqUP7ziaruM8d7u8LUB6I1sgzA==",
"dev": true,
"requires": {
"chalk": "^2.3.0",
"enhanced-resolve": "^4.0.0",
"loader-utils": "^1.0.2",
"micromatch": "^4.0.0",
"semver": "^6.0.0"
},
"dependencies": {
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
"fill-range": "^7.0.1"
}
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"micromatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true,
"requires": {
"braces": "^3.0.1",
"picomatch": "^2.0.5"
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
}
}
}
},
"tslib": { "tslib": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
@ -11707,6 +11818,12 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true "dev": true
}, },
"typescript": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
"integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
"dev": true
},
"uglify-js": { "uglify-js": {
"version": "3.4.10", "version": "3.4.10",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",

@ -76,6 +76,8 @@
"pug-plain-loader": "^1.0.0", "pug-plain-loader": "^1.0.0",
"sass": "^1.22.12", "sass": "^1.22.12",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",
"ts-loader": "^8.0.11",
"typescript": "^4.1.2",
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-masonry-css": "^1.0.3", "vue-masonry-css": "^1.0.3",
"vue-meta": "^1.5.2", "vue-meta": "^1.5.2",

@ -0,0 +1,14 @@
import { LooseObject } from "@Global/infrastructure/Interfaces/GlobalInterface";
export default class Resource {
getJson(data: LooseObject): LooseObject {
return data;
}
getArray(data: Array<LooseObject>): Array<LooseObject> {
return data;
}
setJson(data: LooseObject): LooseObject {
return data;
}
}

@ -0,0 +1,5 @@
import {LooseObject} from './GlobalInterface'
export default interface BinderInterface {
request(data: LooseObject): void;
}

@ -0,0 +1,3 @@
export interface LooseObject {
[key: string]: any
}

@ -0,0 +1,11 @@
import {LooseObject} from './GlobalInterface'
export default interface ResourceInterface {
getJson(data: LooseObject): LooseObject;
getArray(data: Array<LooseObject>): Array<LooseObject>;
setJson(data: LooseObject): LooseObject;
}

@ -0,0 +1,32 @@
//{
// "compilerOptions": {
// "module": "commonjs",
// "target": "es5",
// "noImplicitAny": false,
// "sourceMap": false
// }
//}
{
"compilerOptions": {
"lib": ["dom", "es5", "es2015"],
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"moduleResolution": "node",
"sourceMap": true,
"allowSyntheticDefaultImports": true,
"paths": {
"@JS/*": ["./resources/js/*"],
"@Global/*": ["./resources/js/Global/*"],
"@Home/*": ["./resources/js/Home/*"],
"@CRM/*": ["./modules/wm-crm/resources/js/*"],
"@Common/*": ["./modules/wm-common/resources/js/*"],
"@Core/*": ["./modules/wm-core/resources/js/*"],
"@User/*": ["./modules/wm-core/resources/js/Modules/User/*"],
"@Auth/*": ["./modules/wm-core/resources/js/Modules/Authentication/*"],
"@Service/*": ["./modules/wm-service/resources/js/*"],
"@Product/*": ["./modules/wm-product/resources/js/*"],
"@Blog/*": ["./modules/wm-blog/resources/js/*"]
}
}
}

13
webpack.mix.js vendored

@ -11,7 +11,7 @@ const mix = require('laravel-mix');
*/ */
mix.webpackConfig({ mix.webpackConfig({
resolve: { resolve: {
// extensions: ['.js', '.vue', '.json'], extensions: ["*", ".js", ".jsx", ".vue", ".ts", ".tsx", '.json', '.d.ts'],
alias: { alias: {
'@JS': path.resolve(__dirname, 'resources/js'), '@JS': path.resolve(__dirname, 'resources/js'),
'@Global': path.resolve(__dirname, 'resources/js/Global'), '@Global': path.resolve(__dirname, 'resources/js/Global'),
@ -21,9 +21,18 @@ mix.webpackConfig({
output: { output: {
chunkFilename: 'js/vue/chunks/[name].[chunkhash].js', chunkFilename: 'js/vue/chunks/[name].[chunkhash].js',
}, },
module: {
rules: [
{
test: /\.ts$/,
loader: "ts-loader",
options: { appendTsSuffixTo: [/\.vue$/] },
exclude: /node_modules/
}
]
}
}); });
mix.js('resources/js/Home/app.js', 'public/js/vue/Home'); mix.js('resources/js/Home/app.js', 'public/js/vue/Home');

Loading…
Cancel
Save