-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsourcemap-copy.ts
More file actions
57 lines (49 loc) · 2.47 KB
/
sourcemap-copy.ts
File metadata and controls
57 lines (49 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#! /usr/bin/env node
import { writeFileSyncImpl } from './sourcemap-copy_support/fs-impl';
import * as path from 'path';
import { parse } from 'ts-command-line-args';
import { changeMapSourcesPath } from './sourcemap-copy_support/change-map-sources-path';
import { findMapFiles } from './sourcemap-copy_support/find-map-files';
import { copySources} from './sourcemap-copy_support/copy-sources';
import { readConfiguration } from './sourcemap-copy_support/read-configuration';
import { SourcemapCopyConfiguration } from './sourcemap-copy_support/schemas/sourcemap-copy-configuration';
import { SourcemapCopyParameters } from './sourcemap-copy_support/schemas/sourcemap-copy-parameters';
export const parentPath = '../';
export const sourcemapCopyParameters = parse<SourcemapCopyParameters>({
quiet: { type: Boolean, optional: true, alias: 'q', description: 'Suppresses status/log messages' },
help: { type: Boolean, optional: true, alias: 'h', description: 'Help' }
},
{
helpArg: 'help',
headerContentSections: [{ header: 'Sourcemap Copy', content: 'Command to copy source files to \'dest\' location for use cases where original locations get in the way'}],
footerContentSections: [{ header: '(c) digable1', content: 'Open Source License (TBD - likely Apache 2' }]
});
export const configuration: SourcemapCopyConfiguration = readConfiguration();
export function copySourcemap(): void {
const cwd = process.cwd();
const utilsConfiguration = configuration.utilsDirectory === '.' ? '' : configuration.utilsDirectory;
if (cwd.indexOf(utilsConfiguration) < 0) {
console.error(`This must be run in the ${configuration.utilsDirectory} directory`);
process.exit(1);
}
process.chdir(path.resolve(configuration.utilsToRoot));
const originalDirectory = process.cwd();
if (!sourcemapCopyParameters.quiet) {
console.log(`Syncing sourcemaps:`);
console.log(` Original directory : ${originalDirectory}`);
console.log(` Desination directory: ${originalDirectory}/${configuration.rootToDistSrc}`);
console.log();
}
findMapFiles().forEach((dirEntry) => {
const mapObject = changeMapSourcesPath(`${dirEntry.name}`);
copySources(mapObject);
writeFileSyncImpl(`${dirEntry.name}`, JSON.stringify(mapObject), { encoding: 'utf-8' });
});
process.chdir(cwd);
if (!sourcemapCopyParameters.quiet) {
console.log();
console.log(`Done`);
console.log();
}
}
copySourcemap();