From 1961d75eecce14de19f521cc260b9149611c1a72 Mon Sep 17 00:00:00 2001 From: Marco Lipparini <1532277+liarco@users.noreply.github.com> Date: Sun, 25 Feb 2024 10:47:00 +0100 Subject: [PATCH] Migrating to ESM (#8) * Migrating to ESM * Fixing broken prettier --- bin/ldd.js | 2 +- package.json | 3 ++- prettier.config.js => prettier.config.cjs | 0 src/config.ts | 7 ++++--- src/index.ts | 7 ++++--- tsconfig.json | 4 ++-- 6 files changed, 13 insertions(+), 10 deletions(-) rename prettier.config.js => prettier.config.cjs (100%) diff --git a/bin/ldd.js b/bin/ldd.js index 3508e97..e24c6e9 100755 --- a/bin/ldd.js +++ b/bin/ldd.js @@ -1,3 +1,3 @@ #!/usr/bin/env node -require('../build/index.js'); +import '../build/index.js'; diff --git a/package.json b/package.json index 510ee0d..d77ab44 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { "name": "@mep-agency/local-dev-db", - "version": "1.0.0-alpha13", + "version": "1.0.0-alpha14", "private": false, + "type": "module", "description": "A zero-config local MariaDB instance for local development (using Docker)", "author": "Marco Lipparini ", "license": "MIT", diff --git a/prettier.config.js b/prettier.config.cjs similarity index 100% rename from prettier.config.js rename to prettier.config.cjs diff --git a/src/config.ts b/src/config.ts index 28de417..a177847 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,8 +1,9 @@ -import fs from 'fs'; -import path from 'path'; +import { fileURLToPath } from 'node:url'; +import fs from 'node:fs'; +import path from 'node:path'; const JSON_CONFIG_FILE_NAME = 'ldd.json'; -const PACKAGE_JSON_PATH = `${__dirname}/../package.json`; +const PACKAGE_JSON_PATH = fileURLToPath(new URL('../package.json', import.meta.url)); const DEFAULT_CONFIG: Partial = { dbName: undefined, diff --git a/src/index.ts b/src/index.ts index 14021b8..16df209 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,13 @@ -import fs from 'fs'; +import { fileURLToPath } from 'node:url'; +import fs from 'node:fs'; import { program } from 'commander'; import { confirm } from '@inquirer/prompts'; import { dockerCommand } from 'docker-cli-js'; import mysql from 'mysql'; -import config from './config'; +import config from './config.js'; -const LDD_ROOT_PATH = `${__dirname}/..`; +const LDD_ROOT_PATH = fileURLToPath(new URL('..', import.meta.url)); interface DockerImagesCommandResult { images: { diff --git a/tsconfig.json b/tsconfig.json index b44e6c2..f913be9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,8 +5,8 @@ "strict": true, "forceConsistentCasingInFileNames": true, "esModuleInterop": true, - "module": "CommonJS", - "moduleResolution": "node", + "module": "Node16", + "moduleResolution": "Node16", "resolveJsonModule": true, "isolatedModules": true, "incremental": true,