Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: unify version numbers and versioned documentation #661

Merged
merged 4 commits into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 2 additions & 13 deletions scripts/build-app.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,13 @@

import { build } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";

/**
* Define default vite config options
* Disable auto resolving {@link vite.config.js}
* @see {@link https://vitejs.dev/config/ Config}
* @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile}
* @type {import("vite").InlineConfig}
*/
const defineConfig = {
base: "./",
configFile: false,
};
import { baseConfig } from "./utils.js";

/**
* Build App-Shared WebView resources to xcode dist
*/
build({
...defineConfig,
...baseConfig,
plugins: [svelte()],
build: {
outDir: "xcode/App-Shared/Resources/dist/",
Expand Down
30 changes: 9 additions & 21 deletions scripts/build-ext-demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,16 @@

import { build } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import { cp, emptyBuildDir, rootDir } from "./utils.js";
import * as Utils from "./utils.js";

/**
* Define default vite config options
* Disable auto resolving {@link vite.config.js}
* @see {@link https://vitejs.dev/config/ Config}
* @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig InlineConfig}
* @type {import("vite").InlineConfig}
*/
const defineConfig = {
configFile: false,
envFile: false,
root: await rootDir(),
base: "./",
/** @type {import("vite").InlineConfig} */
const sharedConfig = {
...Utils.baseConfig,
mode: "development",

define: {
"import.meta.env.BROWSER": JSON.stringify("Safari"),
"import.meta.env.NATIVE_APP": JSON.stringify("app"),
...Utils.baseConfig.define,
"import.meta.env.SAFARI_VERSION": JSON.stringify(15),
"import.meta.env.SAFARI_PLATFORM": JSON.stringify(
process.env.SAFARI_PLATFORM,
),
"import.meta.env.EXT_DEMO_BUILD": JSON.stringify(true),
},
};
Expand All @@ -35,12 +23,12 @@ const defineConfig = {
* Empty resources directory
* Copy public static assets
*/
await emptyBuildDir("dist");
cp("public/ext/shared", "dist");
await Utils.emptyBuildDir("dist");
Utils.cp("public/ext/shared", "dist");

/** Build shared modules */
build({
...defineConfig,
...sharedConfig,
plugins: [svelte()],
publicDir: "public/ext/vendor/",
build: {
Expand Down
41 changes: 14 additions & 27 deletions scripts/build-ext-safari-15.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,14 @@

import { build } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import { cp, emptyBuildDir, rootDir, SAFARI_EXT_RESOURCES } from "./utils.js";
import * as Utils from "./utils.js";

/**
* Define default vite config options
* Disable auto resolving {@link vite.config.js}
* @see {@link https://vitejs.dev/config/ Config}
* @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig InlineConfig}
* @type {import("vite").InlineConfig}
*/
const defineConfig = {
configFile: false,
envFile: false,
root: await rootDir(),
base: "./",
/** @type {import("vite").InlineConfig} */
const sharedConfig = {
...Utils.baseConfig,
define: {
"import.meta.env.BROWSER": JSON.stringify("Safari"),
"import.meta.env.NATIVE_APP": JSON.stringify("app"),
...Utils.baseConfig.define,
"import.meta.env.SAFARI_VERSION": JSON.stringify(15),
"import.meta.env.SAFARI_PLATFORM": JSON.stringify(
process.env.SAFARI_PLATFORM,
),
},
};
const sourcemap = process.env.BETA ? true : false;
Expand All @@ -45,9 +32,9 @@ const sourcemap = process.env.BETA ? true : false;
* Empty resources directory
* Copy public static assets
*/
await emptyBuildDir(SAFARI_EXT_RESOURCES);
cp("public/ext/shared", SAFARI_EXT_RESOURCES);
cp("public/ext/safari-15", SAFARI_EXT_RESOURCES);
await Utils.emptyBuildDir(Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/shared", Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/safari-15", Utils.SAFARI_EXT_RESOURCES);

/** Build content scripts */
[
Expand All @@ -56,9 +43,9 @@ cp("public/ext/safari-15", SAFARI_EXT_RESOURCES);
{ "script-market": "src/ext/content-scripts/entry-script-market.js" },
].forEach((input) => {
build({
...defineConfig,
...sharedConfig,
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
emptyOutDir: false,
copyPublicDir: false,
sourcemap,
Expand All @@ -72,9 +59,9 @@ cp("public/ext/safari-15", SAFARI_EXT_RESOURCES);

/** Build background scripts */
build({
...defineConfig,
...sharedConfig,
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/`,
emptyOutDir: false,
copyPublicDir: false,
sourcemap,
Expand All @@ -87,11 +74,11 @@ build({

/** Build shared modules */
build({
...defineConfig,
...sharedConfig,
plugins: [svelte()],
publicDir: "public/ext/vendor/",
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/`,
emptyOutDir: false,
sourcemap,
rollupOptions: {
Expand Down
41 changes: 14 additions & 27 deletions scripts/build-ext-safari-16.4.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,14 @@

import { build } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import { cp, emptyBuildDir, rootDir, SAFARI_EXT_RESOURCES } from "./utils.js";
import * as Utils from "./utils.js";

/**
* Define default vite config options
* Disable auto resolving {@link vite.config.js}
* @see {@link https://vitejs.dev/config/ Config}
* @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile}
* @type {import("vite").InlineConfig}
*/
const defineConfig = {
configFile: false,
envFile: false,
root: await rootDir(),
base: "./",
/** @type {import("vite").InlineConfig} */
const sharedConfig = {
...Utils.baseConfig,
define: {
"import.meta.env.BROWSER": JSON.stringify("Safari"),
"import.meta.env.NATIVE_APP": JSON.stringify("app"),
...Utils.baseConfig.define,
"import.meta.env.SAFARI_VERSION": JSON.stringify(16.4),
"import.meta.env.SAFARI_PLATFORM": JSON.stringify(
process.env.SAFARI_PLATFORM,
),
},
};
const sourcemap = process.env.BETA ? true : false;
Expand All @@ -44,9 +31,9 @@ const sourcemap = process.env.BETA ? true : false;
* Empty resources directory
* Copy public static assets
*/
await emptyBuildDir(SAFARI_EXT_RESOURCES);
cp("public/ext/shared", SAFARI_EXT_RESOURCES);
cp("public/ext/safari-16.4", SAFARI_EXT_RESOURCES);
await Utils.emptyBuildDir(Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/shared", Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/safari-16.4", Utils.SAFARI_EXT_RESOURCES);

/** Build content scripts */
[
Expand All @@ -55,9 +42,9 @@ cp("public/ext/safari-16.4", SAFARI_EXT_RESOURCES);
{ "script-market": "src/ext/content-scripts/entry-script-market.js" },
].forEach((input) => {
build({
...defineConfig,
...sharedConfig,
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
emptyOutDir: false,
copyPublicDir: false,
sourcemap,
Expand All @@ -75,9 +62,9 @@ cp("public/ext/safari-16.4", SAFARI_EXT_RESOURCES);
* Currently build classic script separately to avoid this error
*/
build({
...defineConfig,
...sharedConfig,
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/`,
emptyOutDir: false,
copyPublicDir: false,
sourcemap,
Expand All @@ -90,11 +77,11 @@ build({

/** Build shared modules */
build({
...defineConfig,
...sharedConfig,
plugins: [svelte()],
publicDir: "public/ext/vendor/",
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/`,
emptyOutDir: false,
sourcemap,
rollupOptions: {
Expand Down
59 changes: 20 additions & 39 deletions scripts/dev-ext-safari.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,16 @@

import { build, createServer } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import {
cp,
emptyBuildDir,
sharedServerOptions,
rootDir,
SAFARI_EXT_RESOURCES,
} from "./utils.js";
import * as Utils from "./utils.js";
import https from "node:https";

/**
* Define default vite config options
* Disable auto resolving {@link vite.config.js}
* @see {@link https://vitejs.dev/config/ Config}
* @see {@link https://vitejs.dev/guide/api-javascript.html#inlineconfig configFile}
* @type {import("vite").InlineConfig}
*/
const defineConfig = {
configFile: false,
envFile: false,
root: await rootDir(),
base: "./",
/** @type {import("vite").InlineConfig} */
const sharedConfig = {
...Utils.baseConfig,
mode: "development",
define: {
"import.meta.env.BROWSER": JSON.stringify("Safari"),
"import.meta.env.NATIVE_APP": JSON.stringify("app"),
...Utils.baseConfig.define,
"import.meta.env.SAFARI_VERSION": JSON.stringify(16.4),
"import.meta.env.SAFARI_PLATFORM": JSON.stringify(
process.env.SAFARI_PLATFORM,
),
},
};

Expand All @@ -51,19 +32,19 @@ async function buildResources(server, origin) {
* empty resources directory
* copy public static assets
*/
await emptyBuildDir("dist");
await emptyBuildDir(SAFARI_EXT_RESOURCES);
cp("public/ext/shared", SAFARI_EXT_RESOURCES);
cp("public/ext/shared-dev", SAFARI_EXT_RESOURCES);
await Utils.emptyBuildDir("dist");
await Utils.emptyBuildDir(Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/shared", Utils.SAFARI_EXT_RESOURCES);
Utils.cp("public/ext/shared-dev", Utils.SAFARI_EXT_RESOURCES);
if (process.env.SAFARI_PLATFORM === "ios") {
cp(
Utils.cp(
"public/ext/safari-dev/manifest-ios.json",
`${SAFARI_EXT_RESOURCES}/manifest.json`,
`${Utils.SAFARI_EXT_RESOURCES}/manifest.json`,
);
} else {
cp(
Utils.cp(
"public/ext/safari-dev/manifest-mac.json",
`${SAFARI_EXT_RESOURCES}/manifest.json`,
`${Utils.SAFARI_EXT_RESOURCES}/manifest.json`,
);
}

Expand All @@ -75,7 +56,7 @@ async function buildResources(server, origin) {
].forEach((input) => {
/** build proxy content scripts replace actual code */
build({
...defineConfig,
...sharedConfig,
plugins: [
{
name: "generate-content-proxy",
Expand All @@ -100,7 +81,7 @@ async function buildResources(server, origin) {
},
],
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/content-scripts/`,
emptyOutDir: false,
copyPublicDir: false,
rollupOptions: {
Expand All @@ -111,7 +92,7 @@ async function buildResources(server, origin) {
});
/** build content scripts for dev server and watch changes */
build({
...defineConfig,
...sharedConfig,
build: {
outDir: `dist/content-scripts/`,
emptyOutDir: false,
Expand All @@ -128,7 +109,7 @@ async function buildResources(server, origin) {

/** generate entrance dist */
build({
...defineConfig,
...sharedConfig,
publicDir: "public/ext/vendor/",
plugins: [
/**
Expand All @@ -147,7 +128,7 @@ async function buildResources(server, origin) {
},
],
build: {
outDir: `${SAFARI_EXT_RESOURCES}/dist/`,
outDir: `${Utils.SAFARI_EXT_RESOURCES}/dist/`,
emptyOutDir: false,
rollupOptions: {
input: {
Expand All @@ -170,7 +151,7 @@ async function buildResources(server, origin) {
* @see {@link https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy}
* @see {@link https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy}
*/
const serverOptions = await sharedServerOptions();
const serverOptions = await Utils.sharedServerOptions();
const SERVER_PORT = 55173;
const SERVER_ORIGIN = `https://userscripts.test:${SERVER_PORT}`;

Expand Down Expand Up @@ -204,7 +185,7 @@ async function serverCheck(url) {
(async () => {
/** run development server */
const server = await createServer({
...defineConfig,
...sharedConfig,
plugins: [svelte()],
server: {
host: true,
Expand Down
Loading
Loading