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

grunt-concrete-package-uploader

v1.1.1

Published

Automatically deploy packages to concrete5.org

Downloads

23

Readme

grunt-concrete-package-uploader

Automatically deploy packages to concrete5.org

This grunt plug-in automatically deploys concrete5 themes + add-ons to the cocnrete5.org Marketplace. This plugin allows to upload complety new packages and also to update existing packages.

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-concrete-package-uploader --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-concrete-package-uploader');

The "concrete_package_uploader" task

Overview

In your project's Gruntfile, add a section named concrete_package_uploader to the data object passed into grunt.initConfig().

grunt.initConfig({
  concrete_package_uploader: {
    // Task-specific options go here.
  },
});

Options

credentials.username

Type: String

Default value: ``

Required: Yes

Username of your concrete5.org user account.

credentials.password

Type: String

Default value: ``

Required: Yes

Password of your concrete5.org user account.

packageInformations.productType

Type: String

Default value: add_on

Required: Yes

You can use on of these values:

| Value | |--------| | add_on | | theme |

packageInformations.packageHandle

Type: String

Default value: (Empty)

Required: Yes

packageInformations.shortDescription

Type: String

Default value: (Empty)

Required: Yes

packageInformations.description

Type: String

Default value: (Empty)

Required: Yes

packageInformations.keywords

Type: String

Default value: (Empty)

Required: Yes

packageInformations.exampleUrl

Type: String

Default value: (Empty)

Required: No

packageInformations.screencast

Type: String

Default value: (Empty)

Required: No

packageInformations.dependencies

Type: Array

Default value: (Empty)

Required: No

Array with marketplace ids of required add-ons.

packageInformations.singlePrice

Type: Number

Default value: 0

Required: Yes

Leave this 0 for free or at least $15.

packageInformations.fivePrice

Type: Number

Default value: 0

Required: Yes

If you set a single price and leave this field empty this field will be the quadruple of the single price.

packageInformations.purchaseMessage

Type: String

Default value: Thank you for your purchase. If you take the time to submit a review, I'd love to give you a 10% discount on the next copy of this you purchase.

Required: Yes

packageInformations.requiredVersion

Type: String

Default value: 5.7.0.4

Required: Yes

You can use one of the following values:

| Value | |----------| | 5.7.0.4 | | 5.7.1 | | 5.7.2 | | 5.7.2.1 | | 5.7.3 | | 5.7.3.1 | | 5.7.4 | | 5.7.4.1 | | 5.7.4.2 | | 5.7.5 | | 5.7.5.1 | | 5.7.5.10 | | 5.7.5.11 | | 5.7.5.12 | | 5.7.5.13 | | 5.7.5.2 | | 5.7.5.3 | | 5.7.5.4 | | 5.7.5.5 | | 5.7.5.6 | | 5.7.5.7 | | 5.7.5.8 | | 5.7.5.9 | | 8.0.0 | | 8.0.1 | | 8.0.2 | | 8.0.3 | | 8.1.0 | | 8.2.0 | | 8.2.1 |

packageInformations.version

Type: String

Default value: 1.0

Required: No

Before submitting to marketplace version number should be 0.9.

packageInformations.packageFile

Type: String

Default value: (Empty)

Required: Yes

Expects a file path.

packageInformations.licenseType

Type: String

Default value: Standard

Required: Yes

You can use one of the following values:

| Value | |----------| | Standard | | MIT | | GPL | | Custom |

packageInformations.licenseText

Type: String

Default value: (Empty)

Required: No

This field is only required when you have setted the license type to "Custom".

packageInformations.supportPlan

Type: Number

Default value: 1

Required: Yes

You can use one of the following values:

| Name | Value | |----------------------------------------------|-------| | No | 1 | | Replies tickets once a week. | 8 | | Replies tickets every few days. | 12 | | Replies tickets every business day. | 16 | | Give me access and i will login to your site | 50 |

packageInformations.supportHostedOffsite

Type: Boolean

Default value: false

Required: Yes

packageInformations.supportHostedOffsiteUrl

Type: String

Default value: (Empty)

Required: No

packageInformations.offersPaidSupport

Type: String

Default value: (Empty)

Required: Yes

packageInformations.supportPrice

Type: Number

Default value: (Empty)

Required: No

packageInformations.pageTypes

Type: String

Default value: (Empty)

Required: No

Only required for themes.

packageInformations.customizableStyles

Type: Boolean

Default value: false

Required: No

Only required for themes.

packageInformations.skillLevel

Type: String

Default value: Beginner

Required: Yes

You can use one of the following values:

| Name | |---------------| | Beginner | | Intermediate | | Expert | | Bleeding Edge |

packageInformations.containsPageTypes

Type: String

Default value: (Empty)

Required: No

Only required for themes.

packageInformations.versionHistory

Type: String

Default value: (Empty)

Required: No

packageInformations.themeThumbnail

Type: String

Default value: (Empty)

Required: No

Only required for themes. Expects a file path.

packageInformations.notes

Type: String

Default value: (Empty)

Required: No

packageInformations.screenshots

Type: Array

Default value: (Empty)

Required: No

Expects an array of file pathes.

packageInformations.categories

Type: Array

Default value: (Empty)

Required: Yes

For add-ons you can use 1-3 values of the following table:

| Name | Value | |-------------------------|-------| | Applications | 16 | | Audience Contribution | 44 | | Custom Templates | 1404 | | Developer Tools | 1273 | | Digital Asset Managment | 15 | | eCommerce | 43 | | Image Galleries | 42 | | Image Sliders | 49 | | Interface Elements | 41 | | Multimedia | 50 | | SEO and Statistics | 49 | | Social Networking | 51 | | SPAM Captcha | 12590 | | System Utilities | 45 |

For themes you can use 1-3 values of the following table:

| Name | Value | |----------------------|-------| | Artistic | 18 | | Gritty | 19 | | Colorful | 20 | | Corporate | 52 | | eCommerce | 472 | | Real Estate | 1997 | | Clean | 2433 | | Portfolio and Design | 2536 | | Photographer | 2537 | | HTML5 and CSS3 | 2538 | | Photo Background | 7154 | | Blog | 7156 | | Magazine | 7157 | | Retail | 7158 | | Technology | 7159 | | Non Profit | 7160 | | Entertainment | 7161 | | Mobile | 7163 | | Framework | 7164 | | Bright | 7165 | | Dark | 7166 | | Elegant | 7167 | | Education | 7168 | | Responsive | 12489 |

Usage Example

grunt.config.init({
	concrete_package_uploader: {
		credentials: {
			username: "your_username",
			password: "your_password"
		},

		packageInformations: {
			packageHandle: "your_package_handle",
			packageFile: "build/your_package_file.zip",
			title: "My package",
			version: '0.9.0',
			singlePrice: 15,
			keywords: 'some, keywords',
			shortDescription: 'This is a short description.',
			description: 'This is a long description.',
			categories: [16, 50],
			screenshots: ["screenshots/1.png", "screenshots/2.png"]
		}
	}
});

grunt.registerTask('default', ['concrete_package_uploader']);