From 42579440ac8ee9914febcab3ef21bd2f05605733 Mon Sep 17 00:00:00 2001 From: Damian Reeves <957246+DamianReeves@users.noreply.github.com> Date: Sat, 25 May 2024 06:53:44 -0400 Subject: [PATCH] Provide bundling of morphir CLI with Vite (more work to do) --- .prototools | 2 +- bun.lockb | Bin 78044 -> 91328 bytes packages/morphir-elm-compiler/elm.json | 2 +- packages/morphir-elm-compiler/src/cli.ts | 4 ++- .../morphir-elm-compiler/src/morphir-make.ts | 34 ++++++++++-------- packages/morphir-elm-compiler/src/morphir.ts | 13 ++++--- packages/morphir-elm-compiler/vite.config.ts | 15 +++----- 7 files changed, 37 insertions(+), 33 deletions(-) diff --git a/.prototools b/.prototools index 3591e80b9..620e9d0bf 100644 --- a/.prototools +++ b/.prototools @@ -1 +1 @@ -bun = "1.1.8" \ No newline at end of file +bun = "1.1.10" \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 629db3d407772d4a2cf80eb1bd94bbaf9309f086..86513d094893750d61e4c01b542402b446ad9870 100755 GIT binary patch delta 21322 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 Pru&1R5=s+t*DwAL_qrl) diff --git a/packages/morphir-elm-compiler/elm.json b/packages/morphir-elm-compiler/elm.json index 95c9dba73..237ddbde3 100644 --- a/packages/morphir-elm-compiler/elm.json +++ b/packages/morphir-elm-compiler/elm.json @@ -1,6 +1,6 @@ { "type": "application", - "source-directories": ["../../../src", "src/elm"], + "source-directories": ["../../src", "src/elm"], "elm-version": "0.19.1", "dependencies": { "direct": { diff --git a/packages/morphir-elm-compiler/src/cli.ts b/packages/morphir-elm-compiler/src/cli.ts index 121a34040..cd3252ec5 100644 --- a/packages/morphir-elm-compiler/src/cli.ts +++ b/packages/morphir-elm-compiler/src/cli.ts @@ -5,8 +5,10 @@ import * as util from "util"; import * as path from "path"; import * as FileChanges from "./FileChanges"; import * as Dependencies from "./dependencies"; + import { DependencyConfig } from "./dependencies"; import { z } from "zod"; +import CLI from './elm/Morphir/Elm/CLI.elm'; const fsExists = util.promisify(fs.exists); const fsWriteFile = util.promisify(fs.writeFile); @@ -14,7 +16,7 @@ const fsMakeDir = util.promisify(fs.mkdir); const fsReadFile = util.promisify(fs.readFile); const readdir = util.promisify(fs.readdir); -const worker = require("./../Morphir.Elm.CLI").Elm.Morphir.Elm.CLI.init(); +const worker = CLI.init(); const Includes = z.array(z.string()).optional(); type Includes = z.infer; diff --git a/packages/morphir-elm-compiler/src/morphir-make.ts b/packages/morphir-elm-compiler/src/morphir-make.ts index 8ae8439dc..c8800f92b 100644 --- a/packages/morphir-elm-compiler/src/morphir-make.ts +++ b/packages/morphir-elm-compiler/src/morphir-make.ts @@ -7,19 +7,23 @@ import { make } from './cliAPI' // logging require('log-timestamp') -// Set up Commander -const program = new Command() -program - .name('morphir make') - .description('Translate Elm sources to Morphir IR') - .option('-p, --project-dir ', 'Root directory of the project where morphir.json is located.', '.') - .option('-o, --output ', 'Target file location where the Morphir IR will be saved.', 'morphir-ir.json') - .option('-t, --types-only', 'Only include type information in the IR, no values.', false) - .option('-i, --indent-json', 'Use indentation in the generated JSON file.', false) - .option("-I, --include [pathOrUrl...]", "Include additional Morphir distributions as a dependency. Can be specified multiple times. Can be a path, url, or data-url.") - .parse(process.argv) +export function createCommand() { + // Set up Commander + const program = new Command() + program + .name('make') + .description('Translate Elm sources to Morphir IR') + .option('-p, --project-dir ', 'Root directory of the project where morphir.json is located.', '.') + .option('-o, --output ', 'Target file location where the Morphir IR will be saved.', 'morphir-ir.json') + .option('-t, --types-only', 'Only include type information in the IR, no values.', false) + .option('-i, --indent-json', 'Use indentation in the generated JSON file.', false) + .option("-I, --include [pathOrUrl...]", "Include additional Morphir distributions as a dependency. Can be specified multiple times. Can be a path, url, or data-url.") + .action((options) => { + const dirAndOutput =options; + // run make + make(dirAndOutput['projectDir'], dirAndOutput) + }) + //.parse(process.argv) + return program; +} -const dirAndOutput = program.opts() - -// run make -make(dirAndOutput['projectDir'], dirAndOutput) \ No newline at end of file diff --git a/packages/morphir-elm-compiler/src/morphir.ts b/packages/morphir-elm-compiler/src/morphir.ts index 7c610ebf2..1e85f9dc6 100644 --- a/packages/morphir-elm-compiler/src/morphir.ts +++ b/packages/morphir-elm-compiler/src/morphir.ts @@ -1,16 +1,19 @@ #!/usr/bin/env node // NPM imports -import path from 'path' -import {Command} from 'commander' +import { Command } from 'commander'; +import { readPackageUpSync } from 'read-package-up'; +import * as morphirMake from './morphir-make'; // Read the package.json of this package -const packageJson = require(path.join(__dirname, '../../package.json')) +const packageJson = readPackageUpSync()?.packageJson; + +let version = packageJson?.version || '0.0.0'; // Set up Commander const program = new Command() program - .version(packageJson.version, '-v, --version') - .command('make', 'Translate Elm sources to Morphir IR') + .version(version, '-v, --version') + .addCommand(morphirMake.createCommand()) .command('scala-gen', 'Generate scala code from Morphir IR') .command('json-schema-gen', 'Generate Json Schema from the Morphir IR') .command('snowpark-gen','Generate Scala with Snowpark code from Morphir IR') diff --git a/packages/morphir-elm-compiler/vite.config.ts b/packages/morphir-elm-compiler/vite.config.ts index 86662db26..cdd675093 100644 --- a/packages/morphir-elm-compiler/vite.config.ts +++ b/packages/morphir-elm-compiler/vite.config.ts @@ -1,16 +1,11 @@ + import { defineConfig } from 'vite' //import elmPlugin from 'vite-plugin-elm' import elm from 'vite-plugin-elm-watch' - export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => { - if (command === 'serve') { - return { - plugins: [elm({ mode: 'debug' })] - } - } else { - return { - plugins: [elm()] - } - } + let isServe = command === 'serve' + return { + plugins: [elm({ mode: 'debug' })] + }; }) \ No newline at end of file