mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
* added refreshlangpack command * added beginning update-localization yml file, also changed langpack location in RLE * added regex tester * moved xlf files into new folder structure * small change to update-localization * added yaml script for gulp refresh * added missing dash. * added better update-localization yml file * remove update-localization as its not necessary * added small changes to langpack-compile * remove upload sourcemaps and write version information * added more languages * added vsce packaging * added automatic langpack handling * added built locFunc * fixed refresh-langpack-extension * working langpack vsix generator made * added langpacks to files in copyArtifacts and product-build-linux * changed command to package-langpacks * removed unnecessary language flags. * invalid ADS extensions filter explained * Fix for regex * removed unnecessary fields to change, and removed langpack-compile * added doc comments. * moved xlf files back to old place. * WIP translation redirect * isolated vsix build task * fixed spaces in locFunc.ts
57 lines
2.0 KiB
TypeScript
57 lines
2.0 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as es from 'event-stream';
|
|
import * as path from 'path';
|
|
import * as fs from 'fs';
|
|
import { createStatsStream } from './stats';
|
|
import * as File from 'vinyl';
|
|
import { Stream } from 'stream';
|
|
import * as glob from 'glob';
|
|
import rename = require('gulp-rename');
|
|
|
|
const root = path.dirname(path.dirname(__dirname));
|
|
|
|
// Modified packageLocalExtensionsStream from extensions.ts, but for langpacks.
|
|
export function packageLangpacksStream(): NodeJS.ReadWriteStream {
|
|
const langpackDescriptions = (<string[]>glob.sync('i18n/*/package.json'))
|
|
.map(manifestPath => {
|
|
const langpackPath = path.dirname(path.join(root, manifestPath));
|
|
const langpackName = path.basename(langpackPath);
|
|
return { name: langpackName, path: langpackPath };
|
|
})
|
|
|
|
const builtLangpacks = langpackDescriptions.map(langpack => {
|
|
return fromLocalNormal(langpack.path)
|
|
.pipe(rename(p => p.dirname = `langpacks/${langpack.name}/${p.dirname}`));
|
|
});
|
|
|
|
return es.merge(builtLangpacks);
|
|
}
|
|
|
|
//copied from extensions.
|
|
function fromLocalNormal(extensionPath: string): Stream {
|
|
const result = es.through();
|
|
|
|
const vsce = require('vsce') as typeof import('vsce');
|
|
|
|
vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Yarn })
|
|
.then(fileNames => {
|
|
const files = fileNames
|
|
.map(fileName => path.join(extensionPath, fileName))
|
|
.map(filePath => new File({
|
|
path: filePath,
|
|
stat: fs.statSync(filePath),
|
|
base: extensionPath,
|
|
contents: fs.createReadStream(filePath) as any
|
|
}));
|
|
|
|
es.readArray(files).pipe(result);
|
|
})
|
|
.catch(err => result.emit('error', err));
|
|
|
|
return result.pipe(createStatsStream(path.basename(extensionPath)));
|
|
}
|