Import Instagram archive to a Bluesky account
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update package configuration and module imports

- Change main entry point from app.js to main.js
- Update import paths in media processing files to use relative imports
- Remove .js extensions from import statements
- Refactor import statements for logger, video validation, and media-related modules

+10 -11
+1 -2
package.json
··· 2 2 "name": "instagramtobluesky", 3 3 "version": "0.3.0", 4 4 "description": "Import Instagram archive to a Bluesky account", 5 - "type": "module", 6 - "main": "app.js", 5 + "main": "main.js", 7 6 "engines": { 8 7 "node": ">=20.12.0" 9 8 },
+4 -4
src/media/media.test.ts
··· 1 1 import fs from "fs"; 2 2 3 - import { InstagramImageProcessor, InstagramMediaProcessor, InstagramVideoProcessor } from "./media.js"; 4 - import { InstagramExportedPost, VideoMedia, ImageMedia } from "./InstagramExportedPost.js"; 3 + import { InstagramImageProcessor, InstagramMediaProcessor, InstagramVideoProcessor } from "./media"; 4 + import { InstagramExportedPost, VideoMedia, ImageMedia } from "./InstagramExportedPost"; 5 5 6 6 // Mock the file system 7 7 jest.mock("fs", () => ({ ··· 9 9 })); 10 10 11 11 // Mock the logger 12 - jest.mock("@logger/logger", () => ({ 12 + jest.mock("../logger/logger", () => ({ 13 13 logger: { 14 14 error: jest.fn(), 15 15 warn: jest.fn(), ··· 19 19 })); 20 20 21 21 // Mock the video validation 22 - jest.mock("../src/video", () => ({ 22 + jest.mock("../video/video", () => ({ 23 23 validateVideo: jest.fn().mockReturnValue(true) 24 24 })); 25 25
+5 -5
src/media/media.ts
··· 1 1 import FS from "fs"; 2 2 3 - import { logger } from "@logger/logger.js"; 4 - import { validateVideo } from "@video/video.js"; 5 - import { ProcessedPost, ProcessedPostImpl } from "./ProcessedPost.js"; 3 + import { logger } from "../logger/logger"; 4 + import { validateVideo } from "../video/video"; 5 + import { ProcessedPost, ProcessedPostImpl } from "./ProcessedPost"; 6 6 import { 7 7 MediaProcessResult, 8 8 ImageMediaProcessResultImpl, 9 9 VideoMediaProcessResultImpl, 10 - } from "./MediaProcessResult.js"; 10 + } from "./MediaProcessResult"; 11 11 import { 12 12 ImageMedia, 13 13 InstagramExportedPost, 14 14 Media, 15 15 VideoMedia, 16 - } from "./InstagramExportedPost.js"; 16 + } from "./InstagramExportedPost"; 17 17 // TODO make a stratgey pattern for video versus image 18 18 const MAX_IMAGES_PER_POST = 4; 19 19 const POST_TEXT_LIMIT = 300;