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

warcraft-vscode

v0.2.9

Published

A Warcraft III map develop toolset

Downloads

23

Readme

warcraft-vscode

This extension is a Warcraft III map development tool set of Lua.

Install

Node.js

Features

  • Compile script
  • Pack map
  • Run map
  • Open world editor
  • Add libraries

Commands

  • Warcraft: Create Project
    • Create a map project for Warcraft III Reforge
  • Warcraft: Create Classic Project
    • Create a map project for Warcraft III Classic
  • Warcraft: Clean Project
    • Remove the .build folder
  • Warcraft: Add Library
    • Add a library for project
  • Warcraft: Compile Script
    • Compile script
  • Warcraft: Pack Map
    • Compile script
    • Pack map to w3x
  • Warcraft: Run Map
    • Compile script
    • Pack map to w3x
    • Run map in Warcraft III
  • Warcraft: Open World Editor
    • Open the map folder with World Editor
  • Warcraft: Toggle Configuration
    • Toggle Configuration between with debug and release

Quick Start

  1. Press F1 in vscode
  2. Input warcraft create and Press Enter to create a Warcraft III map project
  3. Open the project folder and execute the Commands of this extension

Usage

The extension packages all Lua files into single file, Debug and Release behave differently, Debug packages all Lua files in src folder, but Release automatically analyzes dependencies based on the functions require dofile loadfile, so if you call these functions with NON STRING LITERALS, you must explicitly add the list of Lua files to the warcraft.json

warcraft.json

{
    "mapdir": "map.w3x",
    "files": ["main.lua"],
    "jassfile": "",
    "lua.package.path": ["./lib/?.lua", "./lib/?/init.lua"]
}
jassfile - *CLASSIC* Specify the path to the war3map.j file or use it in the map file.

Lua API

The extension implements some APIs in Lua that removed from Warcraft III, These functions are used in the same way as Lua

And added some functions for debug

  • seterrorhandler(func)
  • geterrorhandler()

Macros

There are some macros in lua file.

---Only compile into debug mode
--@debug@
Debug()
--@end-debug@

---Only compile into non debug mode
--@non-debug@
NotDebug()
--@end-non-debug@

---Not compile
--@remove@
OnlyInEditor()
--@end-remove@

---Only Compile into Classic
--@classic@
Classic()
--@end-classic@

--@non-reforge@
Classic()
--@end-non-reforge@

---Only Compile into Reforge
--@reforge@
Reforge()
--@end-reforge

--@non-classic@
Reforge()
--@end-non-classic@

Pack

The extension packages all files in folder named imports and src/lib/*/imports into the map, In Configuration Release, packages the folder named imports.release, In Configuration Debug, it's imports.debug

Libraries

Known Issues

TODOs

  • ~For Release~
  • Use other github users or organizations to add libraries
  • Support compile time
  • Support for macOS

Enjoy!