Merge pull request 'Workspaces refactor' (#86) from refactor/workspaces into main
ci/woodpecker/push/build Pipeline was successful Details
ci/woodpecker/push/lint-backend Pipeline was successful Details
ci/woodpecker/push/lint-client Pipeline was successful Details
ci/woodpecker/push/lint-foundkey-js Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details

Reviewed-on: #86
This commit is contained in:
Norm 2022-08-28 14:46:45 +00:00
commit 10caf861e8
156 changed files with 25966 additions and 17224 deletions

11
.gitignore vendored
View File

@ -48,3 +48,14 @@ ormconfig.json
*.blend3
*.blend4
*.blend5
# Yarn
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
packages/client/.yarn/*
packages/backend/.yarn/*
packages/sw/.yarn/*

2
.npmrc
View File

@ -1,2 +0,0 @@
save-exact = true
package-lock = false

View File

@ -6,17 +6,11 @@ clone:
recursive: true
pipeline:
install:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn install
build:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn install
- yarn build

View File

@ -6,17 +6,11 @@ clone:
recursive: true
pipeline:
install:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn install
lint:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn --cwd ./packages/backend lint
- yarn install
- yarn workspace backend run lint

View File

@ -6,17 +6,11 @@ clone:
recursive: true
pipeline:
install:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn install
lint:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn --cwd ./packages/client lint
- yarn install
- yarn workspace client run lint

View File

@ -0,0 +1,16 @@
clone:
git:
image: woodpeckerci/plugin-git
settings:
depth: 1 # CI does not need commit history
recursive: true
pipeline:
lint:
when:
event:
- pull_request
image: node:18.6.0
commands:
- yarn install
- yarn workspace foundkey-js run lint

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

783
.yarn/releases/yarn-3.2.3.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
network-timeout 600000

11
.yarnrc.yml Normal file
View File

@ -0,0 +1,11 @@
httpTimeout: 600000
nodeLinker: node-modules
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.2.3.cjs

View File

@ -16,11 +16,11 @@ gulp.task('copy:backend:views', () =>
);
gulp.task('copy:client:fonts', () =>
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
);
gulp.task('copy:client:fontawesome', () =>
gulp.src('./packages/client/node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/'))
gulp.src('./node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/'))
);
gulp.task('copy:client:locales', cb => {

View File

@ -6,27 +6,29 @@
"url": "https://akkoma.dev/FoundKeyGang/FoundKey.git"
},
"private": true,
"workspaces": [
"packages/*"
],
"scripts": {
"postinstall": "node ./scripts/install-packages.js",
"build": "node ./scripts/build.js",
"start": "cd packages/backend && node --experimental-json-modules ./built/index.js",
"start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js",
"init": "npm run migrate",
"migrate": "cd packages/backend && npx typeorm migration:run -d ormconfig.js",
"migrateandstart": "npm run migrate && npm run start",
"build": "yarn workspaces foreach --topological run build",
"start": "yarn workspace backend run start",
"start:test": "yarn workspace backend run start:test",
"init": "yarn migrate",
"migrate": "yarn workspace backend run migrate",
"migrateandstart": "yarn migrate && yarn start",
"gulp": "gulp build",
"watch": "npm run dev",
"watch": "yarn dev",
"dev": "node ./scripts/dev.js",
"lint": "node ./scripts/lint.js",
"lint": "yarn workspaces foreach run lint",
"cy:open": "cypress open --browser --e2e --config-file=cypress.config.ts",
"cy:run": "cypress run",
"e2e": "start-server-and-test start:test http://localhost:61812 cy:run",
"mocha": "cd packages/backend && cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" npx mocha",
"test": "npm run mocha",
"mocha": "yarn workspace backend run mocha",
"test": "yarn mocha",
"format": "gulp format",
"clean": "node ./scripts/clean.js",
"clean-all": "node ./scripts/clean-all.js",
"cleanall": "npm run clean-all"
"cleanall": "yarn clean-all"
},
"dependencies": {
"execa": "5.1.1",
@ -45,5 +47,6 @@
"cypress": "10.3.0",
"start-server-and-test": "1.14.0",
"typescript": "4.7.4"
}
},
"packageManager": "yarn@3.2.3"
}

View File

@ -1,4 +1,4 @@
node_modules
/built
/.eslintrc.js
/.eslintrc.cjs
/@types/**/*

View File

@ -1,2 +0,0 @@
save-exact = true
package-lock = false

View File

@ -1 +0,0 @@
network-timeout 600000

View File

@ -1,4 +1,6 @@
{
"name": "backend",
"version": "13.0.0-preview1",
"main": "./index.js",
"private": true,
"type": "module",
@ -7,6 +9,9 @@
"watch": "node watch.mjs",
"lint": "eslint src --ext .ts",
"mocha": "cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha",
"migrate": "npx typeorm migration:run -d ormconfig.js",
"start": "node --experimental-json-modules ./built/index.js",
"start:test": "cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js",
"test": "npm run mocha"
},
"resolutions": {
@ -14,13 +19,14 @@
"lodash": "^4.17.21"
},
"dependencies": {
"@bull-board/api": "^4.2.2",
"@bull-board/koa": "4.0.0",
"@discordapp/twemoji": "14.0.2",
"@elastic/elasticsearch": "7.11.0",
"@koa/cors": "3.1.0",
"@koa/multer": "3.0.0",
"@koa/router": "9.0.1",
"@peertube/http-signature": "1.6.0",
"@peertube/http-signature": "1.7.0",
"@sinonjs/fake-timers": "9.1.2",
"@syuilo/aiscript": "0.11.1",
"abort-controller": "3.0.0",
@ -45,6 +51,7 @@
"feed": "4.2.2",
"file-type": "17.1.2",
"fluent-ffmpeg": "2.1.2",
"foundkey-js": "workspace:*",
"got": "12.1.0",
"hpagent": "0.1.2",
"ioredis": "4.28.5",
@ -67,7 +74,6 @@
"koa-views": "7.0.2",
"mfm-js": "0.22.1",
"mime-types": "2.1.35",
"misskey-js": "0.0.14",
"mocha": "10.0.0",
"multer": "1.4.5-lts.1",
"nested-property": "4.0.0",
@ -145,7 +151,7 @@
"@types/node": "18.0.0",
"@types/node-fetch": "3.0.3",
"@types/nodemailer": "6.4.4",
"@types/oauth": "0.9.1",
"@types/oauth": "^0.9.1",
"@types/pug": "2.0.6",
"@types/punycode": "2.1.0",
"@types/qrcode": "1.4.2",
@ -164,12 +170,13 @@
"@types/web-push": "3.3.2",
"@types/websocket": "1.0.5",
"@types/ws": "8.5.3",
"@typescript-eslint/eslint-plugin": "^5.30.0",
"@typescript-eslint/eslint-plugin": "^5.35.1",
"@typescript-eslint/parser": "^5.30.0",
"cross-env": "7.0.3",
"eslint": "^8.20.0",
"eslint-plugin-import": "^2.26.0",
"execa": "6.1.0",
"form-data": "^4.0.0",
"typescript": "^4.7.4"
}
}

View File

@ -1,8 +1,8 @@
import { URL } from 'node:url';
import * as parse5 from 'parse5';
import * as TreeAdapter from '../../node_modules/parse5/dist/tree-adapters/default.js';
import * as TreeAdapter from 'parse5/dist/tree-adapters/default';
const treeAdapter = TreeAdapter.defaultTreeAdapter;
const treeAdapter = parse5.defaultTreeAdapter;
const urlRegex = /^https?:\/\/[\w\/:%#@$&?!()\[\]~.,=+\-]+/;
const urlRegexFull = /^https?:\/\/[\w\/:%#@$&?!()\[\]~.,=+\-]+$/;
@ -26,7 +26,7 @@ export function fromHtml(html: string, hashtagNames?: string[]): string {
if (!treeAdapter.isElementNode(node)) return '';
if (node.nodeName === 'br') return '\n';
if (node.childNodes) {
if (node.childNodes.length > 0) {
return node.childNodes.map(n => getText(n)).join('');
}
@ -34,14 +34,14 @@ export function fromHtml(html: string, hashtagNames?: string[]): string {
}
function appendChildren(childNodes: TreeAdapter.ChildNode[]): void {
if (childNodes) {
if (childNodes.length > 0) {
for (const n of childNodes) {
analyze(n);
}
}
}
function analyze(node: TreeAdapter.Node) {
function analyze(node: TreeAdapter.Node): void {
if (treeAdapter.isTextNode(node)) {
text += node.value;
return;

View File

@ -136,7 +136,7 @@ router.get('/twemoji/(.*)', async ctx => {
ctx.set('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\'');
await send(ctx as any, path, {
root: `${_dirname}/../../../node_modules/@discordapp/twemoji/dist/svg/`,
root: `${_dirname}/../../../../../node_modules/@discordapp/twemoji/dist/svg/`,
maxage: 30 * DAY,
});
});
@ -150,7 +150,7 @@ router.get('/twemoji-badge/(.*)', async ctx => {
}
const mask = await sharp(
`${_dirname}/../../../node_modules/@discordapp/twemoji/dist/svg/${path.replace('.png', '')}.svg`,
`${_dirname}/../../../../../node_modules/@discordapp/twemoji/dist/svg/${path.replace('.png', '')}.svg`,
{ density: 1000 },
)
.resize(488, 488)

View File

@ -1,5 +1,5 @@
import * as assert from 'assert';
import httpSignature from 'http-signature';
import httpSignature from '@peertube/http-signature';
import { genRsaKeyPair } from '../src/misc/gen-key-pair.js';
import { createSignedPost, createSignedGet } from '../src/remote/activitypub/ap-request.js';

View File

@ -6,7 +6,7 @@ import * as childProcess from 'child_process';
import * as http from 'node:http';
import { SIGKILL } from 'constants';
import WebSocket from 'ws';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import fetch from 'node-fetch';
import FormData from 'form-data';
import { DataSource } from 'typeorm';

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
save-exact = true
package-lock = false

View File

@ -1 +0,0 @@
network-timeout 600000

View File

@ -1,4 +1,6 @@
{
"name": "client",
"version": "13.0.0-preview1",
"private": true,
"scripts": {
"watch": "vite build --watch --mode development",
@ -14,6 +16,7 @@
"@fortawesome/fontawesome-free": "6.1.1",
"@rollup/plugin-alias": "3.1.9",
"@rollup/plugin-json": "4.1.0",
"@rollup/pluginutils": "^4.2.1",
"@syuilo/aiscript": "0.11.1",
"@vitejs/plugin-vue": "^3.0.0",
"@vue/compiler-sfc": "3.2.37",
@ -35,13 +38,13 @@
"escape-regexp": "0.0.1",
"eventemitter3": "4.0.7",
"feed": "4.2.2",
"foundkey-js": "workspace:*",
"idb-keyval": "6.2.0",
"insert-text-at-cursor": "0.3.0",
"json5": "2.2.1",
"katex": "0.15.6",
"katex": "0.16.0",
"matter-js": "0.18.0",
"mfm-js": "0.22.1",
"misskey-js": "0.0.14",
"mocha": "10.0.0",
"ms": "2.1.3",
"nested-property": "4.0.0",
@ -97,7 +100,7 @@
"@types/uuid": "8.3.4",
"@types/websocket": "1.0.5",
"@types/ws": "8.5.3",
"@typescript-eslint/eslint-plugin": "^5.30.0",
"@typescript-eslint/eslint-plugin": "^5.35.1",
"@typescript-eslint/parser": "^5.30.0",
"cross-env": "7.0.3",
"cypress": "10.3.0",

View File

@ -1,5 +1,5 @@
import { defineAsyncComponent, reactive } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { showSuspendedDialog } from './scripts/show-suspended-dialog';
import { i18n } from './i18n';
import { del, get, set } from '@/scripts/idb-proxy';

View File

@ -27,7 +27,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XNoteHeader from './note-header.vue';
import MkNoteSubNoteContent from './sub-note-content.vue';
import XCwButton from './cw-button.vue';

View File

@ -24,7 +24,7 @@
<script setup lang="ts">
import { ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import XWindow from '@/components/ui/window.vue';
import MkTextarea from '@/components/form/textarea.vue';
import MkButton from '@/components/ui/button.vue';

View File

@ -27,7 +27,7 @@
<script lang="ts" setup>
import { onMounted } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import Cropper from 'cropperjs';
import tinycolor from 'tinycolor2';
import XModalWindow from '@/components/ui/modal-window.vue';

View File

@ -8,7 +8,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { length } from 'stringz';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { concat } from '@/scripts/array';
import { i18n } from '@/i18n';

View File

@ -16,7 +16,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import ImgWithBlurhash from '@/components/img-with-blurhash.vue';
const props = defineProps<{

View File

@ -20,7 +20,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import XDrive from './drive.vue';
import XModalWindow from '@/components/ui/modal-window.vue';
import number from '@/filters/number';

View File

@ -14,7 +14,7 @@
</template>
<script lang="ts" setup>
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import XDrive from './drive.vue';
import XWindow from '@/components/ui/window.vue';
import { i18n } from '@/i18n';

View File

@ -33,7 +33,7 @@
<script lang="ts" setup>
import { computed, defineAsyncComponent, ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import MkDriveFileThumbnail from './drive-file-thumbnail.vue';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import bytes from '@/filters/bytes';

View File

@ -29,7 +29,7 @@
<script lang="ts" setup>
import { computed, defineAsyncComponent, ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import * as os from '@/os';
import { i18n } from '@/i18n';
import { defaultStore } from '@/store';

View File

@ -15,7 +15,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import * as os from '@/os';
import { i18n } from '@/i18n';

View File

@ -89,7 +89,7 @@
<script lang="ts" setup>
import { nextTick, onActivated, onBeforeUnmount, onMounted, ref, watch } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import XNavFolder from './drive.nav-folder.vue';
import XFolder from './drive.folder.vue';
import XFile from './drive.file.vue';

View File

@ -79,7 +79,7 @@
<script lang="ts" setup>
import { ref, computed, watch, onMounted } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import XSection from './emoji-picker.section.vue';
import { emojilist, UnicodeEmojiDef, unicodeEmojiCategories as categories } from '@/scripts/emojilist';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';

View File

@ -4,7 +4,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import * as os from '@/os';
const meta = ref<Misskey.entities.DetailedInstanceMetadata>();

View File

@ -31,7 +31,7 @@
</template>
<script lang="ts" setup>
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import MkPagination from '@/components/ui/pagination.vue';
import MkDriveFileThumbnail from '@/components/drive-file-thumbnail.vue';
import bytes from '@/filters/bytes';

View File

@ -31,7 +31,7 @@
<script lang="ts" setup>
import { onBeforeUnmount, onMounted } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import * as os from '@/os';
import { stream } from '@/stream';
import { i18n } from '@/i18n';

View File

@ -19,5 +19,5 @@ const compiledFormula = computed(() => katex.renderToString(props.formula, {
</script>
<style>
@import "../../node_modules/katex/dist/katex.min.css";
@import "katex/dist/katex.min.css";
</style>

View File

@ -6,7 +6,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { toUnicode } from 'punycode/';
import { host as hostRaw } from '@/config';
import { defaultStore } from '@/store';

View File

@ -11,7 +11,7 @@
<script lang="ts" setup>
import { watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import { extractAvgColorFromBlurhash } from '@/scripts/extract-avg-color-from-blurhash';
import { acct, userPage } from '@/filters/user';

View File

@ -7,7 +7,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { CustomEmoji } from 'misskey-js/built/entities';
import { CustomEmoji } from 'foundkey-js/built/entities';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import { char2filePath } from '@/scripts/twemoji-base';
import { defaultStore } from '@/store';

View File

@ -3,7 +3,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
withDefaults(defineProps<{
user: misskey.entities.User;

View File

@ -10,7 +10,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkMiniChart from '@/components/mini-chart.vue';
import * as os from '@/os';

View File

@ -30,7 +30,7 @@
<script lang="ts" setup>
import { onMounted } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { ColdDeviceStorage } from '@/store';
import { i18n } from '@/i18n';

View File

@ -30,7 +30,7 @@
<script lang="ts" setup>
import { onBeforeUnmount, onMounted, computed } from 'vue';
import { length } from 'stringz';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkModal from '@/components/ui/modal.vue';
import MkButton from '@/components/ui/button.vue';
import bytes from '@/filters/bytes';

View File

@ -22,7 +22,7 @@
<script lang="ts" setup>
import { watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { getStaticImageUrl } from '@/scripts/get-static-image-url';
import ImgWithBlurhash from '@/components/img-with-blurhash.vue';
import { defaultStore } from '@/store';

View File

@ -14,7 +14,7 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import PhotoSwipeLightbox from 'photoswipe/lightbox';
import PhotoSwipe from 'photoswipe';
import 'photoswipe/style.css';

View File

@ -25,7 +25,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { defaultStore } from '@/store';
import { i18n } from '@/i18n';

View File

@ -115,7 +115,7 @@
<script lang="ts" setup>
import { inject, onMounted, ref } from 'vue';
import * as mfm from 'mfm-js';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkNoteSub from './MkNoteSub.vue';
import XNoteSimple from './note-simple.vue';
import XReactionsViewer from './reactions-viewer.vue';

View File

@ -15,7 +15,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkVisibility from '@/components/visibility.vue';
import { notePage } from '@/filters/note';
import { userPage } from '@/filters/user';

View File

@ -17,7 +17,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XNoteHeader from './note-header.vue';
import MkNoteSubNoteContent from './sub-note-content.vue';
import XCwButton from './cw-button.vue';

View File

@ -103,7 +103,7 @@
<script lang="ts" setup>
import { inject, onMounted, ref, Ref } from 'vue';
import * as mfm from 'mfm-js';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkNoteSub from './MkNoteSub.vue';
import XNoteHeader from './note-header.vue';
import XNoteSimple from './note-simple.vue';

View File

@ -28,7 +28,7 @@
</template>
<script lang="ts" setup>
import { notificationTypes } from 'misskey-js';
import { notificationTypes } from 'foundkey-js';
import MkSwitch from './form/switch.vue';
import MkInfo from './ui/info.vue';
import MkButton from './ui/button.vue';

View File

@ -76,7 +76,7 @@
<script lang="ts" setup>
import { ref, onMounted, onUnmounted, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkFollowButton from './follow-button.vue';
import XReactionTooltip from './reaction-tooltip.vue';
import { getNoteSummary } from '@/scripts/get-note-summary';

View File

@ -18,7 +18,7 @@
<script lang="ts" setup>
import { onUnmounted, onMounted, computed, ref } from 'vue';
import { notificationTypes } from 'misskey-js';
import { notificationTypes } from 'foundkey-js';
import MkPagination, { Paging } from '@/components/ui/pagination.vue';
import XNotification from '@/components/notification.vue';
import XList from '@/components/date-separated-list.vue';

View File

@ -23,7 +23,7 @@
<script lang="ts" setup>
import { computed, ref } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { sum } from '@/scripts/array';
import { pleaseLogin } from '@/scripts/please-login';
import * as os from '@/os';

View File

@ -16,7 +16,7 @@
<script lang="ts" setup>
import { defineAsyncComponent, computed } from 'vue';
import { DriveFile } from 'misskey-js/built/entities';
import { DriveFile } from 'foundkey-js/built/entities';
import MkDriveFileThumbnail from './drive-file-thumbnail.vue';
import * as os from '@/os';
import { i18n } from '@/i18n';

View File

@ -63,11 +63,11 @@
<script lang="ts" setup>
import { inject, watch, nextTick, onMounted, defineAsyncComponent } from 'vue';
import * as mfm from 'mfm-js';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import insertTextAtCursor from 'insert-text-at-cursor';
import { length } from 'stringz';
import { toASCII } from 'punycode/';
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import { throttle } from 'throttle-debounce';
import XNoteSimple from './note-simple.vue';
import XNotePreview from './note-preview.vue';

View File

@ -14,7 +14,7 @@
<script lang="ts" setup>
import { computed, onMounted, ref, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XDetails from '@/components/reactions-viewer.details.vue';
import * as os from '@/os';
import { useTooltip } from '@/scripts/use-tooltip';

View File

@ -6,7 +6,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XReaction from './reactions-viewer.reaction.vue';
import { $i } from '@/account';

View File

@ -15,7 +15,7 @@
<script lang="ts" setup>
import { computed, ref } from 'vue';
import { Note } from 'misskey-js/built/entities';
import { Note } from 'foundkey-js/built/entities';
import XDetails from '@/components/users-tooltip.vue';
import { pleaseLogin } from '@/scripts/please-login';
import * as os from '@/os';

View File

@ -24,7 +24,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XPoll from './poll.vue';
import XMediaList from './media-list.vue';
import { i18n } from '@/i18n';

View File

@ -30,7 +30,7 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { permissions } from 'misskey-js';
import { permissions } from 'foundkey-js';
import MkInput from './form/input.vue';
import MkTextarea from './form/textarea.vue';
import MkSwitch from './form/switch.vue';

View File

@ -33,7 +33,7 @@
<script lang="ts" setup>
import { computed, ComputedRef, isRef, onActivated, onDeactivated, ref, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import * as os from '@/os';
import { onScrollTop, isTopVisible, getScrollPosition, getScrollContainer } from '@/scripts/scroll';
import MkButton from '@/components/ui/button.vue';

View File

@ -10,7 +10,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkMiniChart from '@/components/mini-chart.vue';
import * as os from '@/os';
import { acct } from '@/filters/user';

View File

@ -28,7 +28,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkFollowButton from './follow-button.vue';
import { userPage } from '@/filters/user';
import { i18n } from '@/i18n';

View File

@ -3,7 +3,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import { i18n } from '@/i18n';
const props = defineProps<{

View File

@ -33,7 +33,7 @@
<script lang="ts">
import { defineComponent } from 'vue';
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import MkFollowButton from './follow-button.vue';
import { userPage } from '@/filters/user';
import * as os from '@/os';

View File

@ -53,7 +53,7 @@
<script lang="ts" setup>
import { onMounted } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkInput from '@/components/form/input.vue';
import FormSplit from '@/components/form/split.vue';
import XModalWindow from '@/components/ui/modal-window.vue';

View File

@ -44,7 +44,7 @@
<script lang="ts" setup>
import { nextTick, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkModal from '@/components/ui/modal.vue';
import { i18n } from '@/i18n';

View File

@ -1,5 +1,5 @@
import * as misskey from 'misskey-js';
import * as Acct from 'misskey-js/built/acct';
import * as misskey from 'foundkey-js';
import * as Acct from 'foundkey-js/built/acct';
import { url } from '@/config';
export const acct = (user: misskey.Acct) => {

View File

@ -1,5 +1,5 @@
import { computed, reactive } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import { api } from './os';
// TODO: 他のタブと永続化されたstateを同期

View File

@ -3,7 +3,7 @@
import { Component, markRaw, Ref, ref, defineAsyncComponent } from 'vue';
import { EventEmitter } from 'eventemitter3';
import insertTextAtCursor from 'insert-text-at-cursor';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import { apiUrl, url } from '@/config';
import MkPostFormDialog from '@/components/post-form-dialog.vue';
import MkWaitingDialog from '@/components/waiting-dialog.vue';

View File

@ -18,7 +18,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkButton from '@/components/ui/button.vue';
import { version } from '@/config';
import * as os from '@/os';

View File

@ -31,7 +31,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import JSON5 from 'json5';
import { Endpoints } from 'misskey-js';
import { Endpoints } from 'foundkey-js';
import MkButton from '@/components/ui/button.vue';
import MkInput from '@/components/form/input.vue';
import MkTextarea from '@/components/form/textarea.vue';

View File

@ -20,7 +20,7 @@
<script lang="ts" setup>
import { computed, watch, provide } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XNotes from '@/components/notes.vue';
import { $i } from '@/account';
import { i18n } from '@/i18n';

View File

@ -6,7 +6,7 @@
</template>
<script lang="ts" setup>
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import * as os from '@/os';
import { mainRouter } from '@/router';
import { i18n } from '@/i18n';

View File

@ -111,7 +111,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkChart from '@/components/chart.vue';
import MkObjectView from '@/components/object-view.vue';
import FormLink from '@/components/form/link.vue';

View File

@ -44,7 +44,7 @@
<script lang="ts" setup>
import { defineAsyncComponent, defineComponent, inject, markRaw, onMounted, onUnmounted } from 'vue';
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import MkButton from '@/components/ui/button.vue';
import { acct } from '@/filters/user';
import * as os from '@/os';

View File

@ -28,7 +28,7 @@
<script lang="ts" setup>
import { onMounted, watch } from 'vue';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import autosize from 'autosize';
//import insertTextAtCursor from 'insert-text-at-cursor';
import { throttle } from 'throttle-debounce';

View File

@ -37,7 +37,7 @@
<script lang="ts" setup>
import * as mfm from 'mfm-js';
import * as Misskey from 'misskey-js';
import * as Misskey from 'foundkey-js';
import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm';
import MkUrlPreview from '@/components/url-preview.vue';
import * as os from '@/os';

View File

@ -51,8 +51,8 @@
<script lang="ts" setup>
import { computed, watch, onMounted, nextTick, onBeforeUnmount } from 'vue';
import * as Misskey from 'misskey-js';
import * as Acct from 'misskey-js/built/acct';
import * as Misskey from 'foundkey-js';
import * as Acct from 'foundkey-js/built/acct';
import XMessage from './messaging-room.message.vue';
import XForm from './messaging-room.form.vue';
import XList from '@/components/date-separated-list.vue';

View File

@ -46,7 +46,7 @@
<script lang="ts" setup>
import { watch } from 'vue';
import * as Acct from 'misskey-js/built/acct';
import * as Acct from 'foundkey-js/built/acct';
import MkButton from '@/components/ui/button.vue';
import MkInput from '@/components/form/input.vue';
import MkTextarea from '@/components/form/textarea.vue';

View File

@ -42,7 +42,7 @@
<script lang="ts" setup>
import { computed, defineComponent, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XNote from '@/components/note.vue';
import XNoteDetailed from '@/components/note-detailed.vue';
import XNotes from '@/components/notes.vue';

View File

@ -11,7 +11,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { notificationTypes } from 'misskey-js';
import { notificationTypes } from 'foundkey-js';
import XNotifications from '@/components/notifications.vue';
import * as os from '@/os';
import { i18n } from '@/i18n';

View File

@ -11,7 +11,7 @@
<script lang="ts" setup>
import { defineAsyncComponent } from 'vue';
import { notificationTypes } from 'misskey-js';
import { notificationTypes } from 'foundkey-js';
import FormButton from '@/components/ui/button.vue';
import FormLink from '@/components/form/link.vue';
import FormSection from '@/components/form/section.vue';

View File

@ -25,9 +25,9 @@
<script lang="ts" setup>
// SPECIFICATION: https://misskey-hub.net/docs/features/share-form.html
import { noteVisibilities } from 'misskey-js';
import * as Acct from 'misskey-js/built/acct';
import * as Misskey from 'misskey-js';
import { noteVisibilities } from 'foundkey-js';
import * as Acct from 'foundkey-js/built/acct';
import * as Misskey from 'foundkey-js';
import MkButton from '@/components/ui/button.vue';
import XPostForm from '@/components/post-form.vue';
import * as os from '@/os';

View File

@ -102,7 +102,7 @@
<script lang="ts" setup>
import { computed, defineAsyncComponent, defineComponent, watch } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkChart from '@/components/chart.vue';
import MkObjectView from '@/components/object-view.vue';
import FormTextarea from '@/components/form/textarea.vue';

View File

@ -10,7 +10,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkUserInfo from '@/components/user-info.vue';
import MkPagination from '@/components/ui/pagination.vue';

View File

@ -15,8 +15,8 @@
<script lang="ts" setup>
import { defineAsyncComponent, computed, inject, onMounted, onUnmounted, watch } from 'vue';
import * as Acct from 'misskey-js/built/acct';
import * as misskey from 'misskey-js';
import * as Acct from 'foundkey-js/built/acct';
import * as misskey from 'foundkey-js';
import XFollowList from './follow-list.vue';
import * as os from '@/os';
import { definePageMetadata } from '@/scripts/page-metadata';

View File

@ -15,8 +15,8 @@
<script lang="ts" setup>
import { defineAsyncComponent, computed, inject, onMounted, onUnmounted, watch } from 'vue';
import * as Acct from 'misskey-js/built/acct';
import * as misskey from 'misskey-js';
import * as Acct from 'foundkey-js/built/acct';
import * as misskey from 'foundkey-js';
import XFollowList from './follow-list.vue';
import * as os from '@/os';
import { definePageMetadata } from '@/scripts/page-metadata';

View File

@ -10,7 +10,7 @@
<script lang="ts" setup>
import { computed } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkGalleryPostPreview from '@/components/gallery-post-preview.vue';
import MkPagination from '@/components/ui/pagination.vue';

View File

@ -110,7 +110,7 @@
<script lang="ts" setup>
import { defineAsyncComponent, computed, inject, onMounted, onUnmounted, watch } from 'vue';
import calcAge from 's-age';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XUserTimeline from './index.timeline.vue';
import XNote from '@/components/note.vue';
import MkFollowButton from '@/components/follow-button.vue';

View File

@ -14,7 +14,7 @@
</template>
<script lang="ts" setup>
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import MkContainer from '@/components/ui/container.vue';
import MkChart from '@/components/chart.vue';
import * as os from '@/os';

View File

@ -11,7 +11,7 @@
<script lang="ts" setup>
import { ref, computed } from 'vue';
import * as misskey from 'misskey-js';
import * as misskey from 'foundkey-js';
import XNotes from '@/components/notes.vue';
import MkTab from '@/components/tab.vue';
import * as os from '@/os';

View File

@ -20,8 +20,8 @@
<script lang="ts" setup>
import { defineAsyncComponent, computed, inject, onMounted, onUnmounted, watch } from 'vue';
import calcAge from 's-age';
import * as Acct from 'misskey-js/built/acct';
import * as misskey from 'misskey-js';
import * as Acct from 'foundkey-js/built/acct';
import * as misskey from 'foundkey-js';
import { getScrollPosition } from '@/scripts/scroll';
import { getUserMenu } from '@/scripts/get-user-menu';
import number from '@/filters/number';

Some files were not shown because too many files have changed in this diff Show More