mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-24 00:27:40 +00:00
chore(common/models): assorted cleanup per suggestions
This commit is contained in:
parent
b943b5a80b
commit
e7aff26d7a
5 changed files with 116 additions and 12 deletions
|
|
@ -1,16 +1,16 @@
|
|||
import fs from 'fs';
|
||||
|
||||
import SourcemapRemapper from '@keymanapp/sourcemap-path-remapper';
|
||||
import SourceMapRemapper from '@keymanapp/sourcemap-path-remapper';
|
||||
|
||||
import SourcemapCombiner from 'combine-source-map';
|
||||
import convertSourcemap from 'convert-source-map'; // Transforms sourcemaps among various common formats.
|
||||
import SourceMapCombiner from 'combine-source-map';
|
||||
import convertSourceMap from 'convert-source-map'; // Transforms sourcemaps among various common formats.
|
||||
// Base64, stringified-JSON, end-of-file comment...
|
||||
|
||||
let loadPolyfill = function(file, mapFilename) {
|
||||
let loadPolyfill = function(scriptFile, sourceMapFile) {
|
||||
// May want to retool the pathing somewhat!
|
||||
return {
|
||||
source: fs.readFileSync(file).toString(),
|
||||
sourceFile: mapFilename || file
|
||||
source: fs.readFileSync(scriptFile).toString(),
|
||||
sourceFile: sourceMapFile || scriptFile
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -27,13 +27,13 @@ let loadCompiledModuleFilePair = function(file, mapFilename) {
|
|||
/**The source + inlined sourcemap-as-comment used by `combine-source-map`. */
|
||||
get source() {
|
||||
let jsonAsBuffer = Buffer.from(JSON.stringify(this.sourceMapAsJSON));
|
||||
return `${this.plainSource}\n${convertSourcemap.fromJSON(jsonAsBuffer).toComment()}`;
|
||||
return `${this.plainSource}\n${convertSourceMap.fromJSON(jsonAsBuffer).toComment()}`;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function concatScriptsAndSourcemaps(files, finalName, separatorFile) {
|
||||
let combiner = SourcemapCombiner.create(finalName);
|
||||
let combiner = SourceMapCombiner.create(finalName);
|
||||
|
||||
let finalConcatenationArray = [];
|
||||
let lineCountThusFar = 0;
|
||||
|
|
@ -60,7 +60,7 @@ function concatScriptsAndSourcemaps(files, finalName, separatorFile) {
|
|||
|
||||
return {
|
||||
script: bundledSource,
|
||||
sourcemapJSON: JSON.parse(convertSourcemap.fromBase64(combiner.base64()).toJSON()),
|
||||
sourcemapJSON: JSON.parse(convertSourceMap.fromBase64(combiner.base64()).toJSON()),
|
||||
scriptFilename: finalName
|
||||
}
|
||||
}
|
||||
|
|
@ -104,7 +104,7 @@ console.log();
|
|||
// paths result in unwanted extra pathing that needs to be cleaned up (models/models, correction/correction, etc)
|
||||
console.log("Pass 2: cleaning sourcemap source paths");
|
||||
|
||||
let remappingState = SourcemapRemapper
|
||||
let remappingState = SourceMapRemapper
|
||||
.fromObject(fullWorkerConcatenation.sourcemapJSON)
|
||||
.remapPaths([
|
||||
{from: /^polyfills\//, to: '/common/web/lm-worker/src/polyfills/'},
|
||||
|
|
@ -144,4 +144,4 @@ fullWorkerConcatenation.script = fullWorkerConcatenation.script.substring(0, ful
|
|||
fullWorkerConcatenation.script += `//# sourceMappingURL=${fullWorkerConcatenation.scriptFilename}.map`;
|
||||
|
||||
fs.writeFileSync(`build/lib/${fullWorkerConcatenation.scriptFilename}`, fullWorkerConcatenation.script);
|
||||
fs.writeFileSync(`build/lib/${fullWorkerConcatenation.scriptFilename}.map`, convertSourcemap.fromObject(fullWorkerConcatenation.sourcemapJSON).toJSON());
|
||||
fs.writeFileSync(`build/lib/${fullWorkerConcatenation.scriptFilename}.map`, convertSourceMap.fromObject(fullWorkerConcatenation.sourcemapJSON).toJSON());
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
"@keymanapp/resources-gosh": "*",
|
||||
"@types/node": "^10.17.21",
|
||||
"chai": "^4.3.4",
|
||||
"combine-source-map": "^0.8.0",
|
||||
"karma": "^6.4.1",
|
||||
"karma-browserstack-launcher": "^1.6.0",
|
||||
"karma-chai": "^0.1.0",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
/// <reference types="@keymanapp/lm-message-types" />
|
||||
import { extendString } from "@keymanapp/web-utils/build/obj/index.js";
|
||||
|
||||
extendString();
|
||||
|
||||
import * as models from './models/index.js';
|
||||
import * as correction from './correction/index.js';
|
||||
import * as wordBreakers from '@keymanapp/models-wordbreakers/build/obj/index.js';
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
*/
|
||||
|
||||
import LMLayerWorker from './index.js';
|
||||
//export { default as LMLayerWorker } from './index.js';
|
||||
|
||||
// Let LMLayerWorker be available both in the browser and in Node.
|
||||
if (typeof self !== 'undefined' && 'postMessage' in self && 'importScripts' in self) {
|
||||
|
|
|
|||
102
package-lock.json
generated
102
package-lock.json
generated
|
|
@ -324,6 +324,7 @@
|
|||
"@keymanapp/resources-gosh": "*",
|
||||
"@types/node": "^10.17.21",
|
||||
"chai": "^4.3.4",
|
||||
"combine-source-map": "^0.8.0",
|
||||
"karma": "^6.4.1",
|
||||
"karma-browserstack-launcher": "^1.6.0",
|
||||
"karma-chai": "^0.1.0",
|
||||
|
|
@ -2244,6 +2245,33 @@
|
|||
"color-support": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/combine-source-map": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
|
||||
"integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"convert-source-map": "~1.1.0",
|
||||
"inline-source-map": "~0.6.0",
|
||||
"lodash.memoize": "~3.0.3",
|
||||
"source-map": "~0.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/combine-source-map/node_modules/convert-source-map": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
|
||||
"integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/combine-source-map/node_modules/source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
|
|
@ -3876,6 +3904,24 @@
|
|||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/inline-source-map": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
|
||||
"integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"source-map": "~0.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/inline-source-map/node_modules/source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
|
|
@ -4476,6 +4522,12 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
|
||||
},
|
||||
"node_modules/lodash.memoize": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
|
||||
"integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lodash.set": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
|
||||
|
|
@ -7882,6 +7934,7 @@
|
|||
"@keymanapp/web-utils": "*",
|
||||
"@types/node": "^10.17.21",
|
||||
"chai": "^4.3.4",
|
||||
"combine-source-map": "*",
|
||||
"es6-shim": "^0.35.5",
|
||||
"karma": "^6.4.1",
|
||||
"karma-browserstack-launcher": "^1.6.0",
|
||||
|
|
@ -9205,6 +9258,32 @@
|
|||
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
|
||||
"dev": true
|
||||
},
|
||||
"combine-source-map": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
|
||||
"integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"convert-source-map": "~1.1.0",
|
||||
"inline-source-map": "~0.6.0",
|
||||
"lodash.memoize": "~3.0.3",
|
||||
"source-map": "~0.5.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"convert-source-map": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
|
||||
"integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
|
|
@ -10376,6 +10455,23 @@
|
|||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"inline-source-map": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
|
||||
"integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"source-map": "~0.5.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
|
|
@ -10893,6 +10989,12 @@
|
|||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
|
||||
},
|
||||
"lodash.memoize": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
|
||||
"integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.set": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue