diff --git a/package.json b/package.json index 4c0b7df5e..2f07c228e 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "publish:beta": "npm ci && gulp publishBeta", "recompile": "gulp recompile", "release": "gulp gitCreateRC", - "start": "npm run build && concurrently -n tsc,server \"tsc --watch --preserveWatchOutput --outDir 'build/src' --declarationDir 'build/declarations'\" \"http-server ./ -s -o /tests/playground.html -c-1\"", + "start": "npm run build && concurrently -n tsc,server \"tsc --watch --preserveWatchOutput --outDir \"build/src\" --declarationDir \"build/declarations\"\" \"http-server ./ -s -o /tests/playground.html -c-1\"", "tsc": "gulp tsc", "test": "gulp test", "test:browser": "cd tests/browser && npx mocha", diff --git a/scripts/gulpfiles/build_tasks.js b/scripts/gulpfiles/build_tasks.js index 4b84bbf59..4479c0be7 100644 --- a/scripts/gulpfiles/build_tasks.js +++ b/scripts/gulpfiles/build_tasks.js @@ -30,6 +30,13 @@ const {posixPath} = require('../helpers'); // Build // //////////////////////////////////////////////////////////// +/** + * Path to the python runtime. + * This will normalize the command across platforms (e.g. python3 on Linux and + * Mac, python on Windows). + */ +const PYTHON = process.platform === 'win32' ? 'python' : 'python3'; + /** * Suffix to add to compiled output files. */ @@ -380,7 +387,7 @@ error message above, try running: */ function generateMessages(done) { // Run js_to_json.py - const jsToJsonCmd = `python3 scripts/i18n/js_to_json.py \ + const jsToJsonCmd = `${PYTHON} scripts/i18n/js_to_json.py \ --input_file ${path.join('msg', 'messages.js')} \ --output_dir ${path.join('msg', 'json')} \ --quiet`; @@ -418,7 +425,8 @@ function buildLangfiles(done) { json_files = json_files.filter(file => file.endsWith('json') && !(new RegExp(/(keys|synonyms|qqq|constants)\.json$/).test(file))); json_files = json_files.map(file => path.join('msg', 'json', file)); - const createMessagesCmd = `python3 ./scripts/i18n/create_messages.py \ + + const createMessagesCmd = `${PYTHON} ./scripts/i18n/create_messages.py \ --source_lang_file ${path.join('msg', 'json', 'en.json')} \ --source_synonym_file ${path.join('msg', 'json', 'synonyms.json')} \ --source_constants_file ${path.join('msg', 'json', 'constants.json')} \ @@ -559,7 +567,10 @@ function getChunkOptions() { // Figure out which chunk this is by looking for one of the // known chunk entrypoints in chunkFiles. N.B.: O(n*m). :-( const chunk = chunks.find( - chunk => chunkFiles.find(f => f.endsWith(path.sep + chunk.entry))); + chunk => chunkFiles.find(f => { + return f.endsWith('/' + chunk.entry.replaceAll('\\', '/')); + } + )); if (!chunk) throw new Error('Unable to identify chunk'); // Replace nicknames with the names we chose.