From e5af8b8fb8cd2792189a54e7b778ea0bb409b66e Mon Sep 17 00:00:00 2001 From: Richard Tibbles Date: Thu, 16 Jan 2025 12:18:51 -0800 Subject: [PATCH] Small tweaks to simplify publishing packages. Separate out kolibri package build and kolibri-tools. Update versions for browserslist-config-kolibri and kolibri-tools. --- .github/workflows/npm_publish.yml | 1 + .pre-commit-config.yaml | 2 +- package.json | 1 - packages/browserslist-config-kolibri/package.json | 2 +- packages/build_kolibri_package.js | 4 ++++ packages/kolibri-tools/.gitignore | 2 ++ packages/kolibri-tools/.npmignore | 2 ++ packages/kolibri-tools/build_kolibri_tools.js | 5 +---- packages/kolibri-tools/package.json | 4 ++-- 9 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 packages/build_kolibri_package.js diff --git a/.github/workflows/npm_publish.yml b/.github/workflows/npm_publish.yml index 0b2d3428ead..5357329b7a9 100644 --- a/.github/workflows/npm_publish.yml +++ b/.github/workflows/npm_publish.yml @@ -17,6 +17,7 @@ on: - 'kolibri-logging' - 'kolibri-module' - 'kolibri-plugin-data' + - 'kolibri-tools' - 'kolibri-viewer' jobs: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e01aa0412e3..a49dbb8548d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: core-js-api name: Rebuild kolibri package description: Rebuilds kolibri package on changes to core js api - entry: yarn run build-kolibri-tools + entry: node ./packages/build_kolibri_package.js language: system files: ^packages/kolibri/.*\.(js|vue)$ - repo: local diff --git a/package.json b/package.json index e2db71ecb99..e5dbf157286 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "lint-frontend:format": "yarn run lint-frontend --write", "lint-frontend:watch": "yarn run lint-frontend --monitor", "lint-frontend:watch:format": "yarn run lint-frontend --monitor --write", - "build-kolibri-tools": "yarn workspace kolibri-tools run build-kolibri-tools", "migrate-core-api": "kolibri-tools migrate '{kolibri*/**/assets,packages}/**/*.{js,vue}' --ignore '**/dist/**,**/node_modules/**,**/static/**'", "hashi-dev": "yarn workspace hashi run dev", "hashi-build": "yarn workspace hashi run build", diff --git a/packages/browserslist-config-kolibri/package.json b/packages/browserslist-config-kolibri/package.json index 97545e70670..882df1e8d9c 100644 --- a/packages/browserslist-config-kolibri/package.json +++ b/packages/browserslist-config-kolibri/package.json @@ -1,6 +1,6 @@ { "name": "browserslist-config-kolibri", - "version": "0.16.1-dev.1", + "version": "0.18.0", "description": "Browsers list configuration for Kolibri", "main": "index.js", "repository": { diff --git a/packages/build_kolibri_package.js b/packages/build_kolibri_package.js new file mode 100644 index 00000000000..b387e4fc48f --- /dev/null +++ b/packages/build_kolibri_package.js @@ -0,0 +1,4 @@ +/* Build file for kolibri package */ +const { rebuildApiSpec } = require('kolibri-tools/lib/apiSpecExportTools'); + +rebuildApiSpec(); diff --git a/packages/kolibri-tools/.gitignore b/packages/kolibri-tools/.gitignore index e65a9c68e0e..0e6bd57da27 100644 --- a/packages/kolibri-tools/.gitignore +++ b/packages/kolibri-tools/.gitignore @@ -3,3 +3,5 @@ dist/* # Ignore any copied version of language info lib/i18n/language_info.json +# Ignore any packaged version of the tools +*.tgz diff --git a/packages/kolibri-tools/.npmignore b/packages/kolibri-tools/.npmignore index 2b60090d23d..e410c88cfee 100644 --- a/packages/kolibri-tools/.npmignore +++ b/packages/kolibri-tools/.npmignore @@ -1 +1,3 @@ build_kolibri_tools.js +test/* +*.tgz diff --git a/packages/kolibri-tools/build_kolibri_tools.js b/packages/kolibri-tools/build_kolibri_tools.js index 3ffe8150866..9dbd2465653 100644 --- a/packages/kolibri-tools/build_kolibri_tools.js +++ b/packages/kolibri-tools/build_kolibri_tools.js @@ -1,7 +1,6 @@ -/* Build file for kolibri-tools and kolibri */ +/* Build file for kolibri-tools */ const fs = require('fs'); const path = require('path'); -const { rebuildApiSpec } = require('./lib/apiSpecExportTools'); // /* // * Copy the kolibri language_info.json into the kolibri-tools package for use externally @@ -16,5 +15,3 @@ fs.writeFileSync( encoding: 'utf-8', }, ); - -rebuildApiSpec(); diff --git a/packages/kolibri-tools/package.json b/packages/kolibri-tools/package.json index 94a71c2a565..115dcc3d1f4 100644 --- a/packages/kolibri-tools/package.json +++ b/packages/kolibri-tools/package.json @@ -15,7 +15,7 @@ "kolibri-tools": "./lib/cli.js" }, "scripts": { - "build-kolibri-tools": "node ./build_kolibri_tools.js" + "prepack": "node ./build_kolibri_tools.js" }, "dependencies": { "@babel/core": "^7.26.0", @@ -32,7 +32,7 @@ "babel-core": "7.0.0-bridge.0", "babel-jest": "^29.7.0", "babel-loader": "^9.2.1", - "browserslist-config-kolibri": "0.16.1-dev.1", + "browserslist-config-kolibri": "0.18.0", "chalk": "4.1.2", "check-node-version": "^4.2.1", "cli-table": "^0.3.11",