Skip to content

Commit 12d4e70

Browse files
committed
using webpack
1 parent 3a94fc5 commit 12d4e70

19 files changed

+2122
-566
lines changed

.eslintignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
gulpfile.js
2+
test/**/index.ts
3+
test/**/runTest.ts
4+
tools/prepublish.js

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/out
2+
/dist
23
node_modules
34
.vscode-test/
45
*.vsix

.vscode/launch.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"--extensionDevelopmentPath=${workspaceFolder}"
1515
],
1616
"outFiles": [
17-
"${workspaceFolder}/out/**/*.js"
17+
"${workspaceFolder}/dist/**/*.js"
1818
],
1919
"preLaunchTask": "${defaultBuildTask}"
2020
},
@@ -27,7 +27,7 @@
2727
"--extensionDevelopmentPath=${workspaceFolder}"
2828
],
2929
"outFiles": [
30-
"${workspaceFolder}/out/**/*.js"
30+
"${workspaceFolder}/dist/**/*.js"
3131
],
3232
},
3333
{
@@ -45,4 +45,4 @@
4545
"preLaunchTask": "${defaultBuildTask}"
4646
}
4747
]
48-
}
48+
}

.vscode/tasks.json

+18-5
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,27 @@
1616
"detail": "tsc -watch -p ./"
1717
},
1818
{
19-
"type": "gulp",
20-
"task": "build",
19+
"type": "npm",
20+
"script": "compile-dev",
2121
"group": {
2222
"kind": "build",
2323
"isDefault": true
24-
},
24+
}
25+
},
26+
{
27+
"type": "npm",
28+
"script": "lint",
29+
"problemMatcher": [
30+
"$eslint-stylish"
31+
],
32+
"label": "npm: lint",
33+
"detail": "eslint src --ext ts"
34+
},
35+
{
36+
"type": "gulp",
37+
"task": "clean",
2538
"problemMatcher": [],
26-
"label": "gulp: build"
39+
"label": "gulp: clean"
2740
}
2841
]
29-
}
42+
}

.vscodeignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
.vscode-test/**
55
out/test/**
66
# ignore unarchieved feature
7-
dist/**
7+
out/**
88
# ignore source
99
src/**
1010
#ignore dev files
1111
.gitignore
1212
vsc-extension-quickstart.md
1313
**/tsconfig.json
1414
**/.eslintrc.json
15+
**/.eslintignore.json
1516
**/*.map
1617
**/*.ts
1718
gulpfile.js

gulpfile.js

+23-67
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,42 @@
1+
/* eslint-disable no-undef */
2+
/* eslint-disable @typescript-eslint/no-var-requires */
13
/*---------------------------------------------------------------------------------------------
24
* Copyright (c) Microsoft Corporation. All rights reserved.
35
* Licensed under the MIT License. See License.txt in the project root for license information.
46
*--------------------------------------------------------------------------------------------*/
57

68
const gulp = require('gulp');
7-
const path = require('path');
8-
9+
const filter = require('gulp-filter');
910
const ts = require('gulp-typescript');
1011
const typescript = require('typescript');
1112
const sourcemaps = require('gulp-sourcemaps');
12-
const del = require('del');
13-
const runSequence = require('run-sequence');
14-
const es = require('event-stream');
15-
const vsce = require('vsce');
1613
const nls = require('vscode-nls-dev');
17-
18-
const tsProject = ts.createProject('./tsconfig.json', { typescript });
19-
20-
const inlineMap = true;
21-
const inlineSource = false;
22-
const outDest = 'out';
23-
24-
// If all VS Code langaues are support you can use nls.coreLanguages
25-
const languages = [{ folderName: 'chs', id: 'zh-cn' }];
26-
27-
const cleanTask = function() {
28-
return del(['out/**', 'package.nls.*.json', 'i18n-sample*.vsix']);
29-
};
30-
31-
const internalCompileTask = function() {
32-
return doCompile(false);
33-
};
34-
35-
const internalNlsCompileTask = function() {
36-
return doCompile(true);
14+
const del = require('del');
15+
const cleanTask = function () {
16+
return del(['out/**', 'dist/**', 'package.nls.*.json', 'masm-tasm*.vsix']);
3717
};
38-
39-
const addI18nTask = function() {
18+
const tsProject = ts.createProject('./tsconfig.json', { typescript });
19+
const languages = [
20+
{ id: "zh-cn", folderName: "chs", transifexId: "zh-hans" }];
21+
//-----------------
22+
const generateAdditionalLocFiles = () => {
4023
return gulp.src(['package.nls.json'])
4124
.pipe(nls.createAdditionalLanguageFiles(languages, 'i18n'))
4225
.pipe(gulp.dest('.'));
4326
};
44-
45-
const buildTask = gulp.series(cleanTask, internalNlsCompileTask, addI18nTask);
46-
47-
const doCompile = function (buildNls) {
48-
var r = tsProject.src()
27+
// Generates ./dist/nls.bundle.<language_id>.json from files in ./i18n/** *//<src_path>/<filename>.i18n.json
28+
// Localized strings are read from these files at runtime.
29+
const generateSrcLocBundle = () => {
30+
// Transpile the TS to JS, and let vscode-nls-dev scan the files for calls to localize.
31+
return tsProject.src()
4932
.pipe(sourcemaps.init())
5033
.pipe(tsProject()).js
51-
.pipe(buildNls ? nls.rewriteLocalizeCalls() : es.through())
52-
.pipe(buildNls ? nls.createAdditionalLanguageFiles(languages, 'i18n', 'out') : es.through());
53-
54-
if (inlineMap && inlineSource) {
55-
r = r.pipe(sourcemaps.write());
56-
} else {
57-
r = r.pipe(sourcemaps.write("../out", {
58-
// no inlined source
59-
includeContent: inlineSource,
60-
// Return relative source map root directories per file.
61-
sourceRoot: "../src"
62-
}));
63-
}
64-
65-
return r.pipe(gulp.dest(outDest));
66-
};
67-
68-
const vscePublishTask = function() {
69-
return vsce.publish();
70-
};
71-
72-
const vscePackageTask = function() {
73-
return vsce.createVSIX();
34+
.pipe(nls.createMetaDataFiles())
35+
.pipe(nls.createAdditionalLanguageFiles(languages, "i18n"))
36+
.pipe(nls.bundleMetaDataFiles('xsro.masm-tasm', 'dist'))
37+
.pipe(nls.bundleLanguageFiles())
38+
.pipe(filter(['**/nls.bundle.*.json', '**/nls.metadata.header.json', '**/nls.metadata.json']))
39+
.pipe(gulp.dest('dist'));
7440
};
75-
76-
gulp.task('default', buildTask);
77-
7841
gulp.task('clean', cleanTask);
79-
80-
gulp.task('compile', gulp.series(cleanTask, internalCompileTask));
81-
82-
gulp.task('build', buildTask);
83-
84-
gulp.task('publish', gulp.series(buildTask, vscePublishTask));
85-
86-
gulp.task('package', gulp.series(buildTask, vscePackageTask));
42+
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles));
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)