fullstacked 0.12.1-1330 → 0.12.1-1355
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fullstacked_modules/{ai/index.js → @fullstacked/ai-agent/ai-agent.js} +4868 -8601
- package/fullstacked_modules/@fullstacked/ai-agent/index.ts +5 -3
- package/fullstacked_modules/@fullstacked/ai-agent/package.json +26 -23
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/anthropic.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/deepseek.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/google.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/index.ts +10 -12
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/interface.ts +10 -6
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/mistral.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/ollama.ts +19 -14
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/openai.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/xai.ts +11 -7
- package/fullstacked_modules/@fullstacked/ui/index.js +664 -0
- package/fullstacked_modules/auto_update/index.ts +66 -0
- package/fullstacked_modules/bridge/index.ts +2 -57
- package/fullstacked_modules/{esbuild/esbuild.ts → build/build.ts} +31 -28
- package/fullstacked_modules/build/index.ts +3 -0
- package/fullstacked_modules/build/sass.ts +55 -0
- package/fullstacked_modules/components/snackbar.css +54 -1
- package/fullstacked_modules/components/snackbar.scss +52 -0
- package/fullstacked_modules/sass/index.js +6445 -6464
- package/fullstacked_modules/zod/index.cjs +33 -0
- package/fullstacked_modules/zod/index.js +4 -0
- package/fullstacked_modules/zod/v3/ZodError.cjs +138 -0
- package/fullstacked_modules/zod/v3/ZodError.js +133 -0
- package/fullstacked_modules/zod/v3/errors.cjs +17 -0
- package/fullstacked_modules/zod/v3/errors.js +9 -0
- package/fullstacked_modules/zod/v3/external.cjs +22 -0
- package/fullstacked_modules/zod/v3/external.js +6 -0
- package/fullstacked_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/fullstacked_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/fullstacked_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/fullstacked_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/fullstacked_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/util.cjs +137 -0
- package/fullstacked_modules/zod/v3/helpers/util.js +133 -0
- package/fullstacked_modules/zod/v3/index.cjs +33 -0
- package/fullstacked_modules/zod/v3/index.js +4 -0
- package/fullstacked_modules/zod/v3/locales/en.cjs +111 -0
- package/fullstacked_modules/zod/v3/locales/en.js +109 -0
- package/fullstacked_modules/zod/v3/standard-schema.cjs +2 -0
- package/fullstacked_modules/zod/v3/standard-schema.js +1 -0
- package/fullstacked_modules/zod/v3/types.cjs +3775 -0
- package/fullstacked_modules/zod/v3/types.js +3693 -0
- package/fullstacked_modules/zod/v4/classic/checks.cjs +32 -0
- package/fullstacked_modules/zod/v4/classic/checks.js +1 -0
- package/fullstacked_modules/zod/v4/classic/coerce.cjs +47 -0
- package/fullstacked_modules/zod/v4/classic/coerce.js +17 -0
- package/fullstacked_modules/zod/v4/classic/compat.cjs +57 -0
- package/fullstacked_modules/zod/v4/classic/compat.js +27 -0
- package/fullstacked_modules/zod/v4/classic/errors.cjs +67 -0
- package/fullstacked_modules/zod/v4/classic/errors.js +41 -0
- package/fullstacked_modules/zod/v4/classic/external.cjs +70 -0
- package/fullstacked_modules/zod/v4/classic/external.js +18 -0
- package/fullstacked_modules/zod/v4/classic/index.cjs +33 -0
- package/fullstacked_modules/zod/v4/classic/index.js +4 -0
- package/fullstacked_modules/zod/v4/classic/iso.cjs +60 -0
- package/fullstacked_modules/zod/v4/classic/iso.js +30 -0
- package/fullstacked_modules/zod/v4/classic/parse.cjs +32 -0
- package/fullstacked_modules/zod/v4/classic/parse.js +6 -0
- package/fullstacked_modules/zod/v4/classic/schemas.cjs +1109 -0
- package/fullstacked_modules/zod/v4/classic/schemas.js +1006 -0
- package/fullstacked_modules/zod/v4/core/api.cjs +1039 -0
- package/fullstacked_modules/zod/v4/core/api.js +906 -0
- package/fullstacked_modules/zod/v4/core/checks.cjs +591 -0
- package/fullstacked_modules/zod/v4/core/checks.js +565 -0
- package/fullstacked_modules/zod/v4/core/core.cjs +67 -0
- package/fullstacked_modules/zod/v4/core/core.js +61 -0
- package/fullstacked_modules/zod/v4/core/doc.cjs +39 -0
- package/fullstacked_modules/zod/v4/core/doc.js +35 -0
- package/fullstacked_modules/zod/v4/core/errors.cjs +226 -0
- package/fullstacked_modules/zod/v4/core/errors.js +195 -0
- package/fullstacked_modules/zod/v4/core/function.cjs +102 -0
- package/fullstacked_modules/zod/v4/core/function.js +75 -0
- package/fullstacked_modules/zod/v4/core/index.cjs +44 -0
- package/fullstacked_modules/zod/v4/core/index.js +15 -0
- package/fullstacked_modules/zod/v4/core/json-schema.cjs +2 -0
- package/fullstacked_modules/zod/v4/core/json-schema.js +1 -0
- package/fullstacked_modules/zod/v4/core/parse.cjs +87 -0
- package/fullstacked_modules/zod/v4/core/parse.js +57 -0
- package/fullstacked_modules/zod/v4/core/regexes.cjs +103 -0
- package/fullstacked_modules/zod/v4/core/regexes.js +95 -0
- package/fullstacked_modules/zod/v4/core/registries.cjs +56 -0
- package/fullstacked_modules/zod/v4/core/registries.js +51 -0
- package/fullstacked_modules/zod/v4/core/schemas.cjs +1748 -0
- package/fullstacked_modules/zod/v4/core/schemas.js +1717 -0
- package/fullstacked_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/fullstacked_modules/zod/v4/core/standard-schema.js +1 -0
- package/fullstacked_modules/zod/v4/core/to-json-schema.cjs +854 -0
- package/fullstacked_modules/zod/v4/core/to-json-schema.js +849 -0
- package/fullstacked_modules/zod/v4/core/util.cjs +539 -0
- package/fullstacked_modules/zod/v4/core/util.js +493 -0
- package/fullstacked_modules/zod/v4/core/versions.cjs +8 -0
- package/fullstacked_modules/zod/v4/core/versions.js +5 -0
- package/fullstacked_modules/zod/v4/index.cjs +22 -0
- package/fullstacked_modules/zod/v4/index.js +3 -0
- package/fullstacked_modules/zod/v4/locales/ar.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/ar.js +116 -0
- package/fullstacked_modules/zod/v4/locales/az.cjs +141 -0
- package/fullstacked_modules/zod/v4/locales/az.js +115 -0
- package/fullstacked_modules/zod/v4/locales/be.cjs +190 -0
- package/fullstacked_modules/zod/v4/locales/be.js +164 -0
- package/fullstacked_modules/zod/v4/locales/ca.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/ca.js +118 -0
- package/fullstacked_modules/zod/v4/locales/cs.cjs +161 -0
- package/fullstacked_modules/zod/v4/locales/cs.js +135 -0
- package/fullstacked_modules/zod/v4/locales/de.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/de.js +116 -0
- package/fullstacked_modules/zod/v4/locales/en.cjs +145 -0
- package/fullstacked_modules/zod/v4/locales/en.js +117 -0
- package/fullstacked_modules/zod/v4/locales/eo.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/eo.js +116 -0
- package/fullstacked_modules/zod/v4/locales/es.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/es.js +117 -0
- package/fullstacked_modules/zod/v4/locales/fa.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/fa.js +122 -0
- package/fullstacked_modules/zod/v4/locales/fi.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/fi.js +122 -0
- package/fullstacked_modules/zod/v4/locales/fr-CA.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/fr-CA.js +117 -0
- package/fullstacked_modules/zod/v4/locales/fr.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/fr.js +116 -0
- package/fullstacked_modules/zod/v4/locales/he.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/he.js +117 -0
- package/fullstacked_modules/zod/v4/locales/hu.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/hu.js +117 -0
- package/fullstacked_modules/zod/v4/locales/id.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/id.js +116 -0
- package/fullstacked_modules/zod/v4/locales/index.cjs +84 -0
- package/fullstacked_modules/zod/v4/locales/index.js +39 -0
- package/fullstacked_modules/zod/v4/locales/it.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/it.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ja.cjs +141 -0
- package/fullstacked_modules/zod/v4/locales/ja.js +115 -0
- package/fullstacked_modules/zod/v4/locales/kh.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/kh.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ko.cjs +147 -0
- package/fullstacked_modules/zod/v4/locales/ko.js +121 -0
- package/fullstacked_modules/zod/v4/locales/mk.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/mk.js +118 -0
- package/fullstacked_modules/zod/v4/locales/ms.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/ms.js +116 -0
- package/fullstacked_modules/zod/v4/locales/nl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/nl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/no.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/no.js +116 -0
- package/fullstacked_modules/zod/v4/locales/ota.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ota.js +117 -0
- package/fullstacked_modules/zod/v4/locales/pl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/pl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ps.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/ps.js +122 -0
- package/fullstacked_modules/zod/v4/locales/pt.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/pt.js +116 -0
- package/fullstacked_modules/zod/v4/locales/ru.cjs +190 -0
- package/fullstacked_modules/zod/v4/locales/ru.js +164 -0
- package/fullstacked_modules/zod/v4/locales/sl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/sl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/sv.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/sv.js +118 -0
- package/fullstacked_modules/zod/v4/locales/ta.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ta.js +117 -0
- package/fullstacked_modules/zod/v4/locales/th.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/th.js +117 -0
- package/fullstacked_modules/zod/v4/locales/tr.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/tr.js +115 -0
- package/fullstacked_modules/zod/v4/locales/ua.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ua.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ur.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ur.js +117 -0
- package/fullstacked_modules/zod/v4/locales/vi.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/vi.js +116 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.js +116 -0
- package/fullstacked_modules/zod/v4/locales/zh-TW.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/zh-TW.js +117 -0
- package/fullstacked_modules/zod/v4/mini/checks.cjs +34 -0
- package/fullstacked_modules/zod/v4/mini/checks.js +1 -0
- package/fullstacked_modules/zod/v4/mini/coerce.cjs +47 -0
- package/fullstacked_modules/zod/v4/mini/coerce.js +17 -0
- package/fullstacked_modules/zod/v4/mini/external.cjs +62 -0
- package/fullstacked_modules/zod/v4/mini/external.js +13 -0
- package/fullstacked_modules/zod/v4/mini/index.cjs +32 -0
- package/fullstacked_modules/zod/v4/mini/index.js +3 -0
- package/fullstacked_modules/zod/v4/mini/iso.cjs +60 -0
- package/fullstacked_modules/zod/v4/mini/iso.js +30 -0
- package/fullstacked_modules/zod/v4/mini/parse.cjs +8 -0
- package/fullstacked_modules/zod/v4/mini/parse.js +1 -0
- package/fullstacked_modules/zod/v4/mini/schemas.cjs +839 -0
- package/fullstacked_modules/zod/v4/mini/schemas.js +732 -0
- package/fullstacked_modules/zod/v4-mini/index.cjs +17 -0
- package/fullstacked_modules/zod/v4-mini/index.js +1 -0
- package/index.js +121 -186
- package/package.json +4 -4
- package/fullstacked_modules/@fullstacked/ui/README.md +0 -3
- package/fullstacked_modules/@fullstacked/ui/components/button-group/button-group.scss +0 -28
- package/fullstacked_modules/@fullstacked/ui/components/button-group/index.ts +0 -8
- package/fullstacked_modules/@fullstacked/ui/components/dialog/dialog.scss +0 -39
- package/fullstacked_modules/@fullstacked/ui/components/dialog/index.ts +0 -17
- package/fullstacked_modules/@fullstacked/ui/components/list-item/index.ts +0 -37
- package/fullstacked_modules/@fullstacked/ui/components/list-item/list-item.scss +0 -19
- package/fullstacked_modules/@fullstacked/ui/components/loader/index.ts +0 -14
- package/fullstacked_modules/@fullstacked/ui/components/loader/loader.scss +0 -25
- package/fullstacked_modules/@fullstacked/ui/components/message/index.ts +0 -26
- package/fullstacked_modules/@fullstacked/ui/components/message/message.scss +0 -20
- package/fullstacked_modules/@fullstacked/ui/components/popover/index.ts +0 -114
- package/fullstacked_modules/@fullstacked/ui/components/popover/popover.scss +0 -44
- package/fullstacked_modules/@fullstacked/ui/globals.scss +0 -66
- package/fullstacked_modules/@fullstacked/ui/icons/Archive.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow 2.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow Corner.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Caret.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Check.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Clipboard.svg +0 -12
- package/fullstacked_modules/@fullstacked/ui/icons/Clock.svg +0 -12
- package/fullstacked_modules/@fullstacked/ui/icons/Close.svg +0 -10
- package/fullstacked_modules/@fullstacked/ui/icons/Copy.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Directory Add.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Edit.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Export.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/External Link.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/File Add.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/File.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Git Branch.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Git.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Glitter.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Info.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Link.svg +0 -10
- package/fullstacked_modules/@fullstacked/ui/icons/Loader.svg +0 -4
- package/fullstacked_modules/@fullstacked/ui/icons/Lock.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Options.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Package.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Peers.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Play.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Plus.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Revert.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Settings.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Side Panel.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Terminal.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Trash.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/TypeScript.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Upload.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/User.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Warning.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/inputs/checkbox/index.ts +0 -28
- package/fullstacked_modules/@fullstacked/ui/inputs/file/index.ts +0 -48
- package/fullstacked_modules/@fullstacked/ui/inputs/inputs.scss +0 -224
- package/fullstacked_modules/@fullstacked/ui/inputs/observer.ts +0 -36
- package/fullstacked_modules/@fullstacked/ui/inputs/predictive/index.ts +0 -195
- package/fullstacked_modules/@fullstacked/ui/inputs/radio/index.ts +0 -28
- package/fullstacked_modules/@fullstacked/ui/inputs/select/index.ts +0 -125
- package/fullstacked_modules/@fullstacked/ui/inputs/switch/index.ts +0 -37
- package/fullstacked_modules/@fullstacked/ui/inputs/text/index.ts +0 -53
- package/fullstacked_modules/@fullstacked/ui/package.json +0 -8
- package/fullstacked_modules/@fullstacked/ui/primitives/badge/badge.scss +0 -35
- package/fullstacked_modules/@fullstacked/ui/primitives/badge/index.ts +0 -23
- package/fullstacked_modules/@fullstacked/ui/primitives/button/button.scss +0 -97
- package/fullstacked_modules/@fullstacked/ui/primitives/button/index.ts +0 -41
- package/fullstacked_modules/@fullstacked/ui/primitives/icon/icon.scss +0 -13
- package/fullstacked_modules/@fullstacked/ui/primitives/icon/index.ts +0 -30
- package/fullstacked_modules/@fullstacked/ui/ui.scss +0 -15
- package/fullstacked_modules/@fullstacked/ui/ui.ts +0 -18
- package/fullstacked_modules/@fullstacked/ui/values/breakpoints.scss +0 -7
- package/fullstacked_modules/@fullstacked/ui/values/colors.scss +0 -26
- package/fullstacked_modules/@fullstacked/ui/values/spacing.scss +0 -10
- package/fullstacked_modules/@fullstacked/ui/values/typography.scss +0 -23
- package/fullstacked_modules/esbuild/index.d.ts +0 -0
- package/fullstacked_modules/esbuild/index.ts +0 -3
- package/fullstacked_modules/esbuild/sass.ts +0 -100
- package/fullstacked_modules/sass/index.d.ts +0 -0
- /package/fullstacked_modules/{@fullstacked → build}/index.d.ts +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import git from "../git";
|
|
2
|
+
import { Button } from "@fullstacked/ui";
|
|
3
|
+
import { SnackBar } from "../components/snackbar";
|
|
4
|
+
import packages from "../packages";
|
|
5
|
+
import build from "../build";
|
|
6
|
+
|
|
7
|
+
let lastUpdateCheck = 0;
|
|
8
|
+
const updateCheckDelay = 1000 * 10; // 10sec;
|
|
9
|
+
let updating = false;
|
|
10
|
+
let disabled = false;
|
|
11
|
+
|
|
12
|
+
export function disableAutoUpdate() {
|
|
13
|
+
disabled = true;
|
|
14
|
+
}
|
|
15
|
+
export function enableAutoUpdate() {
|
|
16
|
+
disabled = false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async function checkForUpdates() {
|
|
20
|
+
window.requestAnimationFrame(checkForUpdates);
|
|
21
|
+
|
|
22
|
+
const now = Date.now();
|
|
23
|
+
if (disabled || now - lastUpdateCheck < updateCheckDelay || updating) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
lastUpdateCheck = now;
|
|
28
|
+
|
|
29
|
+
if ((await git.pull()) !== git.PullResponse.DID_PULL) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let preventReload = false;
|
|
34
|
+
const preventReloadButton = Button({
|
|
35
|
+
text: "Stop"
|
|
36
|
+
});
|
|
37
|
+
preventReloadButton.onclick = () => {
|
|
38
|
+
preventReload = true;
|
|
39
|
+
snackbar.dismiss();
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const snackbar = SnackBar({
|
|
43
|
+
message: "Project has updated. Rebuilding...",
|
|
44
|
+
button: preventReloadButton
|
|
45
|
+
});
|
|
46
|
+
console.log("ICICI2");
|
|
47
|
+
|
|
48
|
+
updating = true;
|
|
49
|
+
update().then(() => {
|
|
50
|
+
updating = false;
|
|
51
|
+
snackbar.dismiss();
|
|
52
|
+
|
|
53
|
+
if (preventReload) return;
|
|
54
|
+
window.location.reload();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
if (await git.hasGit()) {
|
|
58
|
+
checkForUpdates();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function update() {
|
|
62
|
+
console.log("ICICI1");
|
|
63
|
+
await packages.installQuick();
|
|
64
|
+
console.log("ICICI");
|
|
65
|
+
return build.buildProject();
|
|
66
|
+
}
|
|
@@ -8,14 +8,7 @@ import { BridgeElectron } from "./platform/electron";
|
|
|
8
8
|
import { BridgeNode, initCallbackNode } from "./platform/node";
|
|
9
9
|
import { BridgeWasm } from "./platform/wasm";
|
|
10
10
|
import { BridgeWindows, initRespondWindows } from "./platform/windows";
|
|
11
|
-
import git from "../git";
|
|
12
|
-
import esbuild from "../esbuild";
|
|
13
|
-
import { SnackBar } from "../components/snackbar";
|
|
14
|
-
import { Button } from "@fullstacked/ui";
|
|
15
11
|
import { serializeArgs } from "./serialization";
|
|
16
|
-
import { buildSASS } from "../esbuild/sass";
|
|
17
|
-
import fs from "../fs";
|
|
18
|
-
import packages from "../packages";
|
|
19
12
|
|
|
20
13
|
export type Bridge = (
|
|
21
14
|
payload: Uint8Array,
|
|
@@ -60,56 +53,6 @@ switch (platform) {
|
|
|
60
53
|
console.log("FullStacked");
|
|
61
54
|
bridge(new Uint8Array([0]));
|
|
62
55
|
|
|
63
|
-
let lastUpdateCheck = 0;
|
|
64
|
-
const updateCheckDelay = 1000 * 10; // 10sec;
|
|
65
|
-
let updating = false;
|
|
66
|
-
async function checkForUpdates() {
|
|
67
|
-
window.requestAnimationFrame(checkForUpdates);
|
|
68
|
-
|
|
69
|
-
const now = Date.now();
|
|
70
|
-
if (now - lastUpdateCheck < updateCheckDelay || updating) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
lastUpdateCheck = now;
|
|
75
|
-
|
|
76
|
-
if ((await git.pull()) !== git.PullResponse.DID_PULL) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
let preventReload = false;
|
|
81
|
-
const preventReloadButton = Button({
|
|
82
|
-
text: "Stop"
|
|
83
|
-
});
|
|
84
|
-
preventReloadButton.onclick = () => {
|
|
85
|
-
preventReload = true;
|
|
86
|
-
snackbar.dismiss();
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const snackbar = SnackBar({
|
|
90
|
-
message: "Project has updated. Rebuilding...",
|
|
91
|
-
button: preventReloadButton
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
updating = true;
|
|
95
|
-
update().then(() => {
|
|
96
|
-
updating = false;
|
|
97
|
-
snackbar.dismiss();
|
|
98
|
-
|
|
99
|
-
if (preventReload) return;
|
|
100
|
-
window.location.reload();
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
if (await git.hasGit()) {
|
|
104
|
-
checkForUpdates();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
async function update() {
|
|
108
|
-
await packages.installQuick();
|
|
109
|
-
await buildSASS(fs);
|
|
110
|
-
return esbuild.build();
|
|
111
|
-
}
|
|
112
|
-
|
|
113
56
|
// 40
|
|
114
57
|
function setTitle(title: string) {
|
|
115
58
|
const payload = new Uint8Array([40, ...serializeArgs([title])]);
|
|
@@ -125,3 +68,5 @@ setInterval(() => {
|
|
|
125
68
|
}
|
|
126
69
|
lastTitleSeen = document.title;
|
|
127
70
|
}, 500);
|
|
71
|
+
|
|
72
|
+
import("../auto_update");
|
|
@@ -1,47 +1,48 @@
|
|
|
1
1
|
import { Project } from "../../editor/types";
|
|
2
|
-
import { toByteArray } from "../base64";
|
|
3
2
|
import { bridge } from "../bridge";
|
|
4
3
|
import {
|
|
5
|
-
deserializeArgs,
|
|
6
4
|
getLowestKeyIdAvailable,
|
|
7
5
|
serializeArgs
|
|
8
6
|
} from "../bridge/serialization";
|
|
9
7
|
import type { Message } from "esbuild";
|
|
10
8
|
import core_message from "../core_message";
|
|
9
|
+
import { buildSASS } from "./sass";
|
|
10
|
+
import fs from "../fs";
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
core_message.addListener("build-style", async (messageStr) => {
|
|
13
|
+
console.log(messageStr)
|
|
14
|
+
const { id, entryPoint, projectId } = JSON.parse(messageStr);
|
|
15
|
+
const result = await buildSASS(entryPoint, {
|
|
16
|
+
canonicalize: (filePath) => new URL(filePath, "file://"),
|
|
17
|
+
load: (url) => fs.readFile(projectId + url.pathname, { encoding: "utf8" })
|
|
18
|
+
})
|
|
19
|
+
bridge(new Uint8Array([58, ...serializeArgs([id, JSON.stringify(result)])]))
|
|
20
|
+
});
|
|
17
21
|
|
|
18
|
-
let addedListener = false;
|
|
19
22
|
const activeBuilds = new Map<
|
|
20
23
|
number,
|
|
21
24
|
{ project: Project; resolve: (buildErrors: Message[]) => void }
|
|
22
25
|
>();
|
|
23
26
|
|
|
24
27
|
function buildResponse(buildResult: string) {
|
|
25
|
-
const
|
|
26
|
-
const [id, errorsStr] = deserializeArgs(responseData);
|
|
28
|
+
const { id, errors } = JSON.parse(buildResult);
|
|
27
29
|
const activeBuild = activeBuilds.get(id);
|
|
28
30
|
|
|
29
|
-
if (!
|
|
31
|
+
if (!errors) {
|
|
30
32
|
activeBuild.resolve([]);
|
|
31
33
|
} else {
|
|
32
|
-
const
|
|
33
|
-
const messages = errors?.map(uncapitalizeKeys).map((error) => ({
|
|
34
|
+
const messages = errors.map(uncapitalizeKeys).map((error) => ({
|
|
34
35
|
...error,
|
|
35
36
|
location: error.location
|
|
36
37
|
? {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
...error.location,
|
|
39
|
+
file: error.location.file.includes(activeBuild.project.id)
|
|
40
|
+
? activeBuild.project.id +
|
|
41
|
+
error.location.file
|
|
42
|
+
.split(activeBuild.project.id)
|
|
43
|
+
.pop()
|
|
44
|
+
: error.location.file
|
|
45
|
+
}
|
|
45
46
|
: null
|
|
46
47
|
}));
|
|
47
48
|
activeBuild.resolve(messages);
|
|
@@ -49,21 +50,23 @@ function buildResponse(buildResult: string) {
|
|
|
49
50
|
|
|
50
51
|
activeBuilds.delete(id);
|
|
51
52
|
}
|
|
53
|
+
core_message.addListener("build", buildResponse);
|
|
52
54
|
|
|
53
|
-
//
|
|
54
|
-
export function
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
55
|
+
// 55
|
|
56
|
+
export function esbuildVersion(): Promise<string> {
|
|
57
|
+
const payload = new Uint8Array([55]);
|
|
58
|
+
return bridge(payload, ([str]) => str);
|
|
59
|
+
}
|
|
59
60
|
|
|
61
|
+
// 56
|
|
62
|
+
export function buildProject(project?: Project): Promise<Message[]> {
|
|
60
63
|
const args: any[] = project ? [project.id] : [];
|
|
61
64
|
|
|
62
65
|
const buildId = getLowestKeyIdAvailable(activeBuilds);
|
|
63
66
|
args.push(buildId);
|
|
64
67
|
|
|
65
68
|
const payload = new Uint8Array([56, ...serializeArgs(args)]);
|
|
66
|
-
|
|
69
|
+
|
|
67
70
|
return new Promise((resolve) => {
|
|
68
71
|
activeBuilds.set(buildId, {
|
|
69
72
|
project,
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as sass from "sass";
|
|
2
|
+
|
|
3
|
+
export async function buildSASS(
|
|
4
|
+
entryPoint: string,
|
|
5
|
+
opts: {
|
|
6
|
+
canonicalize: (filePath: string) => URL | Promise<URL>;
|
|
7
|
+
load: (url: URL) => string | Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
) {
|
|
10
|
+
try {
|
|
11
|
+
const { css } = await sass.compileStringAsync(await opts.load(await opts.canonicalize(entryPoint)), {
|
|
12
|
+
syntax: entryPoint.endsWith(".sass")
|
|
13
|
+
? "indented"
|
|
14
|
+
: entryPoint.endsWith(".scss")
|
|
15
|
+
? "scss"
|
|
16
|
+
: "css",
|
|
17
|
+
importer: {
|
|
18
|
+
load: async (url) => ({
|
|
19
|
+
syntax: url.pathname.endsWith(".sass")
|
|
20
|
+
? "indented"
|
|
21
|
+
: url.pathname.endsWith(".scss")
|
|
22
|
+
? "scss"
|
|
23
|
+
: "css",
|
|
24
|
+
contents: await opts.load(url)
|
|
25
|
+
}),
|
|
26
|
+
canonicalize: opts.canonicalize
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
css,
|
|
31
|
+
errors: []
|
|
32
|
+
};
|
|
33
|
+
} catch (e) {
|
|
34
|
+
console.log(e);
|
|
35
|
+
const File = e.span.url?.pathname;
|
|
36
|
+
const Line = e.span.start.line + 1;
|
|
37
|
+
const Column = e.span.start.column;
|
|
38
|
+
const Length = e.span.text.length;
|
|
39
|
+
return {
|
|
40
|
+
css: "",
|
|
41
|
+
errors: [
|
|
42
|
+
{
|
|
43
|
+
Location: {
|
|
44
|
+
File,
|
|
45
|
+
Line,
|
|
46
|
+
Column,
|
|
47
|
+
Length,
|
|
48
|
+
Namespace: "SASS"
|
|
49
|
+
},
|
|
50
|
+
Text: e.message
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
This file must follow the figma defined spacing components
|
|
3
|
+
https://www.figma.com/design/xb3JBRCvEWpbwGda03T5QQ/Mockups?node-id=6-49
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
This file must follow the figma local color styles
|
|
7
|
+
https://www.figma.com/design/xb3JBRCvEWpbwGda03T5QQ/Mockups
|
|
8
|
+
*/
|
|
9
|
+
/*
|
|
10
|
+
This file must follow the figma local text styles
|
|
11
|
+
https://www.figma.com/design/xb3JBRCvEWpbwGda03T5QQ/Mockups
|
|
12
|
+
*/
|
|
13
|
+
.snack-bars-container {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
gap: 10px;
|
|
17
|
+
position: fixed;
|
|
18
|
+
bottom: 0;
|
|
19
|
+
left: 0;
|
|
20
|
+
z-index: 100;
|
|
21
|
+
padding: 0 20px 20px;
|
|
22
|
+
align-items: flex-start;
|
|
23
|
+
width: 100%;
|
|
24
|
+
pointer-events: none;
|
|
25
|
+
text-align: left;
|
|
26
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
|
|
27
|
+
font-size: 16px;
|
|
28
|
+
max-width: 450px;
|
|
29
|
+
}
|
|
30
|
+
@media (max-width: 450px) {
|
|
31
|
+
.snack-bars-container {
|
|
32
|
+
align-items: center;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
.snack-bars-container .snack-bar {
|
|
36
|
+
pointer-events: all;
|
|
37
|
+
background-color: #404958;
|
|
38
|
+
border-radius: 5px;
|
|
39
|
+
color: #ffffff;
|
|
40
|
+
min-height: 42px;
|
|
41
|
+
max-width: 100%;
|
|
42
|
+
width: max-content;
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
gap: 10px;
|
|
47
|
+
padding: 5px 10px;
|
|
48
|
+
box-shadow: 0px 4px 10px rgba(21, 23, 27, 0.6);
|
|
49
|
+
}
|
|
50
|
+
.snack-bars-container .snack-bar > div:first-child {
|
|
51
|
+
padding: 5px 0;
|
|
52
|
+
width: 100%;
|
|
53
|
+
overflow-wrap: break-word;
|
|
54
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
@use "../../node_modules/@fullstacked/ui/values/spacing.scss";
|
|
2
|
+
@use "../../node_modules/@fullstacked/ui/values/colors.scss";
|
|
3
|
+
@use "../../node_modules/@fullstacked/ui/values/typography.scss";
|
|
4
|
+
|
|
5
|
+
.snack-bars-container {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: spacing.$small;
|
|
9
|
+
position: fixed;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
left: 0;
|
|
12
|
+
z-index: 100;
|
|
13
|
+
padding: 0 spacing.$medium spacing.$medium;
|
|
14
|
+
align-items: flex-start;
|
|
15
|
+
width: 100%;
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
text-align: left;
|
|
18
|
+
font-family: typography.$fonts;
|
|
19
|
+
font-size: typography.$medium;
|
|
20
|
+
|
|
21
|
+
max-width: 450px;
|
|
22
|
+
@media (max-width: 450px) {
|
|
23
|
+
align-items: center;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.snack-bar {
|
|
27
|
+
pointer-events: all;
|
|
28
|
+
|
|
29
|
+
background-color: colors.$gray-dark;
|
|
30
|
+
border-radius: spacing.$x-small;
|
|
31
|
+
color: colors.$light;
|
|
32
|
+
|
|
33
|
+
min-height: 42px;
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
width: max-content;
|
|
36
|
+
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: space-between;
|
|
40
|
+
gap: spacing.$small;
|
|
41
|
+
|
|
42
|
+
padding: spacing.$x-small spacing.$small;
|
|
43
|
+
|
|
44
|
+
box-shadow: 0px 4px 10px colors.opacity(colors.$dark, 60);
|
|
45
|
+
|
|
46
|
+
> div:first-child {
|
|
47
|
+
padding: spacing.$x-small 0;
|
|
48
|
+
width: 100%;
|
|
49
|
+
overflow-wrap: break-word;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|