From b2e64d885cc2a135691d66f1bfd15c1b22925afd Mon Sep 17 00:00:00 2001 From: Conrad Chan Date: Tue, 9 Feb 2021 16:04:16 -0800 Subject: [PATCH] build: add manifest.json in third-party folders (#1325) --- build/updateManifest.js | 18 ++++++++++ build/upgrade_highlightjs.sh | 39 ++++++++++++++++------ src/third-party/text/0.114.0/manifest.json | 10 ++++++ 3 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 build/updateManifest.js create mode 100644 src/third-party/text/0.114.0/manifest.json diff --git a/build/updateManifest.js b/build/updateManifest.js new file mode 100644 index 000000000..118b6f446 --- /dev/null +++ b/build/updateManifest.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node +/* eslint-disable no-console */ +const fs = require('fs'); + +// eslint-disable-next-line no-unused-vars +const [node, script, assetsVersion, libName, libVersion, manifestPath] = process.argv; + +if (!(assetsVersion && libName && libVersion && manifestPath)) { + console.log('Missing required arguments'); + process.exit(1); +} + +const manifestStr = fs.readFileSync(manifestPath); +const parsedManifest = JSON.parse(manifestStr); +parsedManifest.version = assetsVersion; +parsedManifest.dependencies[libName] = libVersion; + +fs.writeFileSync(manifestPath, JSON.stringify(parsedManifest, null, 4)); diff --git a/build/upgrade_highlightjs.sh b/build/upgrade_highlightjs.sh index b869b533c..d23327062 100755 --- a/build/upgrade_highlightjs.sh +++ b/build/upgrade_highlightjs.sh @@ -24,6 +24,16 @@ build_custom_highlightjs() { (cd ${HIGHLIGHTJS_SRC_DIR} && yarn install --frozen-lockfile && node tools/build -t browser ${HIGHLIGHTJS_LANGUAGES}) || return 1 } +bump_highlightjs_version() { + echo "-----------------------------------------------------------------------------------" + echo "Bumping highlightjs version in manifest.json" + echo "-----------------------------------------------------------------------------------" + HIGHLIGHTJS_VERSION=$(cd ${HIGHLIGHTJS_SRC_DIR} && ../build/current_version.sh) || return 1 + + echo "Bumping highlightjs version to ${HIGHLIGHTJS_VERSION}" + node build/updateManifest.js ${TEXT_STATIC_ASSETS_VERSION} highlightjs ${HIGHLIGHTJS_VERSION} ${TEXT_STATIC_ASSETS_PATH}/manifest.json || return 1 +} + cleanup_custom_highlightjs() { echo "-----------------------------------------------------------------------------------" echo "Cleaning up highlightjs repo" @@ -32,16 +42,22 @@ cleanup_custom_highlightjs() { } prepare_target_directory() { - echo "-----------------------------------------------------------------------------------" - echo "Creating target directory at $TEXT_STATIC_ASSETS_PATH..." - echo "-----------------------------------------------------------------------------------" - - rm -rf ${TEXT_STATIC_ASSETS_PATH} - TEXT_CURRENT_ASSETS_VERSIONS=`ls ${TEXT_BASE_PATH} | sort -t "." -k1,1n -k2,2n -k3,3n | tail -1` - - echo "Using base version from $TEXT_CURRENT_ASSETS_VERSIONS" - mkdir -v ${TEXT_STATIC_ASSETS_PATH} - cp -pv ${TEXT_BASE_PATH}/${TEXT_CURRENT_ASSETS_VERSIONS}/* ${TEXT_STATIC_ASSETS_PATH}/ + if [ ! -d $TEXT_STATIC_ASSETS_PATH ] + then + echo "-----------------------------------------------------------------------------------" + echo "Creating target directory at $TEXT_STATIC_ASSETS_PATH..." + echo "-----------------------------------------------------------------------------------" + + TEXT_CURRENT_ASSETS_VERSIONS=`ls ${TEXT_BASE_PATH} | sort -t "." -k1,1n -k2,2n -k3,3n | tail -1` + + echo "Using base version from $TEXT_CURRENT_ASSETS_VERSIONS" + mkdir -v ${TEXT_STATIC_ASSETS_PATH} + cp -pv ${TEXT_BASE_PATH}/${TEXT_CURRENT_ASSETS_VERSIONS}/* ${TEXT_STATIC_ASSETS_PATH}/ + else + echo "-----------------------------------------------------------------------------------" + echo "Directory already exists at $TEXT_STATIC_ASSETS_PATH, using it as is..." + echo "-----------------------------------------------------------------------------------" + fi } process_highlightjs_assets() { @@ -69,6 +85,9 @@ upgrade_highlightjs() { # Copy over built assets to target directory process_highlightjs_assets || return 1 + # Bump highlightjs version in package.json thirdparty-dependencies + bump_highlightjs_version || return 1 + # Cleanup highlightjs cleanup_custom_highlightjs || return 1 diff --git a/src/third-party/text/0.114.0/manifest.json b/src/third-party/text/0.114.0/manifest.json new file mode 100644 index 000000000..d7f7f15e8 --- /dev/null +++ b/src/third-party/text/0.114.0/manifest.json @@ -0,0 +1,10 @@ +{ + "name": "text", + "description": "Third-party static assets used for the Preview text viewers", + "version": "0.114.0", + "dependencies": { + "highlightjs": "9.7.0", + "papaparse": "4.1.2", + "remarkable": "1.7.1" + } +}