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

This commit is contained in:
Erik Moura 2023-11-02 19:10:17 -03:00 коммит произвёл GitHub
Родитель 52fa9a2a78
Коммит 1948f1caa9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
9 изменённых файлов: 53 добавлений и 12 удалений

4
.gitignore поставляемый
Просмотреть файл

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

19
entry-asar/ambient.d.ts поставляемый Normal 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 };
}

Просмотреть файл

@ -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();

Просмотреть файл

@ -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();

Просмотреть файл

@ -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"
@ -57,4 +58,4 @@
"prettier --write"
]
}
}
}

4
tsconfig.cjs.json Normal file
Просмотреть файл

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

10
tsconfig.entry-asar.json Normal file
Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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