Skip to content

Commit

Permalink
Extract types and util into core package
Browse files Browse the repository at this point in the history
  • Loading branch information
simonihmig committed Apr 25, 2024
1 parent 4f08490 commit 255b904
Show file tree
Hide file tree
Showing 18 changed files with 77 additions and 57 deletions.
1 change: 1 addition & 0 deletions packages/cloudinary/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"@babel/core": "7.24.4",
"@babel/plugin-transform-typescript": "7.24.4",
"@babel/runtime": "7.24.4",
"@ember-responsive-image/core": "workspace:*",
"ember-responsive-image": "workspace:*",
"@embroider/addon-dev": "4.3.1",
"@glimmer/component": "1.1.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ import { assert } from '@ember/debug';
import { getOwnConfig } from '@embroider/macros';
import type { CloudinaryConfig } from '../types.ts';

import type {
ResponsiveImageService,
ImageType,
ImageData,
} from 'ember-responsive-image';
import type { ResponsiveImageService } from 'ember-responsive-image';

import type { ImageType, ImageData } from '@ember-responsive-image/core';

interface CloudinaryOptions {
transformations?: string;
Expand Down
4 changes: 3 additions & 1 deletion packages/core/rollup.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ export default {
},

plugins: [
babel(),
babel({
extensions: ['.js', '.ts'],
}),

// Copy Readme and License into published package
copy({
Expand Down
3 changes: 2 additions & 1 deletion packages/core/src/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
// export type * from './types.ts';
export type * from './types.ts';
export { findMatchingImage } from './match.ts';
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { ImageOutputResult, ImageType } from '../types.ts';
import type { ImageOutputResult, ImageType } from './types.ts';

export function findMatchingImage(
images: ImageOutputResult[],
Expand Down
37 changes: 37 additions & 0 deletions packages/core/src/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
export type ImageType = 'png' | 'jpeg' | 'webp' | 'avif';

export interface LqipBase {
type: string;
}

export interface LqipInline extends LqipBase {
type: 'inline';
class: string;
}

export interface LqipColor extends LqipBase {
type: 'color';
class: string;
}

export interface LqipBlurhash extends LqipBase {
type: 'blurhash';
hash: string;
width: number;
height: number;
}

export interface ImageData {
imageTypes: ImageType[];
availableWidths?: number[];
aspectRatio?: number;
imageUrlFor(width: number, type?: ImageType): string;
fingerprint?: string;
lqip?: LqipInline | LqipColor | LqipBlurhash;
}

export interface ImageOutputResult {
url: string;
width: number;
format: ImageType;
}
1 change: 1 addition & 0 deletions packages/ember-responsive-image/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"prepack": "rollup --config"
},
"dependencies": {
"@ember-responsive-image/core": "workspace:^",
"@ember/render-modifiers": "^2.0.0",
"@embroider/addon-shim": "^1.8.7",
"@embroider/macros": "^1.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ import { assert } from '@ember/debug';
import { cached, tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import { macroCondition, dependencySatisfies } from '@embroider/macros';
import type { ImageType, LqipBlurhash, ImageData } from '../types.ts';
import type {
ImageType,
LqipBlurhash,
ImageData,
} from '@ember-responsive-image/core';

import './responsive-image.css';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { inject as service } from '@ember/service';
import { htmlSafe } from '@ember/template';
import Helper from '@ember/component/helper';
import ResponsiveImageService from '../services/responsive-image.ts';
import type { ImageType, ImageData } from '../types.ts';
import type { ImageType, ImageData } from '@ember-responsive-image/core';

interface ResponsiveImageResolveSignature {
Args: {
Expand Down
2 changes: 0 additions & 2 deletions packages/ember-responsive-image/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
export { default as ResponsiveImage } from './components/responsive-image.ts';
export { default as ResponsiveImageService } from './services/responsive-image.ts';
export { default as resolve } from './helpers/responsive-image-resolve.ts';
export * from './types.ts';
export { findMatchingImage } from './utils/match.ts';
37 changes: 0 additions & 37 deletions packages/ember-responsive-image/src/types.ts

This file was deleted.

1 change: 1 addition & 0 deletions packages/imgix/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"@babel/core": "7.24.4",
"@babel/plugin-transform-typescript": "7.24.4",
"@babel/runtime": "7.24.4",
"@ember-responsive-image/core": "workspace:*",
"ember-responsive-image": "workspace:*",
"@embroider/addon-dev": "4.3.1",
"@glimmer/component": "1.1.2",
Expand Down
8 changes: 3 additions & 5 deletions packages/imgix/src/helpers/responsive-image-imgix-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ import { assert } from '@ember/debug';
import { getOwnConfig } from '@embroider/macros';
import type { ImgixConfig } from '../types.ts';

import type {
ResponsiveImageService,
ImageType,
ImageData,
} from 'ember-responsive-image';
import type { ResponsiveImageService } from 'ember-responsive-image';

import type { ImageType, ImageData } from '@ember-responsive-image/core';

interface ImgixProviderSignature {
Args: {
Expand Down
1 change: 1 addition & 0 deletions packages/webpack/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"prepack": "rollup --config"
},
"dependencies": {
"@ember-responsive-image/core": "workspace:^",
"base-n": "^3.0.0",
"loader-utils": "^3.2.0",
"sharp": "^0.33.0"
Expand Down
5 changes: 4 additions & 1 deletion packages/webpack/src/export.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import type { ImageOutputResult, ImageType } from 'ember-responsive-image';
import type {
ImageOutputResult,
ImageType,
} from '@ember-responsive-image/core';
import { interpolateName } from 'loader-utils';
import * as path from 'path';
import type { LoaderContext } from 'webpack';
Expand Down
2 changes: 1 addition & 1 deletion packages/webpack/src/images.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { ImageType } from 'ember-responsive-image';
import type { ImageType } from '@ember-responsive-image/core';
import type { Metadata, Sharp } from 'sharp';
import type { LoaderContext } from 'webpack';
import type {
Expand Down
2 changes: 1 addition & 1 deletion packages/webpack/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {
LqipBlurhash,
LqipColor,
LqipInline,
} from 'ember-responsive-image';
} from '@ember-responsive-image/core';
import type { Metadata, Sharp } from 'sharp';

export type OutputImageType = 'original' | ImageType;
Expand Down
12 changes: 12 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 255b904

Please sign in to comment.