New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

penport

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

penport

Export themes from Penpot design files and generate CSS output

latest
npmnpm
Version
0.1.2
Version published
Maintainers
1
Created
Source

Penport - Automated Design Token Export

npm version

Transform Penpot designs into production-ready CSS and Tailwind configurations.

Penport eliminates manual design token management by automatically extracting typography and color systems from Penpot files and generating clean, consistent CSS or Tailwind configurations.

penport export --format tailwind
# Generates complete Tailwind config from your Penpot design system

Why Penport?

There is no real easy way to extract your design tokens from Penpot. Design systems drift out of sync, leading to inconsistencies and wasted developer time. There is penpot-export, but it just takes so much set up, I don't understand it. Tool should be as easy as possible.

Penport automates the entire process, ensuring your codebase always reflects your latest design decisions. Note that if your colors and/or typographies are not saved as assets, this tool will not extract them for you.

Key Benefits

  • Automated Extraction - Pull design tokens with a single command
  • Perfect Synchronization - CSS automatically matches your designs
  • Multiple Output Formats - Generate pure CSS or Tailwind configurations
  • API Integration - Works with local files or live Penpot projects

Quick Start

# Installation
npm install --save-dev penport

# Configuration
penport init
# Follow the prompts to configure your Penpot connection

# Export your design tokens
penport export
# Generates CSS file with your design system

Configuration

penport init

This command guides you through configuration by prompting for your Penpot file URL and access token.

Usage

Export Commands

# Standard CSS output
penport export
# Generates CSS custom properties and utility classes

# Tailwind CSS configuration
penport export --format tailwind  
# Creates tailwind.config.js and utility CSS

# Custom output paths
penport export --format tailwind \
  --config-output my-theme.config.js \
  --css-output my-styles.css

Output Examples

CSS Output

/* ✨ Generated automatically from your Penpot file */
:root {
  --color-primary: #3b82f6;
  --color-primary-50: rgba(59, 130, 246, 0.05);
  --typography-heading-font-family: 'Inter';
  --typography-heading-font-size: 2rem;
  --typography-heading-font-weight: 700;
  --typography-heading-line-height: 1.2;
}

.typography-heading {
  font-family: var(--typography-heading-font-family);
  font-size: var(--typography-heading-font-size);
  font-weight: var(--typography-heading-font-weight);
  line-height: var(--typography-heading-line-height);
}

Or Tailwind

// tailwind.config.js - Perfect for your workflow
module.exports = {
  theme: {
    extend: {
      colors: {
        primary: {
          DEFAULT: '#3b82f6',
          50: 'rgba(59, 130, 246, 0.05)'
        }
      },
      fontFamily: {
        heading: ['Inter', 'sans-serif']
      },
      fontSize: {
        'heading': ['2rem', { lineHeight: '1.2', fontWeight: '700' }]
      }
    }
  }
}

⚙️ Requirements

  • Node.js 16+
  • pnpm 10.12.1+
  • TypeScript 5.8+

Keywords

penpot

FAQs

Package last updated on 23 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts