Skip to content

Commit

Permalink
initial commit from skpm
Browse files Browse the repository at this point in the history
  • Loading branch information
skpm-bot authored and pranusarna94 committed Mar 27, 2018
0 parents commit 33e215f
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .gitignore
@@ -0,0 +1,13 @@
# build artifacts
plugin.sketchplugin

# npm
node_modules
.npm
npm-debug.log

# mac
.DS_Store

# WebStorm
.idea
73 changes: 73 additions & 0 deletions README.md
@@ -0,0 +1,73 @@
# perfecto

_This plugin was created using `skpm`. For a detailed explanation on how things work, checkout the [skpm Readme](https://github.com/skpm/skpm/blob/master/README.md)._

## Usage

Install the dependencies

```bash
npm install
```

Once the installation is done, you can run some commands inside the project folder:

```bash
npm run build
```

To watch for changes:

```bash
npm run watch
```

Additionally, if you wish to run the plugin every time it is built:

```bash
npm run start
```

## Custom Configuration

### Babel

To customize Babel, you have two options:

* You may create a [`.babelrc`](https://babeljs.io/docs/usage/babelrc) file in your project's root directory. Any settings you define here will overwrite matching config-keys within skpm preset. For example, if you pass a "presets" object, it will replace & reset all Babel presets that skpm defaults to.

* If you'd like to modify or add to the existing Babel config, you must use a `webpack.skpm.config.js` file. Visit the [Webpack](#webpack) section for more info.

### Webpack

To customize webpack create `webpack.skpm.config.js` file which exports function that will change webpack's config.

```js
/**
* Function that mutates original webpack config.
* Supports asynchronous changes when promise is returned.
*
* @param {object} config - original webpack config.
* @param {boolean} isPluginCommand - wether the config is for a plugin command or a resource
**/
module.exports = function (config, isPluginCommand) {
/** you can change config here **/
}
```

## Debugging

To view the output of your `console.log`, you have a few different options:

* Use the [`sketch-dev-tools`](https://github.com/skpm/sketch-dev-tools)
* Open `Console.app` and look for the sketch logs
* Look at the `~/Library/Logs/com.bohemiancoding.sketch3/Plugin Output.log` file

Skpm provides a convenient way to do the latter:

```bash
skpm log
```

The `-f` option causes `skpm log` to not stop when the end of logs is reached, but rather to wait for additional data to be appended to the input

Binary file added assets/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions package.json
@@ -0,0 +1,25 @@
{
"name": "perfecto",
"version": "0.1.0",
"engines": {
"sketch": ">=3.0"
},
"skpm": {
"name": "perfecto",
"manifest": "src/manifest.json",
"main": "plugin.sketchplugin",
"assets": [
"assets/**/*"
]
},
"scripts": {
"build": "skpm-build",
"watch": "skpm-build --watch",
"start": "skpm-build --watch --run",
"postinstall": "npm run build && skpm-link"
},
"devDependencies": {
"@skpm/builder": "^0.4.0"
},
"author": "Pranu Sarna <sarnapranu@gmail.com>"
}
18 changes: 18 additions & 0 deletions src/manifest.json
@@ -0,0 +1,18 @@
{
"compatibleVersion": 3,
"bundleVersion": 1,
"icon": "icon.png",
"commands": [
{
"name": "my-command",
"identifier": "my-command-identifier",
"script": "./my-command.js"
}
],
"menu": {
"title": "perfecto",
"items": [
"my-command-identifier"
]
}
}
3 changes: 3 additions & 0 deletions src/my-command.js
@@ -0,0 +1,3 @@
export default function(context) {
context.document.showMessage("It's alive 🙌")
}

0 comments on commit 33e215f

Please sign in to comment.