strothj / react-docgen-typescript-loader

Webpack loader to generate docgen information from Typescript React components.
Other
360 stars 47 forks source link

Can I use inline loader? #46

Open guoyunhe opened 5 years ago

guoyunhe commented 5 years ago

button-page.tsx

import docsInfo from "!!react-docgen-typescript-loader!../../../../../core/button.tsx";

button.tsx

import "acux/core/button.css";
import classNames from "classnames";
import * as React from "react";
import { Component } from "react";

export interface ButtonProps
  extends React.DetailedHTMLProps<
    React.ButtonHTMLAttributes<HTMLButtonElement>,
    HTMLButtonElement
  > {
  size?: string;
  variant?: string;
  iconLeft?: React.ReactNode;
  /** Right icon */
  iconRight?: React.ReactNode;
}

/** Button element */
export default class Button extends Component<ButtonProps> {
  render() {
    const {
      className,
      children,
      size,
      variant,
      iconLeft,
      iconRight,
      ...rest
    } = this.props;
    return (
      <button
        className={classNames(
          "ac-button",
          size && "ac-button--size-" + size,
          variant && "ac-button--variant-" + variant,
          className
        )}
        {...rest}
      >
        {iconLeft && (
          <span className="ac-button__icon ac-button__icon--left">
            {iconLeft}
          </span>
        )}
        {children}
        {iconRight && (
          <span className="ac-button__icon ac-button__icon--right">
            {iconRight}
          </span>
        )}
      </button>
    );
  }
}

Get webpack error:

ERROR in ./core/button.tsx (./node_modules/react-docgen-typescript-loader/dist!./core/button.tsx) 6:7
Module parse failed: Unexpected token (6:7)
You may need an appropriate loader to handle this file type.
| import { Component } from "react";
| 
> export interface ButtonProps
|   extends React.DetailedHTMLProps<
|     React.ButtonHTMLAttributes<HTMLButtonElement>,
 @ ./docs/pages/components/core/button/button-page.tsx 14:0-87 21:12-20 31:69-77
 @ ./docs/routes.ts
 @ ./docs/demo.tsx
 @ ./docs/index.tsx
AlexisVK commented 4 years ago

Hello. Any updates on that?