Compare commits
5 Commits
1.0.0-alph
...
1.0.0-alph
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
508b3e0006 | ||
|
|
aefd888de3 | ||
|
|
577e619089 | ||
|
|
2159398a3d | ||
|
|
1d079bdc26 |
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,16 +1,11 @@
|
||||
bin
|
||||
bin/*
|
||||
!bin/ldd
|
||||
build
|
||||
ldd
|
||||
|
||||
# misc
|
||||
*.log
|
||||
.DS_Store
|
||||
node_modules
|
||||
.cache
|
||||
dist
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
.github
|
||||
build
|
||||
src
|
||||
|
||||
*.log
|
||||
.DS_Store
|
||||
node_modules
|
||||
.cache
|
||||
*.lock
|
||||
1
.prettierignore
Normal file
1
.prettierignore
Normal file
@@ -0,0 +1 @@
|
||||
build
|
||||
@@ -52,7 +52,7 @@ Run the `ldd` binary to see the available commands:
|
||||
|
||||
```bash
|
||||
# With Yarn
|
||||
$ yarn ldd
|
||||
$ yarn ldd --help
|
||||
Usage: ldd [options] [command]
|
||||
|
||||
A zero-config local MariaDB instance for local development (using Docker)
|
||||
|
||||
6
bin/ldd
Executable file
6
bin/ldd
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Inspired by https://github.com/yarnpkg/yarn/issues/3421#issuecomment-1399393547
|
||||
|
||||
echo "This file is just a stub; it is not meant to be executed.
|
||||
It will be replaced by the postinstall script with the binary for the target platform."
|
||||
@@ -3,10 +3,14 @@
|
||||
// Inspired by: https://blog.xendit.engineer/how-we-repurposed-npm-to-publish-and-distribute-our-go-binaries-for-internal-cli-23981b80911b
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const BIN_BASE_NAME = './bin/@mep-agency/local-dev-db';
|
||||
const BIN_BASE_DIR = `${__dirname}/bin`;
|
||||
const BIN_OUTPUT_PATH = `${BIN_BASE_DIR}/ldd`;
|
||||
const BIN_OPTIONS_DIR = `${BIN_BASE_DIR}/@mep-agency`;
|
||||
const BIN_OPTIONS_BASE_NAME = `${BIN_OPTIONS_DIR}/local-dev-db`;
|
||||
|
||||
if (!fs.existsSync(BIN_BASE_NAME) || !fs.statSync(BIN_BASE_NAME).isDirectory()) {
|
||||
if (!fs.existsSync(BIN_OPTIONS_DIR) || !fs.statSync(BIN_OPTIONS_DIR).isDirectory()) {
|
||||
console.info('Binaries are not available, this probably means we are in a development environment... skipping!');
|
||||
|
||||
process.exit(0);
|
||||
@@ -22,7 +26,7 @@ const PLATFORM_MAPPING = {
|
||||
win32: 'win.exe',
|
||||
};
|
||||
|
||||
async function install(callback) {
|
||||
async function postinstall(callback) {
|
||||
if (PLATFORM_MAPPING[process.platform] === undefined) {
|
||||
callback(`Unsupported platform: "${process.platform}"`);
|
||||
}
|
||||
@@ -31,20 +35,20 @@ async function install(callback) {
|
||||
callback(`Unsupported architecture: "${process.arch}"`);
|
||||
}
|
||||
|
||||
const binaryNameTokens = [BIN_BASE_NAME, PLATFORM_MAPPING[process.platform], ARCH_MAPPING[process.arch]].filter(
|
||||
const binaryNameTokens = [BIN_OPTIONS_BASE_NAME, PLATFORM_MAPPING[process.platform], ARCH_MAPPING[process.arch]].filter(
|
||||
(token) => token.length > 0,
|
||||
);
|
||||
|
||||
console.info(`Copying the relevant binary for your platform ${process.platform} (${process.arch})`);
|
||||
|
||||
fs.copyFileSync(binaryNameTokens.join('-'), './ldd');
|
||||
fs.copyFileSync(binaryNameTokens.join('-'), BIN_OUTPUT_PATH);
|
||||
|
||||
callback(null);
|
||||
}
|
||||
|
||||
// Parse command line arguments and call the right method
|
||||
var actions = {
|
||||
install: install,
|
||||
postinstall: postinstall,
|
||||
};
|
||||
|
||||
const argv = process.argv;
|
||||
10
package.json
10
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mep-agency/local-dev-db",
|
||||
"version": "1.0.0-alpha2",
|
||||
"version": "1.0.0-alpha5",
|
||||
"private": false,
|
||||
"description": "A zero-config local MariaDB instance for local development (using Docker)",
|
||||
"author": "Marco Lipparini <developer@liarco.net>",
|
||||
@@ -21,19 +21,19 @@
|
||||
"url": "https://github.com/mep-agency/local-dev-db/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rm -rf ./bin && rm -rf ./build && tsc && pkg -c package.json ./build/src/index.js && yarn postinstall",
|
||||
"build": "rm -rf ./bin && rm -rf ./build && tsc && pkg -c package.json ./build/src/index.js",
|
||||
"watch": "tsc --watch",
|
||||
"format": "prettier --write \"**/*.{ts,md,scss,css,js}\"",
|
||||
"lint": "prettier --check \"**/*.{ts,md,scss,css,js}\"",
|
||||
"postinstall": "node postinstall.js install"
|
||||
"postinstall": "node lifecycle.js postinstall"
|
||||
},
|
||||
"bin": {
|
||||
"ldd": "./ldd"
|
||||
"ldd": "./bin/ldd"
|
||||
},
|
||||
"files": [
|
||||
"bin",
|
||||
"docker",
|
||||
"postinstall.js",
|
||||
"lifecycle.js",
|
||||
"LICENCE",
|
||||
"README.md"
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user