8.0.0 • Published 1 month ago

@swc/plugin-relay v8.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 month ago

@swc/plugin-relay

Setup

npm install --save-dev @swc/plugin-relay @swc/core

Example

The below shows how to configure @swc/plugin-relay and pass the options to Webpack:

Create an .swcrc.js file like the below:

// .swcrc.js

module.exports = {
  jsc: {
    experimental: {
      plugins: [
        [
          "@swc/plugin-relay",
          {
            rootDir: __dirname,
            artifactDirectory: "src/__generated__",
            language: "typescript",
            eagerEsModules: true,
          },
        ],
        // Or if you want to use multiple projects
        [
          "@swc/plugin-relay",
          {
            projects: [
              {
                rootDir: path.resolve(__dirname, '../project1'),
              },
              {
                rootDir: path.resolve(__dirname, '../project2'),
              }
            ],
            language: "typescript",
            eagerEsModules: true,
          },
        ],
      ],
    },
    parser: {
      syntax: "typescript",
      tsx: true,
    },
    transform: {
      react: {
        runtime: "automatic",
      },
    },
  },
};

And then update your swc-loader Webpack config:

const swcConfig = require("./.swcrc.js")

// ...

{
  include: path.resolve("./src"),
  test: /\.ts$/,
  use: [
    {
      loader: "swc-loader",
      options: swcConfig,
    },
  ],
}

Note: We're using a .swcrc.js file extension up above and importing the config directly because Relay needs access to __dirname, which can't be derived from the default JSON parsed from .swcrc.

Output import paths

By default, @swc/plugin-relay will transpile import paths based on the language option. You can use outputFileExtension to change the file extension of the generated import paths.

plugins: [
    [
        "@swc/plugin-relay",
        {
            rootDir: __dirname,
            artifactDirectory: "src/__generated__",
            language: "typescript",
            eagerEsModules: true,
            outputFileExtension: "js",
        },
    ],
],

In this example typescript graphql files will output transpiled import path of javascript ending with .js.

${CHANGELOG}

7.0.4

2 months ago

7.0.3

3 months ago

7.0.2

3 months ago

7.0.1

3 months ago

8.0.0

1 month ago

7.0.0

5 months ago

6.1.0

6 months ago

6.2.0

5 months ago

6.3.2

5 months ago

5.0.3

7 months ago

5.0.1

8 months ago

5.0.0

8 months ago

6.0.1

7 months ago

6.0.3

6 months ago

6.0.2

7 months ago

6.0.4

6 months ago

4.0.0

8 months ago

3.0.3

9 months ago

3.0.2

10 months ago

2.0.7

1 year ago

2.0.9

1 year ago

2.0.8

1 year ago

3.0.1

10 months ago

3.0.0

11 months ago

2.0.15

11 months ago

2.0.13

12 months ago

2.0.14

11 months ago

2.0.11

1 year ago

2.0.12

12 months ago

2.0.10

1 year ago

2.0.6

1 year ago

2.0.5

1 year ago

2.0.4

1 year ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.6.0

1 year ago

1.5.122

1 year ago

1.5.121

1 year ago

1.5.119

1 year ago

1.5.118

1 year ago

1.5.117

1 year ago

1.5.116

1 year ago

1.5.115

1 year ago

1.5.114

1 year ago

1.5.113

1 year ago

1.5.111

1 year ago

1.5.109

1 year ago

1.5.110

1 year ago

1.5.108

2 years ago

1.5.105

2 years ago

1.5.104

2 years ago

1.5.103

2 years ago

1.5.102

2 years ago

1.5.101

2 years ago

1.5.100

2 years ago

1.5.99

2 years ago

1.5.70

2 years ago

1.5.72

2 years ago

1.5.71

2 years ago

1.5.74

2 years ago

1.5.73

2 years ago

1.5.76

2 years ago

1.5.75

2 years ago

1.5.78

2 years ago

1.5.77

2 years ago

1.5.81

2 years ago

1.5.80

2 years ago

1.5.83

2 years ago

1.5.82

2 years ago

1.5.84

2 years ago

1.5.87

2 years ago

1.5.86

2 years ago

1.5.69

2 years ago

1.5.92

2 years ago

1.5.94

2 years ago

1.5.93

2 years ago

1.5.96

2 years ago

1.5.95

2 years ago

1.5.98

2 years ago

1.5.97

2 years ago

1.5.68

2 years ago

1.5.63

2 years ago

1.5.62

2 years ago

1.5.67

2 years ago

1.5.66

2 years ago

1.5.45

2 years ago

1.5.47

2 years ago

1.5.46

2 years ago

1.5.49

2 years ago

1.5.48

2 years ago

1.5.50

2 years ago

1.5.52

2 years ago

1.5.51

2 years ago

1.5.56

2 years ago

1.5.55

2 years ago

1.5.58

2 years ago

1.5.57

2 years ago

1.5.59

2 years ago

1.5.61

2 years ago

1.5.60

2 years ago

1.5.43

2 years ago

1.5.42

2 years ago

1.5.41

2 years ago

1.5.40

2 years ago

1.5.30

3 years ago

1.5.32

3 years ago

1.5.34

3 years ago

1.5.33

3 years ago

1.5.36

2 years ago

1.5.35

3 years ago

1.5.38

2 years ago

1.5.37

2 years ago

1.5.39

2 years ago

1.5.29

3 years ago

1.5.5

3 years ago

1.5.4

3 years ago

1.5.2

3 years ago

1.5.0

3 years ago

1.5.10

3 years ago

1.5.11

3 years ago

1.5.14

3 years ago

1.5.16

3 years ago

1.5.15

3 years ago

1.5.18

3 years ago

1.5.17

3 years ago

1.5.21

3 years ago

1.5.9

3 years ago

1.5.20

3 years ago

1.5.8

3 years ago

1.5.7

3 years ago

1.5.6

3 years ago

1.5.25

3 years ago

1.5.27

3 years ago

1.5.26

3 years ago

1.3.0

3 years ago

1.2.12

3 years ago

1.2.10

3 years ago

1.2.11

3 years ago

1.2.7

3 years ago

1.2.9

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

0.3.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.2.0

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.0

3 years ago