Back to skills
extension
Category: Development & EngineeringNo API key required

import-conventions

Import conventions and ordering rules. Use when writing imports or organizing import statements. Enforces explicit named imports, never wildcards.

personAuthor: jakexiaohubgithub

Import Conventions

Explicit Named Imports

ALWAYS use explicit named imports. NEVER use wildcard imports.

// CORRECT
import {Stack, Duration, RemovalPolicy} from 'aws-cdk-lib';
import {Bucket, BucketEncryption, BlockPublicAccess} from 'aws-cdk-lib/aws-s3';
import {Function, Runtime, Code} from 'aws-cdk-lib/aws-lambda';

// INCORRECT - Never do this
import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';

Import Order

Organize imports in this order:

  1. Node.js built-in modules
  2. External dependencies (@aws-sdk/*, third-party)
  3. AWS CDK (constructs, aws-cdk-lib)
  4. Internal monorepo packages (@cdk-constructs/*)
  5. Local imports (./, ../)
import {readFileSync} from 'fs';

import {SecretsManagerClient} from '@aws-sdk/client-secrets-manager';

import {Construct} from 'constructs';
import {Stack, Duration} from 'aws-cdk-lib';
import {Bucket} from 'aws-cdk-lib/aws-s3';

import {Account, Region, Environment} from '@cdk-constructs/aws';
import {CodeArtifactStackProps} from '@cdk-constructs/codeartifact';

import {MyLocalType} from './types/my-types';

Workspace Package Imports

When importing from workspace packages, use the package name:

// CORRECT
import {Account, Region} from '@cdk-constructs/aws';
import {createCodeArtifact} from '@cdk-constructs/codeartifact';

// INCORRECT - Don't use relative paths to packages
import {Account} from '../../packages/aws/src';