fix: use Typescript for files in entry-asar (#83)

This commit is contained in:
Erik Moura
2023-11-02 19:10:17 -03:00
committed by GitHub
parent 52fa9a2a78
commit 1948f1caa9
9 changed files with 53 additions and 12 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
node_modules
dist
entry-asar/*.js*
entry-asar/*.ts
*.app

19
entry-asar/ambient.d.ts vendored Normal file
View File

@@ -0,0 +1,19 @@
declare namespace NodeJS {
interface Process extends EventEmitter {
// This is an undocumented private API. It exists.
_archPath: string;
}
}
declare module 'electron' {
const app: Electron.App;
namespace Electron {
interface App {
getAppPath: () => string;
setAppPath: (p: string) => void;
}
}
export { app };
}

View File

@@ -1,5 +1,5 @@
const { app } = require('electron');
const path = require('path');
import { app } from 'electron';
import path from 'path';
if (process.arch === 'arm64') {
setPaths('arm64');
@@ -7,7 +7,7 @@ if (process.arch === 'arm64') {
setPaths('x64');
}
function setPaths(platform) {
function setPaths(platform: string) {
// This should return the full path, ending in something like
// Notion.app/Contents/Resources/app.asar
const appPath = app.getAppPath();

View File

@@ -1,10 +1,13 @@
import { app } from 'electron';
import path from 'path';
if (process.arch === 'arm64') {
setPaths('arm64');
} else {
setPaths('x64');
}
function setPaths(platform) {
function setPaths(platform: string) {
// This should return the full path, ending in something like
// Notion.app/Contents/Resources/app
const appPath = app.getAppPath();

View File

@@ -20,13 +20,14 @@
"files": [
"dist/*",
"entry-asar/*",
"!entry-asar/**/*.ts",
"README.md"
],
"author": "Samuel Attard",
"scripts": {
"build": "tsc && tsc -p tsconfig.esm.json",
"lint": "prettier --check \"{src,entry-asar}/**/*.{js,ts}\"",
"prettier:write": "prettier --write \"{src,entry-asar}/**/*.{js,ts}\"",
"build": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && tsc -p tsconfig.entry-asar.json",
"lint": "prettier --check \"{src,entry-asar}/**/*.ts\"",
"prettier:write": "prettier --write \"{src,entry-asar}/**/*.ts\"",
"prepublishOnly": "npm run build",
"test": "exit 0",
"prepare": "husky install"

4
tsconfig.cjs.json Normal file
View File

@@ -0,0 +1,4 @@
{
"extends": "./tsconfig.json",
"include": ["src"]
}

10
tsconfig.entry-asar.json Normal file
View File

@@ -0,0 +1,10 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "entry-asar",
},
"include": [
"entry-asar"
],
"exclude": []
}

View File

@@ -3,5 +3,6 @@
"compilerOptions": {
"module": "esnext",
"outDir": "dist/esm"
}
},
"include": ["src"]
}

View File

@@ -16,6 +16,7 @@
"declaration": true
},
"include": [
"src"
"src",
"entry-asar"
]
}