npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sakke

v5.0.0

Published

Webpack and Babel wrapper for Sakke WordPress Themes

Downloads

15

Readme

sakke npm package

Small wrapper for Webpack, Babel and various Webpack loaders for Valu Digital Sakke projects.

Features

  • JavaScript / TypeScript / JSX Transpiling
  • CSS importing
  • SVG importing
  • Build-in Webpack Dev Server with https
  • Automatically reads sakke.json
  • Automatically loads entry points from assets/scripts
  • Output is written to dist/scripts with a manifest.json file
  • jQuery imports are aliased to the global jQuery
  • Ability analyze the js bundle contents

Install

npm install sakke

HTTPS

This tool uses https and you must point SAKKE_CA, SAKKE_CERT and SAKKE_KEY environment variables to localhost certificate.

Config

Create sakke.config.js:

/** @type {import("sakke").Config} */
const config = {
    // babelPlugins: [],
    // webpackPlugins: [],
    // webpackRules: [],
    // compileNodeModules: [],
};

module.exports = config;

The type comment is just to help the editor autocomplete.

CLI Usage

Dev mode

Run Wepback Dev Server, SASS watcher, live reload etc.

sakke dev

Build For Production

sakke build

Deploy

To production

sakke deploy-production

Staging

sakke deploy-staging

JS

JS specific tasks

Build for production

sakke js --production

Develop with the dev server

sakke js --serve

Analyze bundle contents

sakke js --analyze

CSS

Build CSS from SASS

sakke css

Legacy Gulp task

Run any legacy gulp task with

sakke gulp [task name]

Importing Webpack

If you need to customize the Webpack plugins you must import it from sakke/webpack to ensure correct version is used.

Example

const webpack = require("sakke/webpack");

/** @type {import("sakke").Config} */
const config = {
    webpackPlugins: [
        new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /fi|en/),
    ],
};

module.exports = config;

Changing webpack publicPath

This is needed when sakke build tool is used outside of WP theme context:

In sakke.json

{
  "publicPath": "/wp-content/plugins/my-plugin/dist/scripts/"
}

Migrating from @valu/webpack-config

Ensure the project package "name" is not "sakke" in the package.json file.

Remove the wepback config package and other build packages

npm uninstall @valu/webpack-config @epeli/webpack-config cssnano gulp gulp-cssnano gulp-imagemin gulp-livereload gulp-postcss gulp-sass imagemin-pngcrush autoprefixer terser find-process

Install the new package and refresh the lock file

npm install sakke
rm -rf node_modules package-json.lock
npm install

Remove gulpfile(s)

rm -f gulpfile.js sakke-lib/gulpfile.js

Remove old jquery proxy

rm assets/scripts/lib/jquery.js

Other old crap too if present

rm -rf sakke-lib/tools sakke-lib/package*

Create sakke.config.js and copy babelPlugins, webpackPlugins and compileNodeModules, webpackRules fields from webpack.config.js if applicable.

Remove webpack.config.js

rm webpack.config.js

Fix scripts in package.json. Mostly just replace gulp with sakke since there is no gulp directly in the project anymore.