@gallop.software/studio 2.0.1 → 2.0.2

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/next.config.mjs CHANGED
@@ -8,15 +8,21 @@ const nextConfig = {
8
8
  emotion: true,
9
9
  },
10
10
 
11
- // Disable static generation for this dev tool
12
- experimental: {
13
- // Allow importing from src/ in app/
14
- },
15
-
16
11
  // Environment variables to expose to the client
17
12
  env: {
18
13
  NEXT_PUBLIC_STUDIO_WORKSPACE: process.env.STUDIO_WORKSPACE || process.cwd(),
19
14
  },
15
+
16
+ // Transpile the src folder
17
+ transpilePackages: ['./src'],
18
+
19
+ // Enable SWC minification
20
+ swcMinify: true,
21
+
22
+ // Experimental settings for better TypeScript handling
23
+ experimental: {
24
+ // Improve TypeScript compilation
25
+ },
20
26
  }
21
27
 
22
28
  export default nextConfig
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gallop.software/studio",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Standalone media manager for Gallop templates - upload, process, and sync images to CDN",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
 
3
3
  import { createContext, useContext } from 'react'
4
- import type { FileItem, LeanMeta } from '../types'
4
+ import { FileItem, LeanMeta } from '../types'
5
5
 
6
6
  /**
7
7
  * Error message type for centralized error handling
@@ -5,7 +5,7 @@ import { useState } from 'react'
5
5
  import { css, keyframes } from '@emotion/react'
6
6
  import { useFileList } from '../hooks/useFileList'
7
7
  import { colors, fontSize } from './tokens'
8
- import type { FileItem } from '../types'
8
+ import { FileItem } from '../types'
9
9
 
10
10
  const spin = keyframes`
11
11
  to { transform: rotate(360deg); }
@@ -5,7 +5,7 @@ import { useState } from 'react'
5
5
  import { css, keyframes } from '@emotion/react'
6
6
  import { useFileList } from '../hooks/useFileList'
7
7
  import { colors, fontSize } from './tokens'
8
- import type { FileItem } from '../types'
8
+ import { FileItem } from '../types'
9
9
 
10
10
  const spin = keyframes`
11
11
  to { transform: rotate(360deg); }
@@ -14,7 +14,7 @@ import { ConfirmModal, ProgressModal } from './StudioModal'
14
14
  import { StudioFolderPicker } from './StudioFolderPicker'
15
15
  import { useStudioActions } from './useStudioActions'
16
16
  import { colors, fontSize, baseReset } from './tokens'
17
- import type { FileItem, LeanMeta } from '../types'
17
+ import { FileItem, LeanMeta } from '../types'
18
18
 
19
19
  interface StudioUIProps {
20
20
  onClose?: () => void
@@ -1,8 +1,8 @@
1
1
  'use client'
2
2
 
3
3
  import { useState, useCallback, useRef } from 'react'
4
- import type { ActionState, ProgressState } from './StudioContext'
5
- import type { FileItem } from '../types'
4
+ import { ActionState, ProgressState } from './StudioContext'
5
+ import { FileItem } from '../types'
6
6
 
7
7
  const defaultActionState: ActionState = {
8
8
  showProgress: false,
@@ -2,7 +2,7 @@ import { NextRequest, NextResponse } from 'next/server'
2
2
  import { promises as fs } from 'fs'
3
3
  import path from 'path'
4
4
  import sharp from 'sharp'
5
- import type { MetaEntry } from '../types'
5
+ import { MetaEntry } from '../types'
6
6
  import { getAllThumbnailPaths, isProcessed } from '../types'
7
7
  import {
8
8
  loadMeta,
@@ -8,7 +8,7 @@ import {
8
8
  getMetaEntry,
9
9
  setMetaEntry,
10
10
  } from './utils'
11
- import type { Dimensions } from '../types'
11
+ import { Dimensions } from '../types'
12
12
 
13
13
  /**
14
14
  * Parse an image URL into base URL and path
@@ -1,7 +1,7 @@
1
1
  import { NextRequest, NextResponse } from 'next/server'
2
2
  import { promises as fs } from 'fs'
3
3
  import path from 'path'
4
- import type { FileItem, MetaEntry } from '../types'
4
+ import { FileItem, MetaEntry } from '../types'
5
5
  import { loadMeta, isImageFile, getCdnUrls, getFileEntries } from './utils'
6
6
  import { getThumbnailPath, isProcessed } from '../types'
7
7
  import { getPublicPath, getWorkspacePath } from '../config'
@@ -1,5 +1,5 @@
1
1
  import { promises as fs } from 'fs'
2
- import type { FullMeta, MetaEntry } from '../../types'
2
+ import { FullMeta, MetaEntry } from '../../types'
3
3
  import { getDataPath } from '../../config'
4
4
 
5
5
  export async function loadMeta(): Promise<FullMeta> {
@@ -2,7 +2,7 @@ import { promises as fs } from 'fs'
2
2
  import path from 'path'
3
3
  import sharp from 'sharp'
4
4
  import { encode } from 'blurhash'
5
- import type { MetaEntry, Dimensions } from '../../types'
5
+ import { MetaEntry, Dimensions } from '../../types'
6
6
  import { getPublicPath } from '../../config'
7
7
 
8
8
  export const FULL_MAX_WIDTH = 2560
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useState, useRef, useCallback } from 'react'
2
2
  import { useStudio } from '../components/StudioContext'
3
3
  import { studioApi } from '../lib/api'
4
- import type { FileItem } from '../types'
4
+ import { FileItem } from '../types'
5
5
 
6
6
  /**
7
7
  * Shared hook for file list logic used by both Grid and List views
package/src/lib/api.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Provides type-safe methods for all Studio API endpoints
4
4
  */
5
5
 
6
- import type { FileItem, LeanMeta, LeanImageEntry } from '../types'
6
+ import { FileItem, LeanMeta, LeanImageEntry } from '../types'
7
7
 
8
8
  // Response types
9
9
  interface ListResponse {