~cytrogen/masto-fe

7c1305b3a4ce0ee39aa923a1f1ac604794265b0b — たいち ひ 2 years ago 76264e3
Add TypeScript support for `mastodon` alias and image imports (#24895)

3 files changed, 45 insertions(+), 4 deletions(-)

M app/javascript/mastodon/components/hashtag.jsx
A app/javascript/types/image.d.ts
M tsconfig.json
M app/javascript/mastodon/components/hashtag.jsx => app/javascript/mastodon/components/hashtag.jsx +0 -2
@@ 5,9 5,7 @@ import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { Link } from 'react-router-dom';
// @ts-expect-error
import ShortNumber from 'mastodon/components/short_number';
// @ts-expect-error
import Skeleton from 'mastodon/components/skeleton';
import classNames from 'classnames';


A app/javascript/types/image.d.ts => app/javascript/types/image.d.ts +34 -0
@@ 0,0 1,34 @@
declare module '*.avif' {
  const path: string;
  export default path;
}

declare module '*.gif' {
  const path: string;
  export default path;
}

declare module '*.jpg' {
  const path: string;
  export default path;
}

declare module '*.jpg' {
  const path: string;
  export default path;
}

declare module '*.png' {
  const path: string;
  export default path;
}

declare module '*.svg' {
  const path: string;
  export default path;
}

declare module '*.webp' {
  const path: string;
  export default path;
}

M tsconfig.json => tsconfig.json +11 -2
@@ 7,7 7,16 @@
    "noEmit": true,
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true
    "skipLibCheck": true,
    "baseUrl": "./",
    "paths": {
      "mastodon": ["app/javascript/mastodon"],
      "mastodon/*": ["app/javascript/mastodon/*"]
    }
  },
  "include": ["app/javascript/mastodon", "app/javascript/packs"]
  "include": [
    "app/javascript/mastodon",
    "app/javascript/packs",
    "app/javascript/types"
  ]
}