mirror of
https://github.com/Infisical/infisical.git
synced 2026-01-09 15:38:03 -05:00
Rollback
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
"name": "backend",
|
"name": "backend",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./dist/main.js",
|
"main": "./dist/main.mjs",
|
||||||
"bin": "dist/main.js",
|
"bin": "dist/main.js",
|
||||||
"pkg": {
|
"pkg": {
|
||||||
"scripts": [
|
"scripts": [
|
||||||
@@ -25,16 +25,19 @@
|
|||||||
"outputPath": "binary"
|
"outputPath": "binary"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"binary:build": "npm run binary:clean && npm run build:frontend && npm run build && npm run binary:babel-frontend",
|
"binary:build": "npm run binary:clean && npm run build:frontend && npm run build && npm run binary:babel-frontend && npm run binary:babel-backend && npm run binary:rename-imports",
|
||||||
"binary:package": "pkg --no-bytecode --public-packages \"*\" --public --target host .",
|
"binary:package": "pkg --no-bytecode --public-packages \"*\" --public --target host .",
|
||||||
|
"binary:babel-backend": " babel ./dist -d ./dist",
|
||||||
"binary:babel-frontend": "babel --copy-files ../frontend/.next/server -d ../frontend/.next/server",
|
"binary:babel-frontend": "babel --copy-files ../frontend/.next/server -d ../frontend/.next/server",
|
||||||
"binary:clean": "rm -rf ./dist && rm -rf ./binary",
|
"binary:clean": "rm -rf ./dist && rm -rf ./binary",
|
||||||
|
"binary:rename-imports": "ts-node ./scripts/rename-mjs.ts",
|
||||||
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"dev": "tsx watch --clear-screen=false ./src/main.ts | pino-pretty --colorize --colorizeObjects --singleLine",
|
"dev": "tsx watch --clear-screen=false ./src/main.ts | pino-pretty --colorize --colorizeObjects --singleLine",
|
||||||
"dev:docker": "nodemon",
|
"dev:docker": "nodemon",
|
||||||
"build": "tsup",
|
"build": "tsup",
|
||||||
"build:frontend": "npm run build --prefix ../frontend",
|
"build:frontend": "npm run build --prefix ../frontend",
|
||||||
"start": "node dist/main.js",
|
"start": "node dist/main.mjs",
|
||||||
"type:check": "tsc --noEmit",
|
"type:check": "tsc --noEmit",
|
||||||
"lint:fix": "eslint --fix --ext js,ts ./src",
|
"lint:fix": "eslint --fix --ext js,ts ./src",
|
||||||
"lint": "eslint 'src/**/*.ts'",
|
"lint": "eslint 'src/**/*.ts'",
|
||||||
|
|||||||
27
backend/scripts/rename-mjs.ts
Normal file
27
backend/scripts/rename-mjs.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/* eslint-disable @typescript-eslint/no-shadow */
|
||||||
|
import fs from "node:fs";
|
||||||
|
import path from "node:path";
|
||||||
|
|
||||||
|
function replaceMjsOccurrences(directory: string) {
|
||||||
|
fs.readdir(directory, (err, files) => {
|
||||||
|
if (err) throw err;
|
||||||
|
files.forEach((file) => {
|
||||||
|
const filePath = path.join(directory, file);
|
||||||
|
if (fs.statSync(filePath).isDirectory()) {
|
||||||
|
replaceMjsOccurrences(filePath);
|
||||||
|
} else {
|
||||||
|
fs.readFile(filePath, "utf8", (err, data) => {
|
||||||
|
if (err) throw err;
|
||||||
|
const result = data.replace(/\.mjs/g, ".js");
|
||||||
|
fs.writeFile(filePath, result, "utf8", (err) => {
|
||||||
|
if (err) throw err;
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(`Updated: ${filePath}`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceMjsOccurrences("dist");
|
||||||
@@ -6,7 +6,7 @@ import { zpStr } from "../zod";
|
|||||||
export const GITLAB_URL = "https://gitlab.com";
|
export const GITLAB_URL = "https://gitlab.com";
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any -- If `process.pkg` is set, and it's true, then it means that the app is currently running in a packaged environment (a binary)
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any -- If `process.pkg` is set, and it's true, then it means that the app is currently running in a packaged environment (a binary)
|
||||||
export const IS_PACKAGED = (process as any)?.pkg === true;
|
export const IS_PACKAGED = (process as any)?.pkg !== undefined;
|
||||||
|
|
||||||
const zodStrBool = z
|
const zodStrBool = z
|
||||||
.enum(["true", "false"])
|
.enum(["true", "false"])
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ export const main = async ({ db, smtp, logger, queue, keyStore }: TMain) => {
|
|||||||
|
|
||||||
if (appCfg.isProductionMode) {
|
if (appCfg.isProductionMode) {
|
||||||
await server.register(registerExternalNextjs, {
|
await server.register(registerExternalNextjs, {
|
||||||
standaloneMode: appCfg.STANDALONE_MODE,
|
standaloneMode: appCfg.STANDALONE_MODE || IS_PACKAGED,
|
||||||
dir: path.join(__dirname, IS_PACKAGED ? "../../../" : "../../"),
|
dir: path.join(__dirname, IS_PACKAGED ? "../../../" : "../../"),
|
||||||
port: appCfg.PORT
|
port: appCfg.PORT
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ export default defineConfig({
|
|||||||
clean: true,
|
clean: true,
|
||||||
minify: false,
|
minify: false,
|
||||||
keepNames: true,
|
keepNames: true,
|
||||||
splitting: true,
|
splitting: false,
|
||||||
|
format: "esm",
|
||||||
// copy the files to output
|
// copy the files to output
|
||||||
loader: {
|
loader: {
|
||||||
".handlebars": "copy",
|
".handlebars": "copy",
|
||||||
@@ -31,7 +32,37 @@ export default defineConfig({
|
|||||||
entry: ["./src"],
|
entry: ["./src"],
|
||||||
sourceMap: true,
|
sourceMap: true,
|
||||||
skipNodeModulesBundle: true,
|
skipNodeModulesBundle: true,
|
||||||
|
esbuildPlugins: [
|
||||||
|
{
|
||||||
|
// esm directory import are not allowed
|
||||||
|
// /folder1 should be explicitly imported as /folder1/index.ts
|
||||||
|
// this plugin will append it automatically on build time to all imports
|
||||||
|
name: "commonjs-esm-directory-import",
|
||||||
|
setup(build) {
|
||||||
|
build.onResolve({ filter: /.*/ }, async (args) => {
|
||||||
|
if (args.importer) {
|
||||||
|
if (args.kind === "import-statement") {
|
||||||
|
const isRelativePath = args.path.startsWith(".");
|
||||||
|
const absPath = isRelativePath
|
||||||
|
? path.join(args.resolveDir, args.path)
|
||||||
|
: path.join(args.path.replace("@app", "./src"));
|
||||||
|
|
||||||
|
const isFile = await fs
|
||||||
|
.stat(`${absPath}.ts`)
|
||||||
|
.then((el) => el.isFile)
|
||||||
|
.catch((err) => err.code === "ENOTDIR");
|
||||||
|
|
||||||
|
return {
|
||||||
|
path: isFile ? `${args.path}.mjs` : `${args.path}/index.mjs`,
|
||||||
|
external: true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
async onSuccess() {
|
async onSuccess() {
|
||||||
// this will replace all tsconfig paths
|
// this will replace all tsconfig paths
|
||||||
await replaceTscAliasPaths({
|
await replaceTscAliasPaths({
|
||||||
|
|||||||
Reference in New Issue
Block a user