mirror of https://github.com/zulip/zulip.git
Add typescript support to asset compilation.
This commit is contained in:
parent
601d018367
commit
bbb3aad611
|
@ -8,17 +8,20 @@
|
||||||
"clipboard": "1.5.16",
|
"clipboard": "1.5.16",
|
||||||
"handlebars": "4.0.6",
|
"handlebars": "4.0.6",
|
||||||
"i18next": "3.4.4",
|
"i18next": "3.4.4",
|
||||||
"i18next-parser": "0.11.1",
|
|
||||||
"i18next-xhr-backend": "0.5.4",
|
|
||||||
"i18next-browser-languagedetector": "0.3.0",
|
"i18next-browser-languagedetector": "0.3.0",
|
||||||
"i18next-localstorage-cache": "0.3.0",
|
"i18next-localstorage-cache": "0.3.0",
|
||||||
|
"i18next-parser": "0.11.1",
|
||||||
|
"i18next-xhr-backend": "0.5.4",
|
||||||
"jquery": "2.2.3",
|
"jquery": "2.2.3",
|
||||||
"jquery-validation": "1.16.0",
|
"jquery-validation": "1.16.0",
|
||||||
"katex": "0.7.1",
|
"katex": "0.7.1",
|
||||||
"moment": "2.18.1",
|
"moment": "2.18.1",
|
||||||
"moment-timezone": "0.5.12",
|
"moment-timezone": "0.5.12",
|
||||||
"plotly.js": "1.19.2",
|
"plotly.js": "1.19.2",
|
||||||
|
"source-map-loader": "0.2.1",
|
||||||
"string.prototype.codepointat": "0.2.0",
|
"string.prototype.codepointat": "0.2.0",
|
||||||
|
"ts-loader": "2.1.0",
|
||||||
|
"typescript": "2.3.3",
|
||||||
"underscore": "1.8.3",
|
"underscore": "1.8.3",
|
||||||
"webpack": "2.5.1",
|
"webpack": "2.5.1",
|
||||||
"webpack-bundle-tracker": "0.2.0",
|
"webpack-bundle-tracker": "0.2.0",
|
||||||
|
@ -36,6 +39,7 @@
|
||||||
"nwmatcher": "1.3.6",
|
"nwmatcher": "1.3.6",
|
||||||
"phantomjs-prebuilt": "2.1.14",
|
"phantomjs-prebuilt": "2.1.14",
|
||||||
"svgo": "0.7.2",
|
"svgo": "0.7.2",
|
||||||
|
"tslint": "5.3.2",
|
||||||
"webpack-dev-server": "2.4.1",
|
"webpack-dev-server": "2.4.1",
|
||||||
"xmlhttprequest": "1.5.0"
|
"xmlhttprequest": "1.5.0"
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../webpack-bundles/",
|
||||||
|
"sourceMap": true,
|
||||||
|
"emitDecoratorMetadata": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"removeComments": false,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"suppressImplicitAnyIndexErrors": true,
|
||||||
|
"newLine": "lf",
|
||||||
|
"module": "commonjs",
|
||||||
|
"target": "es5",
|
||||||
|
"jsx": "react",
|
||||||
|
"allowJs": false
|
||||||
|
},
|
||||||
|
"rootDir": "../.."
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"defaultSeverity": "error",
|
||||||
|
"extends": [
|
||||||
|
"tslint:recommended"
|
||||||
|
],
|
||||||
|
"jsRules": {},
|
||||||
|
"rules": {},
|
||||||
|
"rulesDirectory": []
|
||||||
|
}
|
|
@ -700,6 +700,8 @@ def run():
|
||||||
external_linter('add_class', ['tools/find-add-class'])
|
external_linter('add_class', ['tools/find-add-class'])
|
||||||
external_linter('css', ['tools/check-css'], ['css'])
|
external_linter('css', ['tools/check-css'], ['css'])
|
||||||
external_linter('eslint', ['node', 'node_modules/.bin/eslint', '--quiet'], ['js'])
|
external_linter('eslint', ['node', 'node_modules/.bin/eslint', '--quiet'], ['js'])
|
||||||
|
external_linter('tslint', ['node', 'node_modules/.bin/tslint', '-c',
|
||||||
|
'static/ts/tslint.json'], ['ts'])
|
||||||
external_linter('puppet', ['puppet', 'parser', 'validate'], ['pp'])
|
external_linter('puppet', ['puppet', 'parser', 'validate'], ['pp'])
|
||||||
external_linter('templates', ['tools/check-templates'], ['handlebars', 'html'])
|
external_linter('templates', ['tools/check-templates'], ['handlebars', 'html'])
|
||||||
external_linter('urls', ['tools/check-urls'])
|
external_linter('urls', ['tools/check-urls'])
|
||||||
|
|
|
@ -6,10 +6,33 @@ module.exports = {
|
||||||
entry: assets,
|
entry: assets,
|
||||||
module: {
|
module: {
|
||||||
noParse: /(min)\.js/,
|
noParse: /(min)\.js/,
|
||||||
},
|
rules: [
|
||||||
|
// Run the typescript compilier on .ts files before webpack
|
||||||
|
{
|
||||||
|
test: /\.tsx?$/,
|
||||||
|
loader: 'ts-loader',
|
||||||
|
},
|
||||||
|
// This loads and transforms sourcemap files from other compiliers.
|
||||||
|
// The typescript comilier will generate a sourcemap and source-map-loaded will output
|
||||||
|
// the correct sourcemap from that.
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: "source-map-loader",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
enforce: 'pre',
|
||||||
|
test: /\.tsx?$/,
|
||||||
|
use: "source-map-loader",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, '../static/webpack-bundles'),
|
path: path.resolve(__dirname, '../static/webpack-bundles'),
|
||||||
filename: '[name].js',
|
filename: '[name].js',
|
||||||
},
|
},
|
||||||
plugins: [],
|
plugins: [],
|
||||||
|
resolve: {
|
||||||
|
extensions: [".tsx", ".ts", ".js", ".json"],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
ZULIP_VERSION = "1.5.1+git"
|
ZULIP_VERSION = "1.5.1+git"
|
||||||
PROVISION_VERSION = '5.2'
|
PROVISION_VERSION = '5.3'
|
||||||
|
|
Loading…
Reference in New Issue