Socket
Socket
Sign inDemoInstall

@nexssp/file

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nexssp/file

File handling for Nexss Programmer


Version published
Weekly downloads
19
increased by280%
Maintainers
1
Weekly downloads
 
Created
Source

@nexssp/file

Create/manage files from the templates from over 50 programming languages.

This package use @nexssp/languages to manage templates and language programming definitions..

Note

This Nexss Programmer's plugin is the effect of the refactoring the Nexss Programmer @nexssp/cli which development has been started in 2018. Now this module can be also used as separate program without the Nexss Programmer.

Install

npm i -g @nexssp/file

Now you can use nexssp-file.

Usage

Add Commands

Templates are downloaded based on the extension passed to the nexss file add command.

# Below is the same as nexss programmer's `nexss file add myfile.js` or just `nexss f a myfile.js`
nexssp-file add myfile.js

Just more here from Nexss Programmers docs:

nexss file list # list files for actual project (the same as nexss f l)
nexss file add # add file with selection

# Predefined templates (which appears on the list) are passed without extension:
nexss file add myfile.js --template helloWorld

# Absolute paths needs to have extension:
nexss file add myfile.js --template c:\templates\template1.js

nexssProgrammer-SelectTemplateExampleCLI

File Templates - Languages configuration

Languages configuration are in the c:/Users/<yourusername>/.nexss/languages/

Sometimes template file needs extra libraries or files or commands to run. You can do this by creating the file (as example below) and specify:

  • files: Array ["folder/file","file.ext"] - files to copy
  • commands: Array ["mv source dest","ps"] - commands to run after files are copied
  • repos: Array this is just to keep repositories (nothing is run)
  • descriptions: Array - displays messages after file is added

Example: Template is name Default.ahk, so below file with config for the template is called Default.ahk.js

const config = {
  files: ['3rdPartyLibraries/JSONParser.ahk'],
  commands: ['ls -la', 'some second command'],
  repos: ['https://github.com/dbohdan/jimhttp'],
  descriptions: ['This information will be displayed after all files are copied and commands run.'],
}

module.exports = config

You also can use conditions like below: (example of Elixir language):

const config = {
  files: ['mix.exs'],
  commands: ['IF exist src (cd src && mv mix.exs ../mix.exs && cd ..) else ( mix deps.get)'],
  repos: [],
  descriptions: ['!!! You may see some warnings at the very first run of your Elixir program.'],
}

Writing own Templates - Default and HelloWorld

Nexss Programmer uses JSON as interchange format between languages. To use fully Nexss Programmer features like Nexss Programmer projects programming language needs to have: Default and HelloWorld. (Most of the Nexss Programmer's languages already have implemented)

  • Default - Just passing data and adding extra item in JSON "test" with value of "test"
  • Hello World - Adding field HelloFrom: Version of the language

Development and Test of the Default and Hello World templates

Default
# Default
nexss file add myfile.cpp --t=Default # This creates file from template Default

(This below only works on Nexss Programmer and it is not a part of the @nexssp/languages)
nexss myfile.cpp # and this should give kind of output (below C++):
{"start":1578507572953,"cwd":"C:\\xdata\\1\\1234","debug":true,"_":[],"outputCPP":"Hello from C++ 17!"}

Keywords

FAQs

Package last updated on 02 Apr 2022

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc