Browse Source

Merge pull request #21 from Ultimaker/NP-637

NP-637
pull/22/head
Jelle Spijker 1 year ago committed by GitHub
parent
commit
c1691915c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 43
      extensions/generators/npm.py
  2. 2
      profiles/cura_wasm.jinja

43
extensions/generators/npm.py

@ -1,8 +1,8 @@
import os
import json
from conan import ConanFile
from conan.errors import ConanException
from conan.tools.files import copy, save
from conan.tools.files import copy, mkdir, save
from pathlib import Path
@ -13,18 +13,27 @@ class npm:
def generate(self):
if self._conanfile.settings.os != "Emscripten":
self._conanfile.output.error("Can only deploy to NPM when build for Emscripten")
raise ConanException("Can only deploy to NPM when build for Emscripten")
root_package = [dep for dep in self._conanfile.dependencies.direct_host.values()][0]
# Copy the *.js and *.d.ts
copy(self._conanfile, "*.js", src=root_package.package_folder, dst=self._conanfile.generators_folder)
copy(self._conanfile, "*.d.ts", src=root_package.package_folder, dst=self._conanfile.generators_folder)
# Create the package.json
save(self._conanfile, str(Path(self._conanfile.generators_folder, "package.json")),
json.dumps(root_package.conf_info.get(f"user.{root_package.ref.name.lower()}:package_json")))
# Create the .npmrc file
save(self._conanfile, str(Path(self._conanfile.generators_folder, ".npmrc")),
"//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}\n@ultimaker:registry=https://npm.pkg.github.com\nalways-auth=true")
return
if self._conanfile.display_name == "cli": # We're installing a CLI package from the conan local cache
root_package = [dep for dep in self._conanfile.dependencies.direct_host.values()][0]
src_folder = root_package.package_folder
conf_info = root_package.conf_info
name = root_package.ref.name
# Copy the *.js and *.d.ts
copy(self._conanfile, "*.js", src=src_folder, dst=self._conanfile.generators_folder)
copy(self._conanfile, "*.d.ts", src=src_folder, dst=self._conanfile.generators_folder)
# Create the package.json
save(self._conanfile, str(Path(self._conanfile.generators_folder, "package.json")),
json.dumps(conf_info.get(f"user.{name.lower()}:package_json")))
# Create the .npmrc file
save(self._conanfile, str(Path(self._conanfile.generators_folder, ".npmrc")),
"//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}\n@ultimaker:registry=https://npm.pkg.github.com\nalways-auth=true")
else: # We're generating a package for a development environment
package_json = self._conanfile.python_requires["npmpackage"].module.generate_package_json(self._conanfile,
os.path.join(self._conanfile.cpp.build.bindirs[0], self._conanfile.cpp.build.bin[0]))
save(self._conanfile, str(Path(self._conanfile.build_folder, "package.json")),
json.dumps(package_json))

2
profiles/cura_wasm.jinja

@ -11,7 +11,7 @@ arch=wasm
[conf]
tools.build:skip_test=True
tools.cmake.cmake_layout:build_folder_vars=['settings.os']
user.curator:printers=['ultimaker_sketch','ultimaker_sketch_large','ultimaker_sketch_sprint','ultimaker_method']
user.curator:printers=['ultimaker_sketch','ultimaker_sketch_large','ultimaker_sketch_sprint','ultimaker_method','ultimaker_methodx','ultimaker_methodxl', 'ultimaker_s3']
[options]
curaengine/*:enable_plugins=False

Loading…
Cancel
Save